Mesh Collidarの上に乗ったことを検出しようとして上手くいかなかった話
やろうとしたこと
ユニティちゃん迷路で、ユニティちゃんがゴール地点にたどり着いたことを検出するために、
ゴール地点にMesh Collidarを置いて、オブジェクトが上に乗ったことを検出しようとしました。
こんな感じに、赤い平面にMesh Collidarを割り当ててみた。
結果
上手くいかなかった。
考察
もしかしたら当たり判定が多少厳しめなのかも知れないと思ったが、
このくらいモロに当たっていても当たり判定が働かないので、
もしかしたらスクリプトが間違っているのかも知れない
…と思ったので、
こういうシーンを作り、先ほどと同じスクリプトを変更して、
BoxがPlaneの上に落ちたときに自分と相手を破壊するようにしてみた。
結果
BoxもPlaneも壊されたので、今度はちゃんとMesh Collidarは動いているようだ。
仮説
Mesh Collidarには、ある程度面に対して垂直な成分がないと当たり判定が働かない?
改善策
というわけで、ゴールに透明なBoxを浮かせてBox Collidarを持たせておくことで、
ゴール到達を検出できましたとさ。