用Lerp函数实现摄像机平滑跟随过程分析

本文详细分析了在第一人称射击游戏中如何使用Vector3.Lerp函数实现摄像机对主角的平滑跟随。通过设定不同的t值,控制摄像机以平滑的方式逐渐接近目标位置,达到跟踪效果。同时,文中还介绍了如何确保枪始终显示在屏幕右下角的解决方案。
摘要由CSDN通过智能技术生成

在做第一人称射击游戏时需要用到Vector3.Lerp函数来跟随主人公,在网上搜了一下它的用法
Vector3.Lerp(Vector3 from,Vector3 to,float t);
这个函数一般是放在LateUpdate函数中,因为需要等所有的update函数执行完最后再移动摄像机的位置,其中from是起始位置,to是终点位置,t可以用来控制相机移动的平滑度,问题就在于这个t到底是如何实现摄像机的平滑追踪,网上搜过很多相关文章,但是感觉别人写的跟自己想看到的总有些偏差,也许是因为使用的情景不一样,还是自己好好分析一下,把时间精确到每一帧,看看过程到底是怎样的。
首先说一下函数的原理,每执行一次这个函数,会返回from和to之间的一个位置,返回类型为Vector3,返回的位置就取决于t。
公式是v = from + (to - from) * t。
比如说,初始位置为0,末位置为100,t = 0.2,就返回20,。初始位置为100,末位置为200,t = 0.3,就返回130,。
好,现在假设人是匀速运动,每一帧往前移动了x,摄像机总是跟在人后面的,假设距离为h,假设t = 0.3。
初始位置应该是
在这里插入图片描述
第一帧,首先执行Update函数,人往前移动了x,然后执行LateUpdate函数,摄像机往前移动,此时的Lerp函数的三个参数里面,from是摄像

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值