其他分享
首页 > 其他分享> > unity 移动物体到指定位置的四种方法

unity 移动物体到指定位置的四种方法

作者:互联网

方法1:使用Vector3.MoveTowards

void Update ()
{
float step = speed * Time.deltaTime;
gameObject.transform.localPosition = Vector3.MoveTowards(gameObject.transform.localPosition, new Vector3(10, -3, 50), step);
}

方法2:使用插值
void Update ()
{
float step = speed * Time.deltaTime;
gameObject.transform.localPosition =new Vector3(Mathf.Lerp(gameObject.transform.localPosition.x, 10, step),Mathf.Lerp(gameObject.transform.localPosition.y, -3, step),Mathf.Lerp(gameObject.transform.localPosition.z, 50, step));//插值算法也可以
}
方法3:使用iTween

iTween.MoveTo(m_UIbgCamera, iTween.Hash(“x”, -20,
“y”, -3,
“z”, 50,
“time”, 1.0,
“islocal”, true
));

方法4:使用协程

StartCoroutine(MoveToPosition());

IEnumerator MoveToPosition()
{
GameObject m_UIbgCamera = GameObject.Find(“UI/FengMian/UIbgCamera”);
while (m_UIbgCamera.transform.localPosition != new Vector3(-5, -3, 50))
{
m_UIbgCamera.transform.localPosition = Vector3.MoveTowards(m_UIbgCamera.transform.localPosition, new Vector3(-20, -3, 50), 10 * Time.deltaTime);
yield return 0;
}
}


作者:lcy0221
来源:CSDN
原文:https://blog.csdn.net/lcy0221/article/details/44040739

标签:localPosition,gameObject,物体,Vector3,transform,UIbgCamera,unity,step,四种
来源: https://blog.csdn.net/qq_42965798/article/details/88558446