[Unity] オブジェクトを爆風で吹っ飛ばす

By | 2014-08-25

前回の続きです。
Rigidbodyがアタッチされたオブジェクトが風に煽られて動く動作を応用し、爆風で放射状にオブジェクトを吹っ飛ばす動作を実現したいと思います。

爆風はある点を基準に放射状に風が生じるものと仮定します。
すなわち、風を発生させるオブジェクトから吹っ飛ばされる対象のオブジェクトに向かうベクトルを取得し、このベクトルの向きに風速を発生させればよいです。
スクリプトは以下のようになります。

上記スクリプトを以下の要領でアタッチします。

 1.新規ゲームオブジェクト作成

 2.Rigidbodyをアタッチ・設定

 3.ShpereColliderをアタッチ・設定、Is Triggerにチェックを入れる

 4.スクリプトをアタッチ

 5.空気抵抗係数(Coefficient)、爆風の速さ(Speed)の設定

これで放射状の風が発生し、オブジェクトが四方八方に飛ばされるようになります。

explosion-demo

今回は厳密な風速計算は行っていないですが、それらしく見せることが目的なら十分ではないかと思います。

コメントを残す

メールアドレスが公開されることはありません。