Unityでまず離れておきたい概念がゲームオブジェクトやコンポーネントです。
ゲームオブジェクトとは?
ゲームオブジェクトは、カメラやライト、3Dの物体などのパーツです。
「ゲームオブジェクト」から追加できるものがゲームオブジェクトです。
ゲームオブジェクトを取得する
取得する場合には、「Find」関数を使えばオブジェクト名から検索できます
GameObject CUBE;
CUBE= GameObject.Find("BIG CUBE");
ゲームオブジェクトの表示・非表示
「SetActive」で、アクティブ化、非アクティブ化できます。
GameObject CUBE;
CUBE= GameObject.Find("BIG CUBE");
CUBE.SetActive(true);
メッセージを送信
「SendMessage」で、ゲームオブジェクトへメッセージを送信(関数発動)ができます。
GameObject CUBE;
CUBE= GameObject.Find("BIG CUBE");
CUBE.SendMessage("ApplyDamage", 5.0);
コンポーネントとは?
ブロック化された機能といった感じです。コンポーネントメニューにあるものが、コンポーネントです。
インスペクタでゲームオブジェクトを選択したときにでてくる「Transoform」「Script」などがコンポーネントです。
スクリプト操作
スクリプトからアクセスするには「ゲームオブジェクト.GetComponent<コンポーネント名>().プロパティ」のようにアクセスできます。
以下は物体内の「material」コンポーネントのテクスチャにアクセスしています。
g.GetComponent<Renderer>().material.mainTexture = mytexture;
アセットとは?
Unityでシーンに使う様々な素材を登録しておく場所です。
ただしゲームからスクリプトで読み込むには「Resources」フォルダ内に配置しておくなどの処理が必要です。
アセットマネージャー
Unityの特色の1つは豊富なアセットです。
無料から有料、各種モデルからエフェクトまで用意されています。
使用するには「ウィンドウ>アセットマネージャ」から起動。
有名な無料アセットは、Unityちゃんのモデルでしょうか。
Unity-Chan! Model | 3D Characters | Unity Asset Store
「Add to asset」で追加後、パッケージマネージャからダウンロードします。
ダウンロード、インポートが終わってようやく実際に必要なものをチェックしてインポートできます。
プレファブをシーンにドラッグするだけで、Unityちゃんのモデルが配置できます。
本ブログのUnity関連記事一覧はこちら。