###やっていること
MouseXとMouseYを使ってマウスを動かしたらカメラが回転するようにしています。
###やりたいこと
カメラを回転させることは成功しましたが、XとYだけじゃなくZも回転してしまいます。これじゃ変になってしまうので
Zが動かないように固定したいのですが、やり方がわかりません。C#です
C#
1public float rotatespeed = 10f; 2 3 void Update () 4 { 5 float hor = rotatespeed * Input.GetAxis("Mouse X"); ━┓ 6 float ver = rotatespeed * Input.GetAxis("Mouse Y"); ┃ 7 ┠これはmouseXとmouseYでカメラを回転させるやつです 8 transform.Rotate(-ver, hor, 0); ━┛ 9 10 float rotatez = transform.localEulerAngles.z; ━┓ 11 ┃ 12 bool z0 = false; ┃ 13 ┃ 14 if (rotatez == 0) ┃ 15 { ┃ 16 z0 = true; ┠これがZを固定させるやつです 出来ませんでした。 17 } ┃自分がやってみたのはZが0以外だったらZを0にする という感じです 18 ┃Zをrotatezにして、rotatezが0だったらz0がtrueになって 19 if (z0 == false) ┃z0がfalseの時はrotatezを0にする という感じで書きました。 20 { ┃ 21 rotatez = 0; ┃ 22 } ━┛ 23 }
オブジェクトのRotateのZだけを0にする簡単な方法があればそれでいいです。
具体的に(?)言えば、transform.Rotate(X, Y, Z)のZだけをいじくる方法があればお願いします
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/11/04 12:37