【Unity】ResourcesフォルダからInstantiateしてます?意外と便利っすよね?
午前中は昼過ぎまで打ち合わせ、午後は仕様検討の会議してたらこんな時間になってしまいました!
坂内っす。
現在本格育成シミュレーションゲーム制作中です。
何が本格かって?
放置育成じゃないっすよ?それだけなんですけどね。
で、本日の話題ですが、みなさんオブジェクトをInstantiateするときって、ふつうにPrefabをPublicとかにくっつけて、Instantiateしてます?
俺はずっとそうやってました。
でもInstantiateするオブジェクトが多岐にわたる場合とかめんどいっすよね。
って時に、ReosourcesフォルダからInstantiateしちゃえるらしいっす。
例えば、以下のようにResourcesフォルダにPrefabを置いておきます。
今回はCubeというPrefabを用意しました。

んで、なんか適当にPrefabをInstantiateしてみます。
こんな感じで実行すると、こうなります↓

もちろんランダムなので、実行の度にCubeの場所が変わります。
GameObject cube = Instantiate(Resources.Load(DIR_CUBE_PREFAB + NAME_CUBE_PREFAB)) as GameObject;
の場所ですが、もちろん以下でもおk!
GameObject pref = Resources.Load(DIR_CUBE_PREFAB + NAME_CUBE_PREFAB);
GameObject cube = Instantiate(pref) as GameObject;
Resources.Load(Prefabの場所と名前);
で、できるようっす。
これで、prefabの名前に0とか10とかつけて、ランダムのオブジェクトが生成できるってことっすね。
あ、ちなみにこうやってInstantiateした時でも、Resources.UnloadUnusedAssets()とかで、リソース解放しないとダメなんですかね?
リソース解放まわりよく分かっていないんですよね・・・・・どなたか教えて頂ければ幸いです!
え?今頃こんなネタ書くなって?すいません
ネタ探しの旅に出ますorz アデュ~ノシ
坂内っす。
現在本格育成シミュレーションゲーム制作中です。
何が本格かって?
放置育成じゃないっすよ?それだけなんですけどね。
で、本日の話題ですが、みなさんオブジェクトをInstantiateするときって、ふつうにPrefabをPublicとかにくっつけて、Instantiateしてます?
俺はずっとそうやってました。
でもInstantiateするオブジェクトが多岐にわたる場合とかめんどいっすよね。
って時に、ReosourcesフォルダからInstantiateしちゃえるらしいっす。
例えば、以下のようにResourcesフォルダにPrefabを置いておきます。
今回はCubeというPrefabを用意しました。

んで、なんか適当にPrefabをInstantiateしてみます。
using UnityEngine; |
こんな感じで実行すると、こうなります↓

もちろんランダムなので、実行の度にCubeの場所が変わります。
GameObject cube = Instantiate(Resources.Load(DIR_CUBE_PREFAB + NAME_CUBE_PREFAB)) as GameObject;
の場所ですが、もちろん以下でもおk!
GameObject pref = Resources.Load
GameObject cube = Instantiate(pref) as GameObject;
Resources.Load(Prefabの場所と名前);
で、できるようっす。
これで、prefabの名前に0とか10とかつけて、ランダムのオブジェクトが生成できるってことっすね。
あ、ちなみにこうやってInstantiateした時でも、Resources.UnloadUnusedAssets()とかで、リソース解放しないとダメなんですかね?
リソース解放まわりよく分かっていないんですよね・・・・・どなたか教えて頂ければ幸いです!
え?今頃こんなネタ書くなって?すいません
ネタ探しの旅に出ますorz アデュ~ノシ
Category: 開発日記(Unity)
Tag: Unity« 【Unity】uGUIちょっとさわりはじめました。 | 【Unity】SNS連携って »
コメント
| h o m e |