ここでは、Unityで作成したアプリにc#のコンポーネントを追加する方法を紹介する(新規シーンの作成方法は省略)。
0. Unityの開発画面の説明
Unityを起動し、任意のシーンを開くと、次のような開発画面が表示される。
(画面中央のSceneビューに写っているハル(http://sites.cybernoids.jp/cubism2/samples) は気にしないでほしい。)開発画面の仕様は以下の通り。
- Sceneビュー:GameObjectを選択し配置する際に使用する。
- Gameビュー:最終的に出力しようとしているゲーム画面。画面中央の「▶」(再生)ボタンとクリックすると、自動的にGameビューが表示される。
- Hierarchyウインドウ:GameObjectを作成し登録する。
- Inspectorウインドウ:選択したGameObjectに登録しているコンポーネント(ソースコードや、音声ファイル、各種イベントなど)が表示される。
- Projectウインドウ:現在開いているシーンのフォルダ構成を表示する。
- Consoleウインドウ:画面中央部の「▶」(再生)ボタンを押下した際に、ログの内容を確認できる。
- Editor Testsウインドウ:作成したユニットテストの実行結果が表示される。
1. GameObjectの作成
Unityの開発画面のHierarchyウインドウにて右クリック→「Create Empty」から、新規GameObjectを作成する。作成したGameObjectに任意の名前を付ける。
2. Componentの追加
先ほど作成したGameObjectを左クリックで選択すると、GameObjectに対応したInspectorウインドウが表示される。以下では、C#のテンプレートの作成方法を紹介する。
Inspectorウインドウの「Add Component」ボタンをクリックし、「New Script」を選択、任意のNameとLanguage(本記事ではC Sharpを選択)を入力し、「Create and Add」ボタンをクリックする。
すると、C#のテンプレートが作成される。
**補足:**プロジェクトに格納されている既存のソースコードや音声ファイルなどをコンポーネントとして追加することもできる。
Inspectorウインドウの「Add Component」ボタンをクリックした後、追加したいファイルを追加したい場合は「Scripts」をクリックし該当のC#を選択する。音声ファイルを追加したい場合は「Audio」→「Audio Source」をクリックし、空の「Audio Source」コンポーネントの「Audio Clip」に該当のファイルをD&Dする。
3. C#の記述方法
先ほど生成したC#をVisual Studioで開く(UnityのProjectウインドウから該当のC#ファイルをダブルクリックすることで開くこともできる)。
すると、下記のようなテンプレートが生成されていることを確認できる。
public class NewBehaviourScript : MonoBehaviour {
void Start () {
}
void Update () {
}
}
MonoBehaviourとは、このクラスがMonoBehaviourからの派生であることを示している。Unityで扱うオブジェクトは全て、MonoBehaviourから自動的に派生するようにUnityエディタが作り出す。MonoBehaviourは、Unityで作られるゲーム中で出てくる物体などの動作のきっかけ(イベント)で動かす処理のかたまり(メソッド)等をつなぐ役割をしている。
(参考:http://docs.unity3d.com/jp/current/ScriptReference/MonoBehaviour.html)
**Start ()**メソッドには、Unityで作成したアプリが起動されたときに実行する初期化処理を記述する。つまり、Start ()は一度しか実行されない。
**Update ()**メソッドには、Unityアプリ実行中の毎フレームで実行したい処理を記述する。アプリを終了しない限り、Update ()は何度も実行される。
**補足:**MonoBehaviourからの派生クラスとして記載された各C#のStart ()やUpdate ()は、Unityアプリが実行時に、ひとまとまりのStart ()やひとまとまりのUpdate ()のように実行される。つまり、他のコンポーネントを意識せず、各コンポーネントにてそこで実装したい処理を記述することができる。