您的位置:首页 > 移动开发 > Unity3D

Unity3D让物体从规定时间内移动到某一位置

2015-11-11 19:53 561 查看
方法1:Translate

this.transform.Translate( Vector3.normalize( 目标位置 - 自身位置 ) * ( Vecotr3.Distance( 自身位置, 目标位置 ) / ( 所用时间 * Time.deltime )));

方法2:Vector3.Lerp差值

public Transform pointStart;
public Transform pointEnd;
public float time;

private float distance;
private float moveSpeed;
private float startTime;
private float friction;

void Start()
{
distance = Vector3.Distance( pointStart.position, pointEnd.position );
moveSpeed = distance / time;
startTime = ( Time.time - startTime ) * moveSpeed / distance;
}
void Awake()
{
friction = ( Time.time - startTime ) * moveSpeed / distance;
transform.position = Vector3.Lerp( pointStart.position, pointEnd.position, friction );
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity3d 移动