unity FPSの簡単な作り方

  1. どうもこんにちはききです。
    今回はFPSの作れ方について解説していきたいと思います。
    まずFPSには弾の発射方法が2パターンあります。

銃口から実弾を発射する方法とレティクルからRayCastを飛ばす方法です。
銃口から発射する方法は弾道計算とかしないといけないので非常に難しいです。

それをさらにレティクルの直線状にあわせる作業も必要です。だいたいズレたり斜めにとんだりします。ロケランだったらそういうわけにもいきませんが
基本高速で飛ぶ弾丸は視認できないので実弾は必要ありません。

というわけでRayCastを使った方法を解説します。
RaycastHit hitInfo;
//hitしたときtrueを返し情報を保存//
Ray ray = camera.ViewportPointToRay(0.5f,0.5f,0);
//カメラの中心を通るRay//
if(Physics.Raycast(ray, out hitInfo, m_MaxDistance);
//rayに原点とdirectionを入れることで省略できます。//
if(hitInfo.collider.gameObject.tag == “enemy”);
//ダメージ処理//
}
これだけ。

カメラの中心位置にレティクルのUIを配置。
そこに向かってRayを飛ばす。

と同時に銃口からフラッシュを出す。
銃からは弾は発射されていませんがあたかも
弾が発射されたように見せることができます。

すべてがそうじゃないけどこのやり方が使われていることが多いです。
本当はもっと高度な計算とか必要だったりしますが
ゾンビを軽く倒す程度のゲームならこれで問題ないかと。

ではまた次回。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)