2014-09-18 4 views
0

나는 어떤 물건을 쏘는 탱크가있는 게임을 만들고있다. "X"에서 -90도에서 90도까지의 범위에서 탱크 총을 회전시키고 싶습니다. transform.rotate를 사용했지만 부동 소수점 값 (0.0에서 1.0)으로 총을 회전시키고 관리자에서 보는 회전이 다른 것입니다. 이 문제를 해결하는 방법?unity3d에서 게임 개체의 회전을 제한하는 방법

답변

0

은 내가 Mathf 클래스

static float Clamp(float value, float min, float max); 

예에서 코드 아래

if((gun.eulerAngles.z<90)||(gun.eulerAngles.z>270)) 
     { 
      gun.Rotate(0,0,turnAngle); 
     } 
1

사용하여 다음과 같이 회전을 제한하는 eularAngles을 사용 답을 발견

var angle = Mathf.Clamp(angle, 90, 270); 
Quaternion target = Quaternion.Euler(0, 0, angle); // any value as you see fit 
transform.rotation = target; 
관련 문제