拥抱2D对象并在其周围移动

时间:2016-04-11 16:44:20

标签: c# unity3d 2d collision unity5

我有一个动态生成的对象到任何形状。它是使用LineRenderer构建的,并附加了EdgeCollider。当某个物体与这个物体接触时,我希望它能够拥抱"拥抱"它并在它周围移动。

如果对象是黑线,我希望我的对象跟随绿线并在对象周围做一整圈。

enter image description here

我已经阅读了一些有关RayCasting和3D世界中的事情的信息,但对于Unity来说这是相当新的,我不知道如何在2D中做到这一点。

您的任何建议都将非常感谢,一个工作示例将被欣赏1000倍! ;)

提前致谢!

1 个答案:

答案 0 :(得分:1)

您也知道,大多数3D方法都有2D等效物。 Physics2D.Raycast,而不是Physics.Raycast。在Unity中从3D移动到2D时,这很容易被绊倒。

作为合同编码员,我愿意为你建立这样的东西。作为stackoverflow用户,我将为您提供一个大纲,您可以自己执行此操作。 :)

碰撞后,每帧开始这样做:

  1. 旋转您的物体以面对该线。
  2. 将您的对象移动到您想要的方向。
  3. 沿着线的方向向对象添加力,以保持它 反对它。
  4. 您可以使用LookAtTranslateRigidbody2D.AddForce来完成此任务。

    希望这有帮助,快乐编码!