Post List

[유니티 엔진] Unity 2D에서 오브젝트를 원하는 방향 으로 이동시키는 법

Unity 2D, 게임 오브젝트를 원하는 방향 으로 이동시키기


Unity 3D 에서는, 오브젝트를 원하는 방향으로 이동시키기 위해 NavMeshAgent를 이용하면 됐습니다. (https://docs.unity3d.com/kr/530/ScriptReference/NavMeshAgent.html)
하지만 Unity 2D 에서는 안타깝게도 NavMeshAgent를 사용하지 못합니다.

따라서 우리는 스크립트로 이동을 시켜 주어야 합니다.

가장 간단한 방법은, Vector2.MoveTowards() 함수를 사용하는 것 입니다.

함수 호출 방법 :

Vector2.MoveTowards( A, B, C); 입니다. C의 속도로 A에서 B로 이동시킨다. 라는 뜻 입니다.
일정 속도로 이동시키기 위해 C에 Time.deltaTime을 곱해주는것도 잊지 않으면 되겠습니다.

소스코드 : 


void Update(){
 // PlayerTr의 위치를 매 프레임마다 spawnPos[randIdx].position의 위치로 가는 방향으로 옮기고, 그 위치를 다시 저장합니다.
 PlayerTr.position = Vector2.MoveTowards(PlayerTr.position, spawnPos[randIdx].position, moveSpeed * Time.deltaTime);

}

댓글