天天看点

Unity 半圆抛物线运动Vector3.Slerp 球形插值

Vector3.Slerp 球形插值

static function Slerp (from : Vector3, to : Vector3, t : float) : Vector3

通过t数值在from和to之间插值。返回的向量的长度将被插值到from到to的长度之间。

t的值在[0...1]。

C#代码:

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
	public Transform sunrise;//起点
	public Transform sunset;//落点
	void Update() {
		Vector3 center = sunrise.position + sunset.position * 0.5F;
		center -= new Vector3(0, 1, 0);
		Vector3 riseRelCenter = sunrise.position - center;
		Vector3 setRelCenter = sunset.position - center;
		transform.position = Vector3.Slerp(riseRelCenter, setRelCenter, Time.time);
		transform.position += center;
	}
}