メインコンテンツまでスキップ

ビルドとアップロード

このページを読むと、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 は生成フォルダーを作ったり元のアバターに何かを付けたりせず、診断メッセージを出して準備を中断します。これは意図された動作です。

接続方式を選ぶ​

  1. アバタールートを選択します。コンポーネントがまだなければ GameObject > Studio Raming > Ming Light Controller > Add or Configure Component を使います。
    • このようになれば正常です。 アバタールートに Ming Light Controller コンポーネントが付き、インスペクターにカードが現れます。
  2. インスペクターで 高度なオプション カードを開きます。
    • このようになれば正常です。 接続方式 · 高度なカタログ · 同期ビット目標 · パラメーター項目数の目標 · 不明な予算でも強制インストール · ビルド clone 準備を許可 · Play Mode プレビュー · 診断を表示 が、この順序で 1 つのまとまりとして表示されます。
  3. 接続方式 を選びます。
    • このようになれば正常です。 選択はすぐに保存され、必要なパッケージがない方式を選んだ場合は警告メッセージも一緒に表示されます。
  4. 設定を検証(元のアバターは変更しない) を押します。
    • このようになれば正常です。 検証完了 が表示されます。失敗メッセージが出た場合は 失敗したとき を見てください。
    • ボタンが押せずグレーになっている場合は、接続方式 を VRCFury にした状態でその provider が見つからなかったということです。別の方式を選ぶか、VRCFury をインストールしてください。

自動が選ぶ順序​

自動は、利用できる最初の方式を次の順序で選びます。

  1. Modular Avatar
  2. VRCFury
  3. Direct Descriptor
  4. 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 の想定と異なる
  • パラメーターの既定値がその型の許容範囲を外れている

名前が空だったり重複していたりするパラメーターのように、アップロードはできても想定と違う動作になり得るケースは、エラーではなく 警告 として残ります。

症状ごとの対処は トラブルシューティング にまとめてあります。

関連ドキュメント​