思路是,读取鼠标滚轮的滚动倾向,改变相机的视角域(fieldOfView)。
但是,仅仅改变视角域是不行的,因为如果物体在视野边缘,在放大的过程中,也就是视角域缩小的过程中,
物体就可能跑到视野以外去了。因此,还必须将相机对准物体。
因此,首先,将相机对准物体,随物体运动而运动。然后,驱动相机视角域和滚轮滚动相关联。
以下代码是控制相机对准物体的脚本,有一个成员变量 target,它是Transform类型的,也就是变换类型的对象,实际上是变换类型对象的引用(指针)。
using UnityEngine;
using System.Collections;
public class LookAtControl : MonoBehaviour {
public Transform target;
// Update is called once per frame
void Update ()
{
transform.LookAt(target);
}
}
将这个脚本给了相机之后,点击相机,在inspector面板的脚本部分,会看见一个Target域。