これまでの動画では、銃弾は全てリジッドボディを適用して、コライダーで当たり判定を処理していた。
そのため、弾道なんかは自然に放物線描いて落ちてたり、弾速が早すぎてもすり抜けたりすることはなかった。
けれども、弾道の処理やあたり判定ってリジッドボディで物理計算を利用するほど複雑でもないし、またリジッドボディによる物理演算は好ましくない結果になることがあったりする。
今回はこの部分をリジッドボディもコライダーも使わずに自前で当たり判定するように作り変えた。
内容は今回もさほど難しいことはやってなくて、毎フレームごとに一フレームで進む距離を計算して、移動前の位置から移動後の位置にかけてレイを飛ばす。
レイにヒットすれば、あたったということにして、ヒットしなければ、その位置まで弾を進める、というもの。
Unityで、物理演算やコライダーによるあたり判定処理がどのくらいのCPUコストがかかっているか知らないんだけども、おそらくそれよりはずっと軽い処理になったのではないかと思う。
次回はこの処理を応用してサブウェポンの手榴弾を実装する予定。
手榴弾といっても、ちょっと特殊な仕様で、時間で爆発するのではなく、戦場の狼と同じように地面に着弾した時点で爆発する。
物理演算を省くためでもあるけど、この辺はリアリティよりもゲームとしての楽しさや爽快感を重視したい。