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
반응형
'프로그래밍 > Unity3D' 카테고리의 다른 글
Unity에서 서버연결시 문제 '505 HTTP Version Not Supported' (0) | 2016.01.13 |
---|---|
Unity2D : Unable to convert classes into dex format (0) | 2015.11.12 |
Unity3D C# 게임 화면에서 Object 선택하기 (0) | 2012.03.08 |
Blender3D에서 Unwrap이용 UV Layout만들기 (0) | 2012.02.13 |
Unity3D와 Blender3D를 이용해서 게임 개발중입니다. (2) | 2012.02.04 |