Unity 相机平滑跟随 相当于第三人称相机

将下面脚本直接挂在主相机上就可以了 

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

//第三人称相机
public class ThirdPersonCamera : MonoBehaviour
{
    public float distanceAway;          // z轴上的距离
    public float distanceUp;            // 高度距离
    public float smooth;                // 移动平滑值

    private GameObject hovercraft;      // to store the hovercraft
    private Vector3 targetPosition;     // 相机目标位置

    Transform follow;//跟随物体

    void Start()
    {
        //需要跟随的物体
        follow = GameObject.FindWithTag("Player").transform;
    }

    void LateUpdate()
    {
        //目标位置,由跟随物体的坐标+设置的高度+z轴的距离
        //减去follow.forward * distanceAway  为距离物体后背的距离  关于follow.forward的用法可以查看Transform.forward文章
        targetPosition = follow.position + Vector3.up * distanceUp - follow.forward * distanceAway;

        //从当前位置到目标位置 平滑过渡
        transform.position = Vector3.Lerp(transform.position, targetPosition, Time.deltaTime * smooth);

        //相机朝向
        transform.LookAt(follow);
    }
}

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值