问题描述:实现摄像机跟随角色移动功能。
问题解决:向摄像机中加入如下FllowTarget组件,代码如下:
using UnityEngine;
using System.Collections;
public class FllowTarget : MonoBehaviour {
public Transform character; //摄像机要跟随的人物
public float smoothTime = 0.01f; //摄像机平滑移动的时间
private Vector3 cameraVelocity = Vector3.zero;
private Camera mainCamera;
//主摄像机(有时候会在工程中有多个摄像机,但是只能有一个主摄像机吧)
void Awake ()
{
mainCamera = Camera.main;
}
void Update()
{
transform.position = Vector3.SmoothDamp(transform.position, character.position + new Vector3(0, 0, -5), ref cameraVelocity, smoothTime);
}
}
相关解释:
主要就是Vector3.SmoothDamp() 这个函数。里面的第一个参数就是当前的位置。 第二个参数就是要接近的位置。 第三个参数就是 当前速度,这个值由你每次调用这个函数时被修改。 第四个参数就是完成这个位移移动所花费的时间。