fc2ブログ

[Unity] MouseLook の「Minimum X」「Maximum X」が機能しない問題の解決法

12 06, 2013
Unityで,Character Controllerか何かをインポートすると,「Mouse Look」なるC#のスクリプトが一緒にインポートされます.このスクリプトには「Minimum X」「Maximum X」というパラメータがあり,見るからにX軸方向の回転角度を制限するパラメータなのですが,値を設定しても機能しません.

これはおそらくスクリプトのバグです.公式フォーラムに解決策が載っていました.MouseLook.csを開き,31行目あたりからの

float rotationY = 0F;

void Update ()
{
if (axes == RotationAxes.MouseXAndY)
{
float rotationX = transform.localEulerAngles.y + Input.GetAxis("Mouse X") * sensitivityX;

rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);

transform.localEulerAngles = new Vector3(-rotationY, rotationX, 0);
}



float rotationX = 0F;
float rotationY = 0F;

void Update ()
{
if (axes == RotationAxes.MouseXAndY)
{
rotationX += Input.GetAxis("Mouse X") * sensitivityX;
rotationX = Mathf.Clamp (rotationX, minimumX, maximumX);

rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);

transform.localEulerAngles = new Vector3(-rotationY, rotationX, 0);
}

と書き換えれば,無事に制限がかかります.

参考: http://answers.unity3d.com/questions/47341/restrict-mouselook-x-movement-script-does-not-work.html
スポンサーサイト



0 CommentsPosted in Unity
0 Comments
Leave a comment
管理者にだけ表示を許可する
0 Trackbacks
Top
プロフィール

津田沼

Author:津田沼

学生です。ドラムとDTMをやっていますが、多分向いていません。Macを使っています。好きなお笑い芸人はさまぁ~ずです。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
Ninjaアクセス解析