Załóżmy, że używam tej postaci.
(źródło: iconbug.com )
Jak zaimplementowałbyś w tym celu wykrywanie kolizji? Korzystanie z obwiedni nie wydaje się dobrym przybliżeniem, ponieważ kształt ptaka nie jest zbliżony do kwadratu.
Zastanawiałem się nad tym, czy wewnątrz obiektu reprezentuje rodzaj struktury drzewa quad reprezentującego fragmenty obrazu. Każdy liść może być albo false
(jeśli pokrywa białą / przezroczystą przestrzeń na zewnątrz ptaka) albo true
(jeśli reprezentuje obszar ptaka, tj. Dziób, oko itp.). Następnie w jakiś sposób przetestuj jedyną przeszkodę na scenie pod kątem kolizji z ptakiem.
Ale moje problemy w moim podejściu to:
- Nie wiem, jak zainicjować drzewo quadów.
- Po zainicjowaniu drzewa quadów nie jestem pewien, jak przejść i użyć go, gdy przeszkoda znajdzie się we współrzędnych obrazu.
Jak zrobiłbyś wykrywanie kolizji z nie kwadratowymi postaciami?
LE: Innym podejściem, które widziałem, było użycie wielu obwiedni. Na przykład miałbym jedno lub kilka pudełek ograniczających na dziób, a następnie kilka na włosy lub ogon. Ale może być nudne. Jeśli w moim przypadku jest to prawidłowe podejście, jak wygenerowałbym te ramki graniczne? Wątpię, czy musiałbym mieć je na stałe zakodowane w moim programie.
LE2: Dbam o dość precyzyjne zderzenia. Nie mogę sobie wyobrazić, jak pojedynczy obwiednia lub okrąg może przynajmniej przyzwoicie przybliżać ten kształt, więc to podejście nie zadziała.