Unity3d使用鼠标滚轮移动摄像机
问题描述:
我正在尝试进行简单的产品可视化。我想放大或移动相机朝向物体。我的代码如下所示: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);
}
}
}
但是当我尝试放大,它只是“飞”周围的对象,当相机上物体的另一侧获得,它开始退去。
答
这是因为你用Space.World代替Space.Self:
void Update()
{
float scroll = Input.GetAxis ("Mouse ScrollWheel");
transform.LookAt (target);
transform.Translate(0, 0, scroll * speed, Space.Self);
}