728x90
반응형
void Move()
{
if(!isBorder)
transform.position += moveVec * speed * (wDown ? 0.1f : 1f) * Time.deltaTime;
void FreezeRotation()
{
rigid.angularVelocity = Vector3.zero;
}
void StopToWall()
{
Debug.DrawRay(transform.position, transform.forward * 5, Color.green);
isBorder = Physics.Raycast(transform.position, transform.forward, 5, LayerMask.GetMask("Wall"));
}
private void FixedUpdate()
{
FreezeRotation();
StopToWall();
}
레이케스트를 이용해 벽을 감지하고 이동을 멈춰 벽뚫림현상을 방지합니다.
어색하지 않도록 감지거리를 조절합니다.
728x90
반응형
'유니티 > AA(3D 쿼터뷰 액션 게임)' 카테고리의 다른 글
AA(21) - 플레이어 추격하는 몬스터 AI 구현 (0) | 2021.09.23 |
---|---|
AA(20) - 수류탄 구현 (0) | 2021.09.23 |
AA(18) - 공격 방향 설정 (1) | 2021.09.17 |
AA(17) - 원거리무기 재장전 (0) | 2021.09.17 |
AA(16) - 원거리무기 공격 구현 (0) | 2021.09.17 |