Как определить центр формы CompositeCollider2D в Unity 2019? - PullRequest
0 голосов
/ 30 апреля 2019

Я использую составной коллайдер 2d в качестве триггеров в моем тайлекарте для определения лестниц.Проблема заключается в попытке получить данные о конкретной лестнице, с которой я сталкиваюсь.Мне нужно значение x центра лестницы, чтобы я мог центрировать игрока во время подъема.

Обычно я использую Collider2D в OnTriggerEnter2D и использую границы для определения центра лестницы, но при использовании составного коллайдера все плитки в карте тайлов используются для определения границ.

enter image description here

Я думаю, что решение должно иметь какое-то отношение к «фигурам», потому что когда я отлаживаю 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?

Спасибо!

...