본문 바로가기

Unity/3D

Unity 3D Aim 을 쳐다보도록 하기 [JavaScript]

반응형

먼저,  아래 글을 보고 와야 이해 할 수 있다.

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() 호출로 짧게 줄였다.




반응형