devlog [naru design]

プログラミングやテクニカルな内容の覚え書き。

Assets内にResourcesフォルダを作成してアセットを入れておくと、実行時にスクリプトで読み込むことができます。

例えば、プレハブからインスタンスを作成するようなスクリプトの場合、

public GameObject _prefab;

のようにパブリックな変数を用意し、

スクリーンショット 2014-04-05 12.30.46

InspectorパネルへDrag&Dropすることで複製するプレハブを設定します。

この一連の操作は、アセットをリソースとして登録しておくことで、実行時にスクリプトから行うことが出来ます。前回の記事「Unity3D:インスタンスのマテリアルを変更する」をResourcesフォルダから実行時に読み込む方法に変えてみます(プレハブの作成やスクリプトの追加などの手順は省略)。

1. AssetsにResourcesフォルダを作成

スクリプトから読み込むアセットはResourcesフォルダ以下に入れておく必要があります。

スクリーンショット 2014-04-05 12.34.47

サブフォルダを作成して分類することも可能。この例ではサブフォルダ「Mat」と「Prefab」を作成し、それぞれにマテリアル「CubeMat」とプレハブ「CubePrefab」を入れました。

2. スクリプトから読み込む

Resoucesフォルダ内のアセットを読み込むには、Resouces.Load()メソッドを使用します。

パブリックな変数はプライベートに変更し、Awake()でリソースから変数へ読み込みます(行13-14)。

3. 実行結果

Inspectorパネルで設定したときと同等な結果になりました。

スクリーンショット 2014-04-05 11.55.40

Pocket

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Trackback URL: