<span style="font-size:14px;">//该脚本制作第三人称视野,将该脚本绑定在摄像机上, 摄像机跟随角色移动并且保持第三人称视野
//角色旋转,摄像机跟随旋转,并且一直在角色后方,朝向和角色朝向相同</span>
<span style="font-size:14px;">
</span>
<span style="font-size:14px;">
using UnityEngine;
using System.Collections;
public class CameraMove : MonoBehaviour {
public GameObject targetObj; //定义 目标
private Transform myTransform; //
public float distance = 10.0f; //汽车和摄像机的水平距离
public float speed = 10.0f;
void Start () {
myTransform = transform;
// 获取目标对象, 项目中目标随意设置
targetObj = GameObject.FindGameObjectWithTag("Target"); //汽车位目标对象,tag值为 “Target”
}
void Update () {
Controller();
}
private void Controller()
{
Quaternion rot = targetObj.transform.rotation; //获取汽车旋转
myTransform.rotation = rot; //将摄像机旋转设置为和汽车旋转一样
// 设置摄像机的位置为 汽车后方 距离为 distance 的位置
myTransform.position = targetObj.transform.position + rot * Vector3.back * distance;
// targetObj.transform.position 为汽车坐标
//rot * Vector3.back * distance 摄像机的旋转 乘以 后方(Vector3.back) 乘以 距离 得到摄像机坐标
}
}
</span>