左矢印キーでオブジェクトを回転させたいので、回転を30度に拘束したいと思います。私のコードは:Unity3Dでバウンド回転
if (Input.GetKey(KeyCode.LeftArrow) && transform.localEulerAngles.z <= 30)
transform.Rotate(0,0,1);
なぜ回転が31度に止まるのですか? 明らかに、私の問題はこれより複雑です。私は境界があり、精度が必要です。この例の理由は、このように管理されていれば、回転が正確ではないと簡単に言うことです。
私はUnity3Dが内部的にクォータニオンを使用し、度に作用するのは単なる近似であると思います。私は正しい?この最後のケースで私はこれにどのように対処できますか?
たとえば、軸上で30度回転の四元数を使用するにはどうすればよいですか?
ところで、問題がこれ以外の場合は、他に解決策がありますか?
私はすでにそのようにしています:同じ結果 – Yuri