在Unity的世界中, 物体的位置都是由向量构成的。
今天所需要做的就是让摄像机保持跟蛇头的相对距离。
首先 设蛇头的位置在A 点 , 摄像机的位置在B 点
则 我们可以知道 他们的offset = B - A;
所以 新的摄像机位置应该为 B = A + offset;
令 : 摄像机的移动是根据帧走的 所以是抖动的 , 我们应该做一个平滑处理
恰好Vector 给我们提供了一个方法 利用插值做到平滑移动
Vector3.lerp(B,A + offset,0.1f) 也就是说平滑移动到中间的插值
Mathf.Lerp
static function Lerp (from : float, to : float, t : float) : float
基于浮点数t返回a到b之间的插值,t限制在0~1之间。当t = 0返回from,当t = 1 返回to。当t = 0.5 返回from和to的平均值。
Color.Lerp
static function Lerp (a : Color, b : Color, t : float) : Color
通过t在颜色a和b之间插值。
"t"是夹在0到1之间的值。当t是0时返回颜色a。当t是1时返回颜色b。
具体看 Unity 3D 之插值计算
时间: 2024-10-06 17:28:57