2014-04-06 5 views
0

정말 좋은 제목을 모릅니다. 두 개의 스크립트로 카메라 회전을했습니다. 플레이어 회전을위한 Y 축 하나와 카메라 회전을위한 X 축 하나. 난 아직도으로 카메라를 이동하는 동안은 0으로 Y 회전 잠금 내가 transform.rotation = Quaternion.Euler (mRotX, transform.rotation.y,transform.rotation.z);에 둘 때, 비록 transform.Rotate 가능하지 않은 그것을 고정 원하기 때문에 하나의 액세스 만 사용하고 다른 스크립트는 다른 액세스를 사용하는 방법은 무엇입니까?

나는, 카메라 회전에 transform.rotation 값을 사용 플레이어.

이제 내 질문에 대해 어떻게 한 축에만 액세스하고 다른 축을 다른 스크립트에 사용할 수있게합니까?

+0

'transform.rotation = Quaternion.Euler (mRotX, transform.rotation.y, transform.rotation.z);를 제거하면'line이 제대로 작동합니까? 이 줄을 추가하면 작업에서 중단됩니까? –

답변

0

쿼터니온을 오일러 각으로 잘못 사용하면이 문제가 발생할 수 있습니다. 새 회전은 다음과 같이 구성해야합니다

transform.rotation = Quaternion.Euler(mRotX, transform.rotation.eulerAngles.y, transform.rotation.eulerAngles.z); 

가, 오일러로부터 쿼터니언을 건설하기위한 당신이 쿼터니언에서 승, 오일러 인수 (rotation.eulerAngles)가 아닌 X, Y, Z를 통과해야 완전히 다른 것. 자세한 내용은

는 unity3D 워드 프로세서에서 Quaternion.Euler와하는 eulerAngles를 참조하십시오이 문제를 해결 https://docs.unity3d.com/Documentation/ScriptReference/Quaternion-eulerAngles.html

희망.