如何在Unity 2019中检测CompositeCollider2D形状中心?

时间:2019-04-29 21:37:42

标签: unity3d unity-components

我在我的tilemap中使用复合对撞机2d作为触发器来定义梯子。问题是试图获取与我碰撞的特定阶梯上的数据。我需要梯子中心的x值,以便在攀爬时可以使玩家居中。

我通常会在OnTriggerEnter2D中使用Collider2D并使用边界来确定梯子的中心,但是使用复合对撞机时,将使用tilemap中的所有图块来确定边界。

enter image description here

我认为解决方案必须与'shapes'有关,因为当我调试 collision.shapeCount 时,它给了我正确数量的链条(在链条中为2示例案例

 void OnTriggerEnter2D(Collider2D collision) {
     if (collision.transform.CompareTag("Chains")) {
         Debug.Log("n of chains: " + collision.shapeCount);
         //Debug.Log(collision.bounds.center);  - nope
         //Debug.Log(collision.composite.bounds.center);  - nope

         BeginClimb();
     }
 }

那么,有没有一种方法可以获取我们要击中的特定单梯形“形状”对撞机而不是整个tilemap对象的数据?

谢谢!

0 个答案:

没有答案