2016-11-27 1 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.World вместо Space.Self:

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

 Смежные вопросы

  • Нет связанных вопросов^_^