脚本绑定到摄像机,x是指摄像机视角左右旋转角度,y是指摄像机视角上下旋转角度,target为目标物体。initDis为初始化摄像机与目标物体的距离。
首先设置摄像机旋转角度,这里Euler(y, x, 0),意义为绕x轴旋转y角度,三维空间中绕x轴旋转即为上下旋转,绕y轴旋转x角度,三维空间中绕y轴旋转即为左右旋转。
transform.rotation = Quaternion.Euler(y, x, 0);
Vector3(0.0, 0.0, -initDis)意义为z轴方向距离原点(0,0,0)为initDis,Quaternion * Vector3意义为向量Vector3绕原点旋转Quaternion,这样摄像机就可以正对原点,加上物体的位置即能朝向目标物体。
transform.position = Quaternion.Euler(y, x, 0) * Vector3(0.0, 0.0, -initDis) + target.position;