標的をマシンガンで撃ち落とす本格的なUnityゲーム作りに挑戦してみよう

今回は標的をマシンガンで連射して、床の外に落下させるまでの時間を競うゲームを作ります。プロジェクトの作成Unityメニューの[File]ー[New Project]と選択して、「Unity-Project Wizard」画面を表示します。「Project Location」の「Project名」に「

薬師寺 国安

2014年11月27日 18:00

今回は標的をマシンガンで連射して、床の外に落下させるまでの時間を競うゲームを作ります。

プロジェクトの作成

Unityメニューの[File]ー[New Project]と選択して、「Unity-Project Wizard」画面を表示します。「Project Location」の「Project名」に「machineGun」と指定して、「Create」ボタンをクリックします。

Asset Storeから各種コンポーネントのダウンロード

まず必要なものをAsset Storeから入手しましょう。「Asset Store」の検索欄に「Animated Soldier」と入力し、表示される画面で「Import」をクリックします(図1)。

3Dモデルの「Animated Soldier」を入手

図1:3Dモデルの「Animated Soldier」を入手(クリックで拡大)

すると「Importing package」の画面が表示されますので、「Import」をクリックします(図2)。

「Import」をクリックする

図2:「Import」をクリックする

ダウンロードが終了すると、「Project」の「Assets」フォルダーの下に「Cartoon Soldier」フォルダーが作成されています(図3)。

「Cartoon Soldier」フォルダーが作成された

図3:「Cartoon Soldier」フォルダーが作成された

もう一つ、今度はマシンガンのサウンドファイルをダウンロードします。「Asset Store」で「Futuristic weapons set」を検索すると「Futuristic weapons set」の画面が表示されますので、「Import」をクリックします。その後、「Importing package」の画面が表示されますので、「Import」をクリックします。ダウンロードが完了すると、「Project」の「Assets」フォルダーの下に、「FuturisticWeaponsSet」フォルダーが作成されています(図4)。

「FuturisticWeaponsSet」フォルダーが作成された

図4:「FuturisticWeaponsSet」フォルダーが作成された

ステージを作る

では、早速ステージを作っていきましょう。まず床となるCubeを配置します。名前は「Inspector」から「Floor」とつけておきます。同じく「Directional Light」も追加しておきましょう。「Floor」の「Transform」内の値は、表1のように設定します。

表1 「Transform」内の値

PositionX=7Y=1Z=7
RotationX=0Y=0Z=0
ScaleX=30Y=1Z=40

次に、「Main Camera」の位置を表2のように指定します。

表2 「Transform」の値

PositionX=-2.0Y=3.6Z=-5.8
RotationX=0Y=0Z=0
ScaleX=1Y=1Z=1

次に、「Floor」に「Texture」を適用させます。ダウンロードした「Cartoon Soldier」フォルダー以下の「Texture」内に、各種テクスチャがあります。今回は、その中から「dirt.tga」を選んでみました(図5)。

テクスチャを適用した「Floor」

図5:テクスチャを適用した「Floor」(クリックで拡大)

射撃の対象となるオブジェクトを配置する

射撃の対象となるオブジェクトも「Cube」で作成します。いつもの手順で「Cube」を追加し、「Inspector」から名前に「Cube1」と指定して下さい。そして、図6の「Tag」メニューから「Add Tag」を選択します。

「Add Tag」を選択する

図6:「Add Tag」を選択する

タグ追加の画面(図7)では、「Element0」に「Cube1」と入力します。

「Element0」に「Cube1」と入力した

図7:「Element0」に「Cube1」と入力した

「Hierarchy」から「Cube1」を選択し、「Tag」に「Cube1」を指定します(図8)。

「Tag」に「Cube1」を指定した

図8:「Tag」に「Cube1」を指定した

次に、「Add Component」を選択し、[Physics]ー[Rigidbody]と選択して、「Rigidbody」を追加します。これは「重力」を表し、これを追加しておかないと、銃で撃っても標的が動きません。

「Cube1」と同じ手順で、あと2つのCubeを追加し、それぞれ名前を「Cube2」、「Cube3」とします。それぞれの「Tag」に「Cube2」、「Cube3」を追加しますが、「Cube2」のタグは「Element1」に、「Cube3」のタグは「Element2」追加してください。同じように、「Rigidbody」もそれぞれの「Cube」に追加してください。

3個の「Cube」の配置が済んだら、「Cube」にも「Texture」を適用しましょう。

標的用のテクスチャをダウンロードする

「Asset Store」のカテゴリから「Textures & Materials」を選択します。今回はその中の「Metal Textures Pack」を選択して、いつもの手順で「Import」してください。「Importing package」で「Import」すると「Project」の「Assets」フォルダーに、「Metal textures pack」というフォルダーが作成され、その中に多くの「pattern」フォルダーが作られます。今回は「pattern24」フォルダー内のテクスチャを適用します。「Scene」画面上の各「Cube」にドラッグ&ドロップしてください。この辺りは、読者が自由に指定して下さい。テクスチャを適用すると、図9のようになりました。

3つの標的(Cube1~Cube3)にテクスチャを適用した

図9:3つの標的(Cube1~Cube3)にテクスチャを適用した(クリックで拡大)

では、次にマシンガンを持った兵士を配置します。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30