Unity3D에서 Joystick을 이용해서 캐릭터가 바라보는 방향으로 움직이고 정지하기.

2013. 5. 17. 15:00프로그래밍/Unity3D

728x90
반응형

게임중 조이스틱을 이용해서 주인공을 움직이게 만들때 다음과 같이 해주시면 됩니다.


//먼저 조이스틱이 눌렸는지를 확인합니다.

if(moveJoystick.IsFingerDown() == true)

{

//조이스틱의 방향에 따라서 주인공이 바라보도록 틀어줍니다.

m_Player.transform.eulerAngles = new Vector3(

m_Player.transform.eulerAngles.x , 

Mathf.Atan2(moveJoystick.position.x , 

moveJoystick.position.y) * Mathf.Rad2Deg , 

m_Player.transform.eulerAngles.z);


//여기서는 transform.up을 이용했지만 일반적으로 모델링한 캐릭터의 방향즉 전진(forward)로 이동하도록 합니다.

float MOVE_SPEED = -3.0f;

m_Player.rigidbody.AddForce(GameObject.FindGameObjectWithTag("Player").transform.up * MOVE_SPEED  , ForceMode.Impulse);

}

else

{

//조이스틱에 손이 감지되지 않을경우에는 주인공 캐릭터는 바로 정지하도록 합니다.

m_Player.rigidbody.velocity = new Vector3(0,0,0);

}


이외에도 다양한 방법들이 있을수 있습니다.


728x90
반응형