先說較為簡單的一種:
一、將攝像機作為人物角色的子對象,設置好相對距離和偏移量即可,但這種方法弊端較多,一般不采用。
二、 設置好攝像機跟物體的相對距離,之后利用插值讓攝像機平滑跟隨。
原理:攝像機與player以向量(有大小,有方向)相連,這樣就可以確定攝像機與player的相對距離了,這樣人物走動,攝像機也會跟隨移動。
將下列代碼與camera綁定就可以實現第三人稱攝像機跟隨。代碼:
public class CameraFollow : MonoBehaviour {
// 攝像機跟隨的對象
public Transform target;
// The speed with which the camera will be following.
public float smoothing = 5f;
//偏移量
Vector3 offset;
void Start() {
//計算偏移量
offset = transform.position - target.position;
}
void LateUpdate () {
Vector3 targetCamPos = target.position + offset;
transform.position = Vector3.Lerp (transform.position, targetCamPos, smoothing * Time.deltaTime);
}
}
FixedUpdate():固定更新事件,執行N次,0.02秒執行一次。所有物理組件相關的更新都在這個事件中處理。
LateUpdate(): 一般用來處理攝像機方面的。
將場景中的角色(攝像機跟隨的物體)拖入target中場景中的就可以實現簡單的第三人稱攝像機跟隨。
