먼저, 아래 글을 보고 와야 이해 할 수 있다.
Unity 3D mmorpg 스러운 이동 구현 [JavaScript]
-------------------------------------------------------------------------------------------------------------------------------
mCamera = transform.Find("Camera");
mCamera.transform.LookAt(transform.position);
mCamera.transform.RotateAround(transform.position, Vector3.up, transform.rotation.z);
#기존의 코드는 위처럼 카메라가 이동하는 객체인 캐릭터를 쳐다보도록 구현되어있다.
뒤의 상단에서 캐릭터를 쳐다보기에 시야가 짧다는 단점이 있는데, 이를 고치기 위해서 조금더 손봤다.
필요한건 간단한다!
바로, 투명한 (엠티) 오브젝트를 하나 더 두는것이다.
캐릭터의 자식객체로서 새성하고 이름을 Aim으로 두었다.
그 다음 이 Aim의 y값을 2~3으로 조정하여 캐릭터의 머리위에 떠다니게 만들고,
var Aim = transform.Find("Aim");
mCamera = transform.Find("Camera");
mCamera.transform.LookAt(Aim.position);
mCamera.transform.RotateAround(transform.position, Vector3.up, transform.rotation.z);
기존 코드를 이렇게 수정하여 Aim을 쳐다보도록 만든다. 따라서 캐릭터보다 위쪽을 쳐다보기에 시야가 넓어진다.
이것을 이용하면 TPS의 에임기능을 정말로 구현할 수 있을 듯 하다!
아, 그리고 코드가 지저분해져서 함수로 묶어서 호출하는식으로 바꿨다.
function camera(){
var Aim = transform.Find("Aim");
mCamera = transform.Find("Camera");
mCamera.transform.LookAt(Aim.position);
mCamera.transform.RotateAround(transform.position, Vector3.up, transform.rotation.z);
}
이렇게해서 camera() 호출로 짧게 줄였다.
'Unity > 3D' 카테고리의 다른 글
Unity 3D CharacterController를 이용한 움직임 제어 [C#] (0) | 2017.09.21 |
---|---|
Unity3D FPS처럼 화면 돌리기 [JavaScript] (0) | 2017.09.17 |
Unity 3D mmorpg 스러운 이동 구현 [JavaScript] (0) | 2017.09.16 |
Unity 3D 기본적인 이동 구현 [JavaScript] (0) | 2017.09.16 |