必要な部分のみ順次読み込むやり方について。
■Resources.Loadで読み込む
とりあえずこの手の手法でよく紹介されてるのが、
Resources.Loadで読み込む手法。
これは、ゲーム実行中にResourcesフォルダからファイルを読み込む
そんな機能。
読み込みは大体こんなかんじで行われる。
読み込める ファイルはResourcesフォルダ下ならOKで、Texture2D texture = Resources.Load(filename) as Texture2D;
Resourcesフォルダが複数あってもうまい具合に読みこんでくれるみたい。
Unity: Resourcesフォルダが複数ある時の読み込みテスト(ハマケン100%開発)
http://hamken100.blogspot.jp/2012/04/unity-resources.html
名前でファイルを取得するので、スクリプトでリソースを管理したいときとかに便利。
下はResources.Loadを駆使して作られてる画面
そんな事よりタッグフォースやろうぜ
■でかいファイルはゲームが止まる
Resources.Loadは便利な機能だけど、二つ問題がある。
一つは使用メモリの問題。これはキャッシュを開放してやれば解決する。
もう一つの問題は、この処理を非同期で実行することができない事。
色々調べて分かったけど、どうもResources.Loadを別スレッドに乗せて実行することが
出来ないらしい。
なので必然的に(大きい||大量なファイル)を読み込む際はゲームが停止する。
逆に言えば、細かくファイルを複数のタイミングに分けて読む分には
ゲームの停止時間は短くて済むかも。
ただ、その辺りの調整をかけると非常に面倒そうな気配がする。
最近のは出来るみたいです。テクスチャの分割ロードとかも
■スクリプトを利用してシーン管理
テキストを使ってランタイムに制御しているゲームは
Resources.Loadを使うのに向いていると思う。
具体的にはアドベンチャーゲームや、STGのステージ構成等。
読み込む対象はリソース全般の読み込み。
というのも、
命名規則がしっかりしていれば、インスペクターを操作せずにステージが増やせるし、
次のステージみたいな今必要ない情報は省けるし、日本語も使える。
何が良いって、ADVシステムのシナリオにResources.Loadを使う場合、
キックする仕組みとADVシステムさえ作ってやれば、あとはフォルダ管理で済むところ。
名前参照もたまには便利。
Unityのリソースにテキストを格納する(Nanashi-soft)
http://blog.livedoor.jp/nanashisoft/archives/52479914.html
この記事書いたと思ったら消えていた。予約投稿は信用ならんね