Unityスクリプトの基礎【Unity】

ここでは、Unityにおけるオブジェクトの扱いとスクリプトの基本的なことを説明していきます。

開発環境

  • Unity 2019.4.1f1

Unityにおけるオブジェクト

UnityにおけるオブジェクトはGameObject、アセットの2種類のみです。

GameObject

Unityにおけるエンティティ(=3D Object、Light、CameraなどUnityのHierarchyに表示されるもの)はすべてGameObjectです。GameObject自体はエンティティを表すカラの入れ物で、Componentをアタッチすることでその形状や機能・動作を指定することができます。

アセット

アセットはUnityに取り込まれたファイルのことで、デフォルトではUnityのProject > Assetsに表示されます。アセットストアから取得したデータや、Unityスクリプト、画像データ、テキストデータなどのすべてのファイルがここに含まれます。

GameObjectからアセットのデータを参照することでGameObjectを修飾したり、動作を指定したりすることができます。また、一部のアセットはComponentとしてGameObjectにアタッチすることも可能です。

Unityスクリプトとは?

ゲームを作るにはUnityのオブジェクトを一定のルールに従って変化させたり、プレイヤーの入力に従ってオブジェクトを移動させたりする必要があります。そのルールを作るのがスクリプトです。

Unityスクリプトのライブラリ

UnityスクリプトはC#で作成し、Unityに組み込まれたMono Runtimeによって実行されます。また、ここで使用可能なクラスライブラリはデフォルトでは.NET Standard 2.0に準拠したライブラリですが、.NET 4.x (.NET Framework 4.xのこと?)も選択可能です。

C#の実装については以下の記事をご覧ください。

さらに、Unityスクリプト用のライブラリも使用可能です。実際のスクリプトは主にUnityEngine名前空間のライブラリを用いて作成していくことになります。

「Edit」→「Project Settings」→「Player」→「Other settings」→「Configuration」でスクリプトのランタイム(Mono)や、準拠するクラスライブラリ(.NET Standard 2.0)を選択できます。

それぞれのクラスライブラリのドキュメントは以下になります。

C#スクリプトの実行

UnityEngine.MonoBehaviour クラスを継承することで、そのスクリプトをGameObjectにアタッチできるようになります。アタッチされたスクリプトは、Sceneが読み込まれたときにStartメソッドが読み込まれ、その後はUpdateメソッドがUnityの描画フレームごとに呼ばれます。

このようにして、UnityのC#スクリプトはGameObjectにアタッチすることで、ゲームの進行に合わせて自動的にStartメソッドやUpdateメソッドが呼び出されることで実行していく流れになります。

通常のC#プログラムのようにMainメソッドから実行するのではないので、最初は戸惑うかもしれませんが、あくまでもスクリプトなのでゲーム全体の進行はUnity側が管理してくれるというイメージです。

関連記事・スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です