【Unity】スクリプトとは?

Unity Unity

スクリプトとは?

スクリプトを利用できるようになれば、オリジナルのコンポーネントを作ることが可能になります。ゲーム開発において自分の使い勝手の良いコンポーネントを用意しておくことは、ゲーム開発の効率を高める強力な武器になります。

Unityで利用できる言語

Unityでは、JavaScript、C#、Booの3つの言語でスクリプトを起動することができます。この3つのどの言語でスクリプトを作成しても、Unityの中間言語にコンパイルされ、同じ速度で実行されます。基本的に、C#を使い場合が多いです。

作成されたスクリプトは、シーン内のゲームオブジェクトに追加することで初めて実行されます。

MonoBehaviourクラス

Unityでコンポーネントを作成するためにMonoBehaviourクラスから派生したクラスを作成します。この時Unityでは、スクリプト名とクラス名を一致させる必要があります。一致させなければ、スクリプトを扱うことができません。

MonoBehaviourクラスは、ゲームオブジェクトに対する共通の処理が定義されており、オーバライド関数に処理を記述することでゲームオブジェクトのふるまいを定義することができます。

オーバライド関数の例

オーバライド関数 内容
Start() スクリプトが起動されてUpdate()が呼び出される前に一度だけ呼び出される関数。基本的に初期化などの処理をここに書く。
Update() 舞フレーム実行される関数。ほとんどのゲームプログラムでは、更新処理、画面描画を繰り返し実行して進行するループ処理を行っているが、この更新処理の中で、キー入力からプレイヤーや敵キャラクターを移動したりする処理を記述している
LateUpdate() 全てのUpdate()が実行された後に呼び出される関数。カメラの制御などに用いられる。
Awake() スクリプトが起動された直後に呼び出される関数。初期化処理を行う。
OnGUI() ボタンやテキストなどGUIを描画する処理を記述する関数。
Reset() スクリプトを最初にゲームオブジェクトに追加されたとき、または[Inspector]ビューのコンテキストメニューから[Reset]を選択した場合に実行される処理を記述する。

 

他のコンポーネントにアクセス

ゲームオブジェクトには様々なコンポーネントが追加されていて、スクリプトからコンポーネントの機能を利用することができます。頻繁に利用されるコンポーネントは、MonoBehaviourクラスのメンバ変数としてあらかじめアクセスできるようになっています。

メンバ変数には、スクリプトが起動したときにゲームオブジェクトに追加されているものだけをアクセスすることができ、追加されていない場合は、「null」になります。

MonoBehaviourクラスのメンバ変数の例

MonoBehaviourクラスのメンバ変数 内容
transfrom Transfromコンポーネントにアクセスする。
gameObject スクリプトが追加されているゲームオブジェクトそのものにアクセスする。
collider 衝突判定をするColliderコンポーネントにアクセスする。
rigidbody 物理挙動を制御するRigidbodyコンポーネントにアクセスする。

 

コメント

タイトルとURLをコピーしました