UniVRMのAssembly Definition設定方法

UnityAssemblyDefinition, UniVRM

はじめに

もう遅いですが明けましておめでとうございます。今年もよろしくお願いいたします。

表題の通り、Assembly Definitionで細かくアセンブリを分割したいときにUniVRMの中身はどう設定すればいいかという記事です。

今回はUniVRMですが、サードパーティー製のAssetを追加するときに概ね同じ方法でいけると思います。

ソフトウェア バージョン
Unity 2018.3.0f2
UniVRM 0.48

そもそもAssembly Definitionって何?と言う方はテラシュールブログさんのコチラの記事が参考になると思います。めっちゃ便利な機能なので使った方がいいです。

VRM全体のAssembly Definition設定

UniVRMをインポートすると0.48では画像のようなフォルダ構成になっていると思います。

-w220

まずVRM全体のAssembly Definitionを作ります。

-w352

これでUnity Editor上ではエラーなく使えるのですが、このままビルドすると一つのアセンブリにEditorScriptが入ってしまい、ビルドエラーが起きてしまいます。

Assembly Definitionを使う上での最大の注意点として、Unity Editor上では問題無く動いているが、ビルドをするとエラーが顕在化かします。なのでAssembly Definitionを設定するときはこまめにビルドを行い問題が無いか確認するのがお勧めです。

EditorスクリプトのAssembly Definition設定

続いてEditorScript用のAssembly Definitionを作ります。

VRMフォルダの配下群には多数のEditorフォルダがあるので一つずつAssembly Definitionを作っていきます。

-w242

このAssembly DefinitionはEditorScriptしか含んでいないのでPlatformsはEditorのみ有効にします。

また、VRMのコードを参照しているのでAssembly Definition ReferencesにVRMのAssemblyを登録します。

-w346

UniVRMは深い階層にもEditorフォルダがあったりするので、Buildをしてエラーが出たらそのフォルダに行ってAssembly Definition作りに行くという作業方法でも良いと思います。てか私がそうしてます。

画像ではUniVRM>Script>BlendShape>EditorにAssembly Definitionを忘れててエラーが出ています。

-w333

Test系のAssembly Definition設定

全てのEditorフォルダにAssembly Definitionを作り終わると、Console上にTest系のエラーのみが残ります。

-w458

Testが含まれてるものはAssembly DefinitionのTest Assemblliesを有効にすることで参照できるようになります。

ここまで設定すると、Console上からエラーが消えますのでビルドを行います。

参照系のAssembly Definition設定

するとまたエラーがでてきますのでコレを解決していきます。
今回のエラーはUniGLTFを参照できねぇよっていうエラーなのでAssembly DefinitionのReferenceに該当のAssemblyを追加して参照できるようにしてあげます。

-w382

参照を追加するとこんな感じです。

-w329

あとはこの作業をループで続けていきます。

  • ビルドする
  • エラーがでる
  • エラーを解決する
  • 最初に戻る

これをビルドが成功するまで続けます。

まとめ

以上でUniVRMのAssembly Definition設定は終了です。泥臭い方法ですが、ひたすらBuild&ErrorDestroyが一番確実に早く設定できる方法だと思います。

UniVRMに限らずサードパーティー系のAssetは大体この方法で攻略できると思うので頑張ってAssembly Definitionを使っていきましょう!

雑談

年末に羽田空港国内線第一ターミナルの5階に滑走路を一望できるSTARBUCKSが出来たと聞いたので来てみました。

制限エリア内のラウンジじゃないと見られないような絶景が広がっており、滅茶苦茶良いですココ。

飛び立つ飛行機と滑走路、そして富士山が見えます。さらに普通のスタバより一人当たりの専有面積が広く作業もしやすいです。

あとQiに対応した机などもあり、最近の喫茶店はすごいなーと。机にスマホを置くだけで充電できる。とても未来に来ましたね!もっと増えて欲しい物です。