TopDown Engine で、Composite Collider 2D の Hole に入っても落ちれない問題

TopDown Engine では、CharacterFallDownHoles2D コンポーネントを持ったキャラクターが「Hole」レイヤーに設定されたコライダーを通ると落ちることができるのですが、Hole のコライダーが Tilemap Collider 2D + Composite Collider 2D だった場合、初期状態では落ちることができません。

デモを見ると、Tilemap で作られた Hole があるものの、よく見ると「Used By Composite」にチェックが入っていません。

f:id:Gigacee:20200706211224p:plain

デモのように Composite Collider 2D を使わないようにすれば落ちれますが、パフォーマンス的にはあまり良くないので、どうしたものか……と考えていたのですが、「Geometry Type」を「Polygons」にしたら落ちれるようになりました。

f:id:Gigacee:20200706211801p:plain

原因

キャラクターが Hole に入っているかどうかはPhysics2D.OverlapPointで判定しているのですが、「Geometry Type」が「Outlines」(Edge Collider 2D と同じ扱い)だと常に false になるからのようです。輪郭だけで中身が無いからオーバーラップしてるかどうか判らないということなんでしょうかね?

The coloring of this site is Dracula PRO🧛🏻‍♂️
This website uses the FontAwesome icons licensed under CC BY 4.0.

2020 GIGA CREATION