今回はスクリプトからGameObjectを利用する方法を紹介します。
Unityには「Resources」というフォルダを利用すれば、とても簡単に生成できます。
Resources
今まで動的にGameObjectを作成する際には、Inspector上でPrefab(プレハブ)を指定していました。今回のやり方は、スクリプト上で生成したいPrefabを選ぶことができます。
1 |
GameObject _prefab = Resources.Load<GameObject>("hogehoge"); |
この方法を利用する場合、事前にプロジェクト内に「Resources」フォルダを作成して、ここにプレハブを入れておきます。
Resources : Unity
メモリ
この方法でオブジェクトを作成した場合、ガベージコレクションでメモリが削除できません。ですので、明示的にメモリを削除する必要があります。
1 2 3 4 5 |
//アンロードをするアセットを指定する Resources.UnloadAsset(_prefab); //使用していないアセットをアンロード Resources.UnloadUnuseAssets(); |
GameScene内でオブジェクトを利用している場合には、上記メソッドを呼び出してもメモリの削除ができませんので、利用するタイミング等注意して下さい。
![]() | キャラクターであそぼう! Unity日和。 -UnityでBlender自作キャラクターを読み込んで楽しむ、シーン作り kappa,友 ビー・エヌ・エヌ新社 2015-06-23 売り上げランキング : 10852 Amazonで詳しく見る |
