2017-04-11 64 views
0

我使用Vector3.Lerp在我的Player GameObject后移动我的相机。由于我的游戏机制,我的玩家游戏对象的位置可以“传送”并跳转几个向量,这会改变相机朝向的目标位置。Vector3.Lerp期间的目标更改Unity3D

由于lerp中间的目标位置发生变化,导致目标位置在lerp中间发生变化,造成摄像机跳/断。

我怎样才能解决这个问题,并且使相机顺利迈向新位置”

+0

为什么不使用'Vector3.MoveTowards();'? –

回答

1

对于AA线性插值移动,你通过它的开始,结束和比例之间进行插补。

它听起来你正在改变它的中间结束,所以你需要做的是找出当前相机位置在新的开始/结束时的百分比,并更新你的百分比值以适应。

Ex :

当前值为5时,取0-10之间的值为0.5。如果您将结尾更改为20,则需要将您的百分比设置为0.25以避免结尾。

另一种方法是在当前(而不是开始)和目标之间作弊并始终使用类似0.9(根据需要进行调整)的百分比进行lerp。这个滥用lerp,但给你一个缓和的副作用,如果你的位置更新足够小,应该足够好。