爆発させて周りのオブジェクトを吹き飛ばすRigidbody.AddExplosionForceを使って、手榴弾を作ってみます。前の記事では、常にシーンの中心で爆破させていましたが、今回は投げたグレネードからの爆発の力を加えます。力を周りのオブジェクトに加えるには、スクリプトを使って、タグによって周りのオブジェクトを検索して、一つ一つのオブジェクトのRigidbodyを取得します。シーンにたくさん配置したCubeのプレハブに「Cube」タグを付けます。グレネードのプレハブを作り、コライダーとRigidbody、新しいスクリプトを付けます。スクリプトで、グレネードが生成されて数秒後にグレネードを爆発させます。「Cube」タグがついたオブジェクトがなければ何もしない。}}FindGameObjectsWithTag()で、「Cube」タグのついたオブジェクトを全て検索し、foreachで一つひとつのオブジェクトに爆発の力を加えています。以前の記事で使ったボールを投げるスクリプトを新規の空のゲームオブジェクトにつけてグレネードを投げてみます。「Cube」タグの付いていないオブジェクトには爆発の力を与えません。赤いオブジェクトは「Cube」タグが付いていないので、白いオブジェクトとぶつかって動いているだけで、直接爆発の力を受けて上に飛んでいくことはありません。FPSコントローラからグレネードを投げることもできます。FPSコントローラのカメラのついたオブジェクトに新規スクリプトを付けています。}}Vector3.Lerp()を使えば、2つの点の中間の点の座標が得られます。FPSコントローラの視線と頭上への座標を引数にしているので、カメラが向いている方向の斜め上へグレネードが飛びます。﻿プロフィール猫ロモーフねころもーふUnityでゲームを作っています。Design:Template-Party。