(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

ResourceやAsset Bundleをいい感じに使えそうなResource Managerという公式の機能を見つけたけど、調べてる途中でギブアップしたという話【Unity】


このエントリーをはてなブックマークに追加

この記事でのバージョン
Unity 2018.1.0b7


はじめに

PackageManagerを使っている時に、

Resource Managerという見慣れてるいるようで、見慣れないものを見つけました。


f:id:kan_kikuchi:20180218175358j:plain


今回はこのResource Managerを試して、使い方を記事にしてみよう!

というつもりだったのですが、情報がなさすぎて途中で諦めました……。


しかしせっかくなので、諦めるまでに調べた事を記事にして見ました!





Resource Managerとは


そもそもResource Managerはなんぞやという話からですが、

公式マニュアルには以下のように書いてあります。

The ResourceManager is an extendable high level API that asynchronously loads and unloads assets.

Google翻訳
ResourceManagerは、非同期的にアセットをロードおよびアンロードする拡張可能な高水準APIです。

With the proper extension, assets can be loading from a variety of locations (Resources, Bundles, etc) all through a single API.

Google翻訳
適切な拡張機能を使用すると、資産を単一のAPIを通じてさまざまな場所(リソース、バンドルなど)からロードすることができます。

Unity Resource Manager | Package Manager UI website


名前から、てっきりResourceディレクトリ関連のモノかと思い気や、

AssetBundleも含めたリソースを管理(しかも非同期)できるモノのようです。


後術するサンプルコードを軽くみた感じだと、

AssetBundleをビルドせずにシュミレーションする事も出来るみたいなので、

Asset Bundle Managerの(一部?)機能も有しているようです。


ちなみに2018.1で追加された機能です。


導入

導入は簡単、Window->Package Managerからウィンドウを開き、


f:id:kan_kikuchi:20180217110336j:plain


左のPackagesからResource Managerを選び、右上のInstallを押すだけ。


f:id:kan_kikuchi:20180218181633j:plain


サンプル

では早速使ってみよう!とりあえずリファレンスを見よう!

と思い気やリファレンスがまだありません。

というか先ほどのページ以外に、情報がありませんでした。(この記事執筆時点では)


そしてその唯一の情報源には、「使い方はサンプルを見てくれ」的な事が書いてあるのですが、

肝心のサンプルがどこにあるかは書いてません。

See the Samples directory for help on how to use it as a standalone package.

Google翻訳
スタンドアロンパッケージとして使用する方法については、Samplesディレクトリを参照してください。

Unity Resource Manager | Package Manager UI website


途方にくれて、Unity周りを色々いじっていると

Component -> ScriptsにResourceManager関連らしきものを発見!


f:id:kan_kikuchi:20180218182310j:plain


これを試しにAddし、Scriptを開き


f:id:kan_kikuchi:20180218182808j:plain


そのScriptのある場所をFinderで開くと、


f:id:kan_kikuchi:20180218182834j:plain


以下の場所にある事が判明、


f:id:kan_kikuchi:20180218182924j:plain


そしてその周辺を探っていると、Samplesディレクトリを発見!


f:id:kan_kikuchi:20180218183049j:plain


Resource Manager関連は上記のResourceManagerRuntimeData.csしかなかったので、

おそらくこれがサンプルだと思われます。


f:id:kan_kikuchi:20180218184934j:plain


とりあえずパッと見で、Resource Managerを使うにはusing ResourceManagementが必要な事、

Asset Bundlesのシュミレーションが出来る事は分かりました。


なお、これらはcacheに入っていたので、

おそらくオリジナルがどこかにあると思うのですが、それは探しきれず……。


おわりに


サンプルが見つかったので、これを読み解いていけば良いのですが、ここでギブアップ!

自分が使うのも、一般的に使われるようになるのも当分先で(Unity2018自体がまだベータ版なので)、

その頃には情報も色々あるだろうと思うと、どうにもやる気が出ませんでした……。


ちなみにResourceManagerRuntimeData.csは200行もなく、

内容を理解するのもそこまで大変じゃないかと思うで、

どうしても気になるという方はぜひチャレンジしてみてください!そして僕に教えてください!!


p.s.

この記事を書き終えた後に見た講演の動画に、Resource Manager(仮)の話が出てきてました……!

(使い方とかではなく、これからこうしていきたい的な話。)


f:id:kan_kikuchi:20180219132044j:plain
f:id:kan_kikuchi:20180219132053j:plain
f:id:kan_kikuchi:20180219132102j:plain