이번 예제는 간단하게 3D Object인 Plane과 Cube, Sphere를 사용하였으며
스크립트는 Cube에 Ex_05를 Sphere에는 Ex_04(전 예제 스크립트)를 사용하였습니다.
Look At을 이용하면 게임 오브젝트의 앞 방향이 Look At에서 지칭하는 오브젝트를 바라봅니다.
Transform 형식의 변수를 이용하고 transform.LookAt(Transform 변수)를 이용해
변수 오브젝트의 위치를 바라보라고 명령을 내리게 됩니다.
이번에는 실행 화면을 먼저 볼까요?
Sphere을 움직이면 Cube는 Sphere을 바라보며 따라오게 됩니다. 여기서 Cube의 Rigidbody 속성에서 Use Gravity를 체크하느냐 안 하느냐에 따라 조금 더 다양한 예제들을 만들어볼 수 있을 겁니다.
중력이 있는 경우에는 적이 나를 바라보며 따라오는 모션을 취해줄 수도 있고 중력이 없는 경우라면 유도 미사일 등의 여러 가지들을 생각해서 만들어 볼 수가 있겠죠? 이제 코드를 보겠습니다!
코드를 보면 처음 설명드렸던 데로 Transform 형식의 변수를 만들고 Update()에서 Transform 형식의 변수를 가진 오브젝트를 바라보게 합니다. 그 뒤 Cube의 위치를 Vector3.MoveTowards를 이용하여 보고 있는 오브젝트로 향하게 할 수 있습니다. 예를 들어
이런 식으로 좀비가 플레이어를 바라보고 향하게 해야 할 때 사용하면 좋을 것 같습니다.
위 글을
https://unity3d.com/kr/learn/tutorials/topics/scripting/look?playlist=17117
을 참고하여 작성되었습니다.
'Unity > 기초 예제' 카테고리의 다른 글
유니티 AddForce 간단한 예제 유니티 기초 (0) | 2021.05.05 |
---|---|
유니티 마우스, 키보드 입력 간단한 예제 유니티 기초 (0) | 2021.05.03 |
유니티 리지드바디(Rigidbody)를 이용한 오브젝트 움직임 구현 간단한 예제 유니티 기초 (0) | 2021.04.28 |
유니티_Rigidbody_리지드바디_간단한 예제_유니티 기초 (0) | 2021.04.22 |
유니티 예제_오브젝트 간단한 움직임 구현, Translate and Rotate, FixedUpdate()와 Update()의 차이_간단한 예제, 유니티 기초 (0) | 2021.04.20 |