■Resources.Loadで読み込む
Resources.Loadで読み込む手法について。
Resources.Loadは、「Resources」フォルダ下にあるプレハブやテクスチャを
インスタンスとして配置できる。
これで、テクスチャの差し替えやBGMの追加等を追加で読み込める。
とは言え、小物ならともかくステージやUIといった大きな物を読み込むときは、
まるごとプレハブ化するかランタイムで組み立てる事になる。
プレハブのプレハブは、参照が切れてしまうみたいなので、注意。
private DictionarytextureList = new Dictionary ();
void GetTexture(string texturename)
{
if( textureList.ContainsKey( texturename ) == false )
{
Texture2D t = Resources.Load(texturename) as Texture2D;
textureList.Add(texturename, t);
}
return textureList[texturename];
}
■注意点は2点
注意点は2点
・非同期メソッドではないので、一瞬止まる
・リソースは名前で取得するので、命名規則が必要
一瞬止まる問題は、リソースを細かく分断しておいて読むとかすれば
ほとんど意識することなく読める気がする。
(管理が面倒そうなので、そこはトレードオフで)
ドローコール問題を知る前はそれで何とかなると思ってました(´・ω・`)
[Unity][Unity3d]「第4回 渋谷Unity技術勉強会xコロプラUnity事例発表」に参加して来ました(強火で進め)
http://d.hatena.ne.jp/nakamura001/20120426/1335464256