Skip to content

Unityでつくる横スクロールシューティング

中学生のためのUnity入門。3Dの宇宙船を使って、グラディウス風の2Dシューティングゲームを全20回で完成させよう。

この教材で作るゲーム ​

宇宙を舞台にした 横スクロールシューティングゲーム を作ります。

  • 自機(じき)を上下左右に動かして、弾を撃ちます
  • 敵を倒すとスコアが入り、赤い敵はパワーアップカプセルを落とします
  • カプセルを取ると画面下のゲージが光り、好きなところでパワーアップ(スピードアップ・ミサイル・ダブル・レーザー・オプション・シールド)
  • 最後には大きなボスが登場します。倒せばステージクリア!
  • タイトル画面、ゲームオーバー画面、ハイスコアの保存までそろった「ちゃんとしたゲーム」になります

見た目は3Dモデルですが、動くのは横から見た平面(2D)の上だけです。だから、むずかしい3Dの計算をしなくても、本格的な見た目のゲームが作れます。

対象 ​

  • Unity を始めたばかりの中学生 を想定しています
  • キーボードとマウスの操作ができれば大丈夫です
  • プログラミングは Scratch を少しさわったことがある、くらいで始められます
  • C#(シーシャープ)というプログラミング言語は、この教材の中で少しずつ説明します

必要なもの ​

ものくわしく
パソコンWindows または Mac。Unity が動くもの(メモリ 8GB 以上がおすすめ)
Unity 6Unity 6(6000.0 LTS) を使います。インストールのしかたは 第0回 で説明します
Unity アカウント無料です。作るときは 保護者の人といっしょに 作ってください(学校のアカウントを使う場合は先生の指示にしたがいます)
インターネットUnity や素材のダウンロードに使います
コードエディタVisual Studio Code、Visual Studio、Rider など。第3回 で設定します

全20回の一覧 ​

回タイトル学ぶこと
0準備をしようUnity のインストール、プロジェクト作成、画面の名前、素材の入れ方
1宇宙の舞台を作るシーン、カメラ(Orthographic)、座標の考え方
2自機を置く親子関係、3Dモデルの配置、マテリアル、プレハブの考え方
3自機を動かすスクリプトの作り方、Start と Update、変数、Input System
4画面からはみ出さないMathf.Clamp、機体を傾ける(Quaternion)
5弾を撃つプレハブ、Instantiate、Destroy、入力の追加
6流れる星空Particle System、多重スクロール
7敵が現れる敵の移動、コルーチン、Random.Range
8当たり判定Collider、Rigidbody、Trigger、Tag、GetComponent
9爆発と音爆発パーティクル、効果音、BGM
10スコアを表示Canvas、TextMeshPro、static
11残機とゲームオーバー無敵時間と点滅、ボタン、シーンの読み直し
12タイトル画面シーンの追加、Build Profiles、シーンの切り替え
13いろいろな敵Prefab Variant、配列、Mathf.Sin、Mathf.Atan2
14パワーアップカプセルゲージUI、switch、新しい入力アクション
15パワーアップの中身enum、関数の引数、シールド
16オプションQueue、List と foreach、LateUpdate
17ボス戦enum で状態を管理、攻撃パターン、HP バー
18ステージの流れScriptableObject、出現表、クリア画面
19仕上げと公開カメラのゆれ、Bloom、ハイスコア保存、Web ビルドと公開

こまったときは付録も見てください。

この教材の読み方 ​

手順とコード ​

  • 番号のついた手順は、上から順番に1つずつ操作します
  • Unity のメニューやボタンの名前は、英語のまま 太字 で書いています(例: GameObject > 3D Object > Cube)。Unity は英語表示のまま使います
  • コードは「その時点のファイル全体」をのせています。前の回から変わった行には、行の終わりに // ★追加 や // ★変更 と書いてあります
  • ▶ は Unity の Play(再生)ボタンのことです

色つきの囲み ​

ページの中には、こんな囲みが出てきます。

ヒント

知っておくと便利なこと、近道です。

注意

まちがえやすいところ、気をつけてほしいところです。

よくあるまちがい

多くの人がつまずくポイントです。うまくいかないときは、まずここを見直しましょう。

先生へ

先生向けの補足です。生徒のみなさんは読みとばしても大丈夫です。

各回の終わり ​

  • チャレンジ課題: 早く終わった人向けのおまけです。できなくても次の回に進めます
  • つまずきポイント: うまくいかないときのチェック表です
  • まとめ: その回で覚えたことのふりかえりです

コードについての注意

この教材のコードには、実際の Unity プロジェクトでの動作確認がまだ終わっていないものも含まれます。うまく動かないところを見つけたら、先生に教えてください。

ライセンス ​

  • この教材の本文・コードは、教室や授業の中で自由に使ってかまいません(印刷・配布・プロジェクターでの表示など)
  • ゲームに使う3Dモデル・効果音・音楽などの素材は、それぞれの作者のライセンスにしたがいます。くわしくは 素材とライセンス を見てください
  • 「Unity」は Unity Technologies の商標です。この教材は Unity Technologies の公式教材ではありません