현재 개발중인 게임 프로젝트에서
캐릭터 앞에 장애물이 있을 경우 이동하지 못하도록 개발해야하는 경우가 생겼습니다.
이를 ray를 이용하여 개발하기로 한 것인데요.
캐릭터 오브젝트에서 ray를 쏜 뒤 앞, 양옆에 장애물이 있을 경우 이동을 막는 것입니다.
ray가 어떻게 생성되는 지 아래 코드로 Debug를 통해 찍어본 뒤
Debug.DrawRay(character.transform.position, new Vector3(0.1f, 0, 0));
ray가 장애물과 닿지 않을 경우에만 이동 함수를 호출하도록 했습니다.
if (Physics.Raycast(character.transform.position, (new Vector3(0, 0, 0.1f)), out hit))
{
}
else{
swipeUp = true;
swipeLeft = swipeRight = false;
if (IsOver == 0)
{
oneTime = true;
}
Up();
}
완성!