首页 > 编程知识 正文

freevision云台使用说明,l4d2怎么改0lerp

时间:2023-05-03 14:27:51 阅读:38594 作者:1319

这两天,相机具有顺利跟随玩家的功能,但以前使用的DoTween可以解决大部分问题。 但是,如果目标位置一直在变化的话,会感到奇怪的头晕。 所以老板说要更换Vector3.Lerp和Vector3.SmoothDamp来追赶玩家并保持跟踪状态。

最初使用的是Vector3.Lerp,使用的时候感觉还不错,但是照相机启动时感觉速度很快。 而且有很多需要注意的地方。 例如,中的参数t在【0,1】之间传递。 如果按百分比更新当前位置,则必须注意,vector3.lerp(a、b、t )中的a是第一个位置,而不是相机的当前位置。 那么,在规定的时间完成lerp。 t=1/SmoothTime * Time.deltatime,1/SmoothTime * Time.deltatime是一帧所需的步骤,相机匀速到达目标点。 但是,由于目标点总是在变化,所以最后给出的是加速减速的感觉。

如果下面的a=transform.position,则t为固定值0.1f,始终保持10%的位置。

transform.position=vector3. lerp (a,targetPos,0.1f ); 无论如何,都满足不了我现在的需求。

因此,我们将改变在Vector3.SmoothDamp中平滑阻尼的方式。

voidlateupdate ((transform.position=vector3. smooth damp ) transform.position,target,ref velocity,smoothTime ) ) }但是,这里的smoothTime不是我们追求的时间。 参数smoothTime和最终平滑到目标点的时间实际上是倍数的关系。 如果输入的时间是1秒。

m_FinTime=smoothTime * 3.7f; 因此,如果希望在1秒内完成平滑,smoothTime必须为1/3.7f。 (这3.7是粗略计算出来的,基础逻辑没有仔细研究。 ) ) )。

但是,使之顺利所需的总时间太短,看起来不顺畅。 特别是感觉起步也在加速。 这个和玩家都是花了一定的时间在运动,所以如果相对速度不平稳的话,就会有咚咚的感觉。

最后我也不知道我的想法是不是从一开始就错了。 无论如何,这个启动的加速感似乎没有解决。 尴尬

如果有更好的解决相机后续问题的方法,请访问教教我教教我

参考链接

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。