ビルドとアップロード
このページを読むと、MLC がいつ・どこにメニューを作るのかが分かり、接続方式を選んでアップロードまで進め、失敗メッセージを読めるようになります。
元のアバターは変わりません
編集中のアバターには MLC が 何もインストールしません。 Expressions メニュー · Expression Parameters · FX アニメーター · アニメーションクリップ · 接続用の子オブジェクトのどれも、シーンに保存されたアバターには作られません。コンポーネントのインスペクターと MLC ウィンドウは、シリアライズされた設定を編集・検証するだけです。
設定を検証(元のアバターは変更しない) のようなボタンも名前のとおりです。検証するだけで、生成物を残しません。
NDMF の build clone でのみ作られます
MLC は NDMF が作る 使い捨てのアバター複製 の中でのみ実際のアセットを作ります。この経路は 2 か所を通ります。
- NDMF を経由する Play Mode プレビュー
- VRChat のアップロードビルド
複製の上でメニュー · パラメーター · クリップ · FX コントローラーを作り、選んだ方式で接続したあと、完成した複製から MLC コンポーネント自身を取り除きます。元のアバターと、そのアバターがすでに持っていた FX · メニュー · パラメーターのアセットはそのままです。
MLC のビルド段階は Modular Avatar より 先に 実行されます。そのため、複製にだけ作られる Modular Avatar コンポーネントが後続の段階で正常に消費されます。
NDMF なしで呼び出された場合、MLC は生成フォルダーを作ったり元のアバターに何かを付けたりせず、診断メッセージを出して準備を中断します。これは意図された動作です。
接続方式を選ぶ
- アバタールートを選択します。コンポーネントがまだなければ
GameObject > Studio Raming > Ming Light Controller > Add or Configure Componentを使います。- このようになれば正常です。 アバタールートに
Ming Light Controllerコンポーネントが付き、インスペクターにカードが現れます。
- このようになれば正常です。 アバタールートに
- インスペクターで
高度なオプションカードを開きます。- このようになれば正常です。
接続方式·高度なカタログ·同期ビット目標·パラメーター項目数の目標·不明な予算でも強制インストール·ビルド clone 準備を許可·Play Mode プレビュー·診断を表示が、この順序で 1 つのまとまりとして表示されます。
- このようになれば正常です。
接続方式を選びます。- このようになれば正常です。 選択はすぐに保存され、必要なパッケージがない方式を選んだ場合は警告メッセージも一緒に表示されます。
設定を検証(元のアバターは変更しない)を押します。- このようになれば正常です。
検証完了が表示されます。失敗メッセージが出た場合は 失敗したとき を見てください。 - ボタンが押せずグレーになっている場合は、
接続方式を VRCFury にした状態でその provider が見つからなかったということです。別の方式を選ぶか、VRCFury をインストールしてください。
- このようになれば正常です。
自動が選ぶ順序
自動は、利用できる最初の方式を次の順序で選びます。
- Modular Avatar
- VRCFury
- Direct Descriptor
- Standalone
以下のすべての接続作業は 複製の上でのみ 行われます。
Modular Avatar
複製に一時的な子オブジェクトを作り、メニューのインストール · パラメーター · アニメーターのマージに必要なコンポーネントだけを付けます。途中で失敗した場合は、作りかけのオブジェクトを自分で取り除きます。
VRCFury
複製への接続を VRCFury 側の公開 API に任せます。VRCFury を明示的に選んだ場合、その provider がなければ失敗し、他の方式へは移りません。 現在の対応バージョンは VRCFury 1.1426.0 以上です。
Direct Descriptor
MLC が作ったメニュー · パラメーター · FX コントローラーを、複製のアバター descriptor に直接指定します。
FX コントローラー · Expressions メニュー · Expression Parameters のどれか 1 つでもすでに使っているアバターへの統合は拒否します。 そうしたアバターには Modular Avatar か VRCFury を使ってください。接続に失敗した場合は、複製を以前の状態へ戻します。
Standalone
アバターには何も付けません。外部で成果物を取り込んで使うための終点であり、この方式だけではアバターの中にコントロールができません。
Play Mode プレビュー
高度なオプション の Play Mode プレビュー をオフにすると、Play Mode の複製にコントロールを作りません。このとき複製から MLC コンポーネントが取り除かれ、それで終わりです。
コンポーネント自体を無効にしておいても同じです。複製からコンポーネントだけが取り除かれ、何も作られません。
ビルド clone 準備をオフにすると
ビルド clone 準備を許可 をオフにすると、複製から MLC コンポーネントだけを外し、payload を付けません。アップロードは進みますが アバターに MLC メニューがありません。
機能をすべてオフにしたとき
有効な機能が 1 つもなければ、ビルドはそのまま成功します。ただし作るものも付けるものもないので、アバターに MLC メニューはできません。
失敗したとき
| メッセージ | 意味 |
|---|---|
検証完了 | 現在の構成で生成できます |
検証失敗: ... | 構成そのものがルールに違反しています。後ろに付いた理由を見てください |
マテリアルバインディング検証失敗: ... | 登録したマテリアルグループ側の問題です |
MLC compile plan がありません。 | 計画が作られませんでした。有効な機能とメニュー配置をまず確認してください |
アップロードの過程で NDMF の build clone 段階がまったく通らなかった場合は、Console に次のエラーが残り、アップロードが中断されます。プロジェクトに NDMF があるか、そして VRChat のビルド処理で動作しているかを確認してください。
Ming Light Controller was not prepared by the NDMF build-clone pass. Enable NDMF for VRC build processing.
アップロードの直前に、VRChat のパラメーターアセットをもう一度検査します。ここで引っかかると Console に Ming Light Controller final VRC parameter validation failed: で始まるエラーが残り、アップロードが中断されます。代表的な理由は次のとおりです。
- Expression Parameters の項目数が VRChat の上限を超えている
- 同期ビットの合計が VRChat の上限を超えている
- インストールされた VRChat SDK の上限値が MLC の想定と異なる
- パラメーターの既定値がその型の許容範囲を外れている
名前が空だったり重複していたりするパラメーターのように、アップロードはできても想定と違う動作になり得るケースは、エラーではなく 警告 として残ります。
症状ごとの対処は トラブルシューティング にまとめてあります。