[Unity3d]向量的过度方法以及拖尾效果

时间:2022-04-21 20:50:51

Vector3.RotateTowards()

  • 用法
public static function RotateTowards(current: Vector3, target: Vector3, maxRadiansDelta: float, maxMagnitudeDelta: float): Vector3;
  • 说明:限定了每个偏转的阈值

Vector3.SmoothDamp() 弹性过渡

  • 用法
public static function SmoothDamp(current: Vector3, target: Vector3, ref currentVelocity: Vector3, smoothTime: float, maxSpeed: float = Mathf.Infinity, deltaTime: float = Time.deltaTime): Vector3;
public static function SmoothDamp(current: Vector3, target: Vector3, ref currentVelocity: Vector3, smoothTime: float, maxSpeed: float = Mathf.Infinity, deltaTime: float = Time.deltaTime): Vector3;
public static function SmoothDamp(current: Vector3, target: Vector3, ref currentVelocity: Vector3, smoothTime: float, maxSpeed: float = Mathf.Infinity, deltaTime: float = Time.deltaTime): Vector3;
  • 用法:也是从一个向量值转向另一个向量值,不过可以传入一个弹性值smoothTime。当2个向量相差大的时候,则过度的会快,反之则过度的慢,这也是推荐的方法

Vector3.Lerp

  • 用法
public static function Lerp(a: Vector3, b: Vector3, t: float): Vector3;
  • 说明:如果float的值是0,则返回的向量值是a;如果float的值是1,则返回的向量值是b, 0.5则是这2个向量的中间值

设置物体的拖尾效果

  • 创建一个空物体并且添加拖尾特性:

    [Unity3d]向量的过度方法以及拖尾效果
  • 运行效果:

    [Unity3d]向量的过度方法以及拖尾效果

制作子弹

  • 创建Quad对象并且在其父级的空对象中添加Halo效果