Unityによるモバイルゲーム開発 ―作りながら学ぶ2D/3Dゲームプログラミング入門
by Jon Manning, Paris Buttfield-Addison, 鈴木 久貴, あんどうやすし, 江川 崇, 安藤 幸央, 高橋 憲一
11章武器と照準の追加
宇宙船が飛び回るようになったので、今度は全体的なゲームプレイを追加しましょう。まず、宇宙船に武器を追加します。それが済んだら、目標を狙うための照準が必要になります。
11.1 武器
宇宙船が武器を使うと、何かに当たるか、一定時間が経過するまで前方に飛ぶレーザーボルトが発射されます。それが他のオブジェクトに当たると、そのオブジェクトがダメージを受けるものであれば、オブジェクトに情報を伝える必要があります。
これを行うには、宇宙船のときと同じようにコライダーを持つオブジェクトを作成し、指定した速度で前方に移動させます。ショットをどのように表示するかにはさまざまな可能性があり、ミサイルの3Dモデルを作成したり、パーティクルエフェクトを作成したり、スプライトを作成したりすることができるでしょう。どうするかは読者次第であり、ゲームでのショットの実際の動作には影響しません。
本章では、トレイルレンダラーを使用してショットを表示します。トレイルレンダラーは移動に伴って軌跡を作成し、最終的に消えます。これは、ゆらゆらと動いたり飛行したりするような動くオブジェクトを表現する際に特に適しています。
ショットのトレイルレンダラーはシンプルです。薄い赤色の線を軌跡として残し、時間が経過するにつれて細くなっていきます。ショットは常に前進するので、「ブラスターボルト」のような格好の良い効果を作り出します。
ショットの描画に関係のないコンポーネントは、キネマティックリジッドボディで実装します。通常、リジッドボディは力を加えられるとそれに対して反応します。例えば、重力によって引きつけられますし、別のリジッドボディとぶつかると、ニュートンの運動の第1法則が示すように速度が変化します。しかしながら、ショットが途中で衝突したとしても、その物体を押し倒すようにはしたくありません。Unityで、他のオブジェクトとの衝突はできるようにし、かつリジッドボディに加えられた力を無視できるようにするには、 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access