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

Posted mimime

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity 移动物体到指定位置的四种方法相关的知识,希望对你有一定的参考价值。

http://blog.csdn.net/lcy0221/article/details/44040739

方法1:使用Vector3.MoveTowards

 

[csharp] view plain copy
 
  1. </pre><pre name="code" class="csharp">void Update ()   
  2. {  
  3.     float step = speed * Time.deltaTime;  
  4.     gameObject.transform.localPosition = Vector3.MoveTowards(gameObject.transform.localPosition, new Vector3(10, -3, 50), step);  
  5. }  

 

 

方法2:使用插值

 

[csharp] view plain copy
 
  1. void Update ()   
  2. {  
  3.     float step = speed * Time.deltaTime;  
  4.     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));//插值算法也可以  
  5. }  

 

方法3:使用iTween

[csharp] view plain copy
 
  1. iTween.MoveTo(m_UIbgCamera, iTween.Hash("x",     -20,  
  2.                                                 "y",     -3,  
  3.                                                 "z",     50,  
  4.                                                 "time",  1.0,  
  5.                                                 "islocal", true  
  6.                        ));  



 

方法4:使用协程

 

[csharp] view plain copy
 
  1. StartCoroutine(MoveToPosition());  

 

 

 

[csharp] view plain copy
 
    1. IEnumerator MoveToPosition()  
    2.     {  
    3.         GameObject m_UIbgCamera = GameObject.Find("UI/FengMian/UIbgCamera");  
    4.         while (m_UIbgCamera.transform.localPosition != new Vector3(-5, -3, 50))  
    5.         {  
    6.             m_UIbgCamera.transform.localPosition = Vector3.MoveTowards(m_UIbgCamera.transform.localPosition, new Vector3(-20, -3, 50), 10 * Time.deltaTime);  
    7.             yield return 0;  
    8.         }  
    9.     }  

以上是关于unity 移动物体到指定位置的四种方法的主要内容,如果未能解决你的问题,请参考以下文章

Unity3D 灵巧小知识点☀️ | Unity 移动物体到指定位置的几种方法精选快捷使用

Unity 相机围绕物体指定观察角度和位置

unity3d中常规移动的四种方法

unity3d 2D平面游戏实现鼠标拖拽物体移动

unity里怎么让一个物体在在5秒内从某点移动到另外一点?

unity中鼠标点击触发物体运动