public Transform sunrise;
public Transform sunset;
public float journeyTime = 1.0F;
private float startTime;
void Start() {
startTime = Time.time;
}
void Update() {
Vector3 center = (sunrise.position + sunset.position) * 0.5F;
Debug.DrawLine (center, center+new Vector3(0, 1, 0));
Debug.Log (center);
center -= new Vector3(0, 1, 0);
Debug.Log (center);
Vector3 riseRelCenter = sunrise.position - center;
Vector3 setRelCenter = sunset.position - center;
float fracComplete = (Time.time - startTime) / journeyTime;
transform.position = Vector3.Slerp(riseRelCenter, setRelCenter, fracComplete);
transform.position += center;
}
这个代码怎么不直接插值, 非得找个中心点,跟直接进行球形插值有什么区别
http://blog.csdn.net/yupu56/article/details/54883003
Vector3 riseRelCenter = sunrise.position - center;还有这一句
sunrise是相对于原点的向量
center也是相对于原点
riseRelCenter是以center为起点 sunris。position为终点的向量,起点已经不是原点了
而插值是相对于原点的吧?
这两个量都不是以原点为起点的,怎么实现的插值呢