Unity3d 如何将一个物体粘在另一个物体上,这些物体又回到统一的起点

Unity3d 如何将一个物体粘在另一个物体上,这些物体又回到统一的起点,unity3d,collision,projectile,Unity3d,Collision,Projectile,我想用另一个物体捕捉一个物体。然后把它带到第一个物体的起点,在2D中。 我以恒定的速度把一个物体扔到另一个物体上。 第一个物体与第二个物体碰撞,然后我定义了第一个物体相对于站立的第二个物体的反向速度。当发生碰撞时(OnCollissonListener),它不会自然返回,因此返回的角度是错误的 他们到处乱跑。我怎样才能使折返正常工作我可以使用哪个函数?我只使用velocity.x和velocity.y 谢谢你阅读我的问题,谢谢你的帮助, 您诚挚的。伪代码: public class Catche

我想用另一个物体捕捉一个物体。然后把它带到第一个物体的起点,在2D中。 我以恒定的速度把一个物体扔到另一个物体上。 第一个物体与第二个物体碰撞,然后我定义了第一个物体相对于站立的第二个物体的反向速度。当发生碰撞时(OnCollissonListener),它不会自然返回,因此返回的角度是错误的

他们到处乱跑。我怎样才能使折返正常工作我可以使用哪个函数?我只使用velocity.x和velocity.y 谢谢你阅读我的问题,谢谢你的帮助, 您诚挚的。

伪代码:

public class Catcher : MonoBehaviour
{
    Vector2 startingPoint;

    void Awake()
    {
        startingPoint = transform.position;
    }

    void Update()
    {
        //Your moving code
    }

    void OnTriggerEnter(Collider other)
    {
         if(other.tag == "someTag")
         {
             other.transform.parent = transform;
             StartCoroutine("MoveBack");
         }
    }

    private IEnumerator MoveBack()
    {
        while(transform.position != startingPoint)
        {
            // Move this towards starting point
            // Use Vector2 functions like Lerp, MoveTowards or SmoothDamp
            // Could also use Mathf functions
            yield null;
        }
    }
}

还可以添加一个标志/检查,以了解对象是在向后移动还是在向前移动。

如果您仍然需要帮助,可以发布“反向速度”计算的代码吗?另外,正在发生的事情的屏幕截图也会很好。你应该更准确地知道你需要什么。您希望第二个对象附着固定(如被卡住)还是更软(如在字符串上)?您可以重新设置其父级或使用物理链接。另外,是否使用刚体也是非常重要的。