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

问题描述 投票:0回答:1

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

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

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

image

unity3d position overlapping rigid-bodies
1个回答
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;
            }
        }
© www.soinside.com 2019 - 2024. All rights reserved.