前提・実現したいこと
今、TPSシューティングのようなシステムをunityで作成しています。
現在、マウスでカメラ操作をしているのですが、カメラがマウスを動かすとそれに合わせてずっと動くので、ある一定のところで止めたいです。
環境は、unity 2017.4.3f1 C# です。
なぜ最新じゃないのかというと、私は専門学生なのですが、学校がなぜか最新にせず、このバージョンにしているからです。
カメラは今現在、マウスを動かせば動かすだけ、プレイヤーのY軸を中心にぐるぐるぐるぐる移動します。
それを、上30度、下30度、右50度、左50度くらいにそれ以上カメラが移動しないように設定したいです。
発生している問題
C#初心者なので、どのようにしたらいいのかがわかりません。 記載していますソースコードも試行錯誤や、たくさんの調べてやっとのことでできています。
該当のソースコード
C#
1 2using System.Collections; 3using System.Collections.Generic; 4using UnityEngine; 5 6public class Cameras : MonoBehaviour { 7 8 GameObject targetObj; 9 Vector3 targetPos; 10 11 void Start() 12 { 13 targetObj = GameObject.Find("Player"); 14 targetPos = targetObj.transform.position; 15 16 } 17 18 void Update() 19 { 20 // targetの移動量分、自分(カメラ)も移動する 21 transform.position += targetObj.transform.position - targetPos; 22 targetPos = targetObj.transform.position; 23 24 // マウスの移動量 25 float mouseInputX = Input.GetAxis("Mouse X"); 26 float mouseInputY = Input.GetAxis("Mouse Y"); 27 // targetの位置のY軸を中心に、回転(公転)する 28 transform.RotateAround(targetPos, Vector3.up, mouseInputX * Time.deltaTime * 50f); 29 30 // カメラの垂直移動 31 transform.RotateAround(targetPos, transform.right, -mouseInputY * Time.deltaTime * 50f); 32 } 33} 34 35このような文になります。 36 37この文に何を書いたらカメラの角度制限を付けることができるのかを教えてほしいです。 38よろしくお願いします。 39```##試したこと 40 41if (mouseInputY <= MaxUp)//上を向いたとき 42 { 43 this.transform.rotation = Quaternion.Euler(startX - 30 ,0 ,0); 44 mouseInputY = -30; 45 } 46 47このようにしてみましたが、まずもって、IF文の中に入ることができません。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/31 03:05
2018/08/31 03:29
2018/08/31 04:27