2016-11-27 22 views
0

私は簡単な製品の視覚化を試みています。そして、私はズームしたり、オブジェクトの方にカメラを移動したいと思います。私のコードは次のようになります。Unity3dはマウスホイールを使用してカメラを移動します

public class mouseMover : MonoBehaviour { 

     public Transform target; 
     public float speed; 


     void Update() { 

      if (Input.GetAxis ("Mouse ScrollWheel") < 0) { 
       float scroll = Input.GetAxis ("Mouse ScrollWheel"); 

       transform.LookAt (target); 
       transform.Translate(0, 0, scroll * speed, Space.World); 


      } 

      if (Input.GetAxis ("Mouse ScrollWheel") > 0) { 

       float scroll = Input.GetAxis ("Mouse ScrollWheel"); 
       transform.LookAt (target); 
       transform.Translate(0, 0, scroll * speed, Space.World); 
      } 

    } 

} 

しかし、私はズームしようとすると、それだけでオブジェクトの周りに「飛ぶ」と、カメラが被写体の別の側面に乗るとき、それは後退を開始します。

答えて

1

あなたの代わりにSpace.SelfのSpace.Worldを使用しているためにです:

void Update() 
{ 
    float scroll = Input.GetAxis ("Mouse ScrollWheel"); 
    transform.LookAt (target); 
    transform.Translate(0, 0, scroll * speed, Space.Self); 
} 
関連する問題