如何避免没有刚体的GameObject重叠?

时间:2018-03-26 16:36:13

标签: unity3d position overlapping rigid-bodies

我一直在寻找一种方法让我的游戏对象不会与另一个游戏对象重叠,但所有的解决方案都在谈论Rigidbody ..

当我想在没有刚体的情况下在脚本中进行时,是否可能?我有一个这个比例的立方体(3,1,1)我让他自己旋转但我得到了重叠问题,因为他的x比例为3

有没有让他自动移动和回来以避免红色游戏对象?

image

1 个答案:

答案 0 :(得分:0)

您可以使用此方法

GameObject myDraggedGO; // parent

     private IEnumerator OverLapChecker(float delay)
        {
            yield return new WaitForSeconds(delay);
            Collider2D[] colls = new Collider2D[3];
            List<int> nums = new List<int>();
            foreach (var tile in myDraggedGO.GetComponentsInChildren<Rigidbody2D>())
            {
                nums.Add(Physics2D.OverlapCircleNonAlloc(tile.transform.position, 0.5f, colls));
            }
            if (nums.Contains(2))
            {
                myDraggedGO.transform.position = _startpositionOnDrag;
            }
        }