【Unity】衝突判定でつまずいたはなし

今作ってるRTSの当たり判定で少し悩んだのでメモ。

 

ユニットが攻撃対象を判定するために、Rangeっていう子オブジェクトを持たせて、そのオブジェクトに当っている敵ユニット目掛けて弾を発射するようなコードを書いていたんだけど、時々反応しなくなるバグがあり、修正に結構手こずった。

原因は単純明快で、Rangeと敵ユニットにRigidbodyコンポーネントを持たせていなかったせいだった様子。

 

詳しくはこことか、

http://code.google.com/p/vga-unity/wiki/GP10UnityCourse08

こことか

http://gamesonytablet.blogspot.jp/2012/11/unityontriggeroncollision.html

見れば理解しやすいと思う。

 

しかし、なんで元々のRigidbodyを設定していなかった状態で衝突判定が取れていたのか少々不思議……。

ちゃんと解説を読まなきゃなあ。

その場しのぎで設定すると色々問題が出てくるけど、時間も無いし、しょうがないね。