Avance.Lab

技術紹介

はじめてのUnity ~初級編2~

公開日:2025.08.29 更新日:2025.08.29

tag: Unityゲームエンジン

こんにちは。RYUです。


ゲームエンジン Unityのお勉強第2回。
今回は簡単なスクリプトを書いてみる事と、シーン切り替えについて見ていきたいと思います。

スクリプトを書けるようになると、やれる事が格段に増えます。むしろ必須と言っても良いかと思います。まずは簡単なスクリプトの書き方をマスターして慣れる事から始めていきましょう。

3. スクリプトを書いてみよう!

●3.1 スクリプトを作成してみましょう

まずはスクリプトを新しく作成するところからです。この手順は複数あります。いくつか紹介しますがどの手順でも作成可能です。

「アセット」メニュー – 作成 – C#スクリプト で作成
プロジェクトビューを右クリック – 作成 – C#スクリプト で作成

前回もご紹介しましたがゲームオブジェクトを選択してAddComponentで作成

AddComponent以外の方法でスクリプトを作成した場合は、名前変更してゲームオブジェクトに関連付けましょう。スクリプトをマウスで掴んで目的のゲームオブジェクト上にドラッグ&ドロップすればOKです。スクリプトも1つのコンポーネントであり、すべてのコンポーネントはゲームオブジェクトに関連付ける事で動作させることが出来ます。

実際に書いてみましょう。「スクリプトを編集」でエディタが起動します。

●3.2 実際にスクリプトを書いてみましょう

「スクリプトを編集」でスクリプトを開いてみます。事前にUnityがクラス作成してくれている事が分かります。


TestScript クラスが作成されていますが継承クラスであり、その基底クラスとして MonoBehaviour というクラスが使用されている事が分かります。MonoBehaviour クラスって何でしょうか。

MonoBehaviour(モノビヘイビアと読みます)クラスはUnityでスクリプトを書く際の心臓部の機能になります。このクラス継承が無ければそもそもゲームオブジェクトに関連付けする事も出来ず、またこのクラスを継承する事で様々な制御やイベント処理を簡単に実装する事が出来ます。

このクラスを理解する事は、Unityを使いこなせる中級者以上を目指す上では欠かせない要素です。ただ今回は初級編ですのでこのクラスを掘り下げる事は避けたいと思います。Unityでスクリプトを書く為に必ず必要になるおまじないだと考えてください。もちろん興味を持たれた方はMonoBehaviourを色々と検索されてみる事をオススメ致します!かなり多機能で奥が深いです。

それではスクリプトを書き替えてみましょう。今回は簡単な変更として、キーボードの矢印キーを押下するとCubeがその方向へ移動するプログラムを書いてみます。

それではスクリプトを保存して実行してみましょう。矢印キーを押下するとCubeが移動出来ました。

実行画面 左)移動前 右)移動後

最初のフレームで位置を記憶し、2度目以降のフレームでキー入力を読み取って位置情報を更新するだけ。たったこれだけのスクリプトでも単純な座標移動であればキャラクタを自由に動かせてしまいます。描画の更新処理などは全部Unityが裏方でやってくれます。簡単ですね!

スクリプトで実現出来る事は非常にたくさんあると思いますが、下記にいくつか例を挙げます。
色々なことが出来るようになればゲーム作りがますます楽しくなりそうですよね。
目指せ、スクリプトマスター!

機能
ゲーム制御プレイヤーの移動、ジャンプ、攻撃、
アイテムの取得、スコアの加算、ライフ管理、
ゲームクリア、ゲームオーバー、画面切り替えなど
AI制御や演算処理敵キャラクタの行動パターン、
イベントトリガー制御、
当たり判定、
経路検索処理など
カメラ・演出制御カメラの追従・ズーム・切り替え、
アニメーションの再生・制御、
エフェクトの発生など
UI・インタラクションボタンなどのUI操作、
メニュー画面操作、キー入力やマウス制御など
データ管理セーブ/ロード、
データベースやクラウド制御など
マルチプラットフォーム対応PC・スマホ・VR・ARなどへの対応、
GPSの活用など

4. シーンを切り替えてみよう!

Unityではゲームの1画面などの単位をシーンと呼びます。最初にタイトル画面があり、スタートするとゲーム画面が表示され、クリアするとエンディング画面が出てくるかもしれません。それら1つ1つが別々のシーンとして作成され、切り替える事で運用する事が出来ます。
それぞれのシーンは全く異なるゲームオブジェクトの配置が可能ですので、うまく使えば単調な画面のゲームでも飽きにくい工夫などが出来るかもしれませんね。

●4.1 シーンを作成してみよう

もうお気づきの方もいらっしゃると思いますが、最初に新規プロジェクトを作成した時のゲーム画面、これも1つのシーンです。つまり知らぬうちに1つのシーンを作成していたという事になります。

新規プロジェクトを作成するとシーンも自動生成

では別のシーンを作成してみましょう。

プロジェクトビューを右クリック – 作成 – シーン で作成

シーンが作成されたら新しいシーンファイルをダブルクリックしてみましょう。シーン設定が切り替わります。

作成されたシーンをダブルクリックで開く。ついでに3Dテキストを配置してみました。

●4.2 シーンを切り替えてみよう

では “SampleScene” から “New Scene” へ切り替えるにはどうすれば良いでしょうか。

Unity では シーンマネージャーという機能を利用する事でシーン切り替えが実現出来ます。
試しに、最初に矢印キーの押下で移動させることが出来た”SampleScene”のCube へ、
さらにスペースキーを押下するとシーンが切り替わるコードを考えてみます。

スペースキー押下で シーンを切り替えるスクリプトコードを追加

さあ、これでシーン切り替えが完成…とはいかず、残念ながらこのまま実行するとシーン切り替えの瞬間にエラーが表示されます。これは、”SampleScene” シーンが “New Scene” シーンの存在を知らないからです。

実行中、ステータスバーにエラー表示。シーンをビルドの設定で追加してくださいと言われています

これを解消するためにはビルド設定を使用します。ファイルメニュー > ビルド設定 で開く事が出来ます。ここで、ビルドで含まれるシーンを選ぶ事が出来ますので、各シーンへ切り替えながらそれぞれを追加します。

2つのシーンが追加されたビルド設定画面。この画面を閉じる時は右上の×ボタンで閉じて良いです

さあ、これで準備が出来ましたので実行してみます。
今までと同じく矢印キーでもCubeが動きますが、スペースキーを押下すると…

実行画面。左がSampleSceneで右がNewSceneです。ぱっと切り替わります

これでシーン切り替えが出来ました。シーン切り替えのスクリプトと、実行前にシーンをビルド設定に登録しておかなければいけない事を覚えておきましょう。

シーン切り替えはそれだけであれば一瞬で切り替わりますが、画面を切り替える演出にも色々とあると思います(フェイドイン・フェイドアウトとか、画面スライドとか)。そういった演出に凝ってみるのも腕の見せ所かなと思います。

次回

次回は初級編3 にて静的クラスとプレハブ機能について解説いたします。

RYU

Windowsアプリケーション開発とかドライバ開発とか。

良い歳してゲーム好きなのでゲーム開発してみたいですね。

関連記事