2013-04-07 59 views
0

接近物体在Unity我可以处理对象周围圆周运动以简单统一在螺旋运动

transform.RotateAround(GameObject.Find("CubeTest").transform.position, Vector3.up, 20000*Time.deltaTime); 

但是,我想在圆周运动行驶在轨道上接近该对象,而该对象。不完全确定如何做到这一点,而不用搞砸。

+0

如果我正在阅读这个权利,你可以这样:Vector3 dir = GameObject.Find(“CubeTest”)。transform.position - transform.position; transform.translate(dir.normalized * Time.deltaTime);只要确保添加一个检查,当你的对象是从'立方体测试'的N单位内 – Jerdak 2013-04-08 14:15:37

+0

我现在实际上也在考虑这个问题。真是巧合,但我对这个感兴趣。我不确定RotateAround是如何工作的,但是使用LookAt不能完成您的解决方案吗? – Joetjah 2013-04-08 14:20:03

+0

哦,很有可能!稍后当我回家时,让我快速看看它。 – 2013-04-08 17:26:28

回答

2
GameObject cube = GameObject.Find("CubeTest");  
transform.LookAt(cube.transform); 
transform.Translate(transform.forward * Time.deltaTime * approachSpeed); 
transform.RotateAround(cube.transform.position, Vector3.up,20000*Time.deltaTime); 

我认为这可以做你想要的?它逐渐向旋转点移动,然后旋转,出现一个恶化的轨道。

+0

这也是我的想法,尽管我不敢先推测“RotateAround”函数。我不确定旋转物体是否会影响总旋转... – Joetjah 2013-04-09 14:22:02

+0

t.t我对Unity的经验真的很不错。谢谢! – 2013-04-09 19:55:26