不常候我们在做第三个人称游戏的时候,想让相机平滑的随行物体移动,下边那几个代码就能够非常的慢到达那一个成效

    

using UnityEngine;
using System.Collections;

public class CameraMover : MonoBehaviour 
{
    public Transform follow;//目标的tansform
    public float distanceAway = 5.0f;//表示距离目标后方的距离
    public float distanceUp=2.0f;//目标上方的高度
    public float smooth = 1.0f;//插值系数
    private Vector3 camPosition;//目标的位置
    void LateUpdate()
    {
        //计算出相机应该在的位置
        camPosition = follow.position + Vector3.up * distanceUp - follow.forward*distanceAway;
        //插值到相机应该的位置
        transform.position=Vector3.Lerp(transform.position,camPosition,smooth*Time.deltaTime);

        //一个tranform中的函数,用于使一个物体正对着目标
        transform.LookAt(follow);//理解成看着目标

    }
}

能够由此一贯改造。   这里插入一张图方便掌握

能够由此一贯改造。能够由此一贯改造。能够由此一贯改造。能够由此一贯改造。  图片 1

 

  倘若想改造相机的通向,能够由此一向改变

  

camPosition = follow.position + Vector3.up * distanceUp - follow.forward*distanceAway;句中的follow.forward的值,

比如说可以把

public float distanceAway = 5.0f;改成-5.0f则使摄像机正对着物体。如果想从侧边观看,则改变为follow.right即可。

相关文章