はじめに
今回はVRChatの非対応衣装改変ツール「もちふぃった~」についてまとめます。
VRChatアバターをアップロードできる程度の基礎知識があると子を前提に進めます。
前提知識はこちらなどをご覧ください。
もちふぃった~とは何か?
おもちのびるさんが開発したVRChat向け非対応衣装を着せるためのツールです。
↓こちらで2500で売られてます。

これがなぜ必要になったかを解説するために、もちふぃった~が出る前の世界を紹介します。
もちふぃった~ができる前の世界
もちふぃった~ができる前は「○○対応」の服しか多くの人は着せれませんでした。

ユーザー側が凄い頑張れば着せれましたが… かなり大変です。

ユーザー側ですごい頑張って着せる方法はこちらでまとめてます。
ただ多くの人はできないので…
3DCGの知識がある衣装作者側が「○○対応」のように複数アバターに対応して売り出してました。

しかしそれでは下記の2つの問題がありました。
・衣装作者の負担が大きい(手間とアバター購入コスト)
・マイナーアバターは見向きもされず対応衣装が作られない


その結果、マイナーアバターは売れなかったり…
ユーザーが使いたくても衣装が無いから使わない状態になってました。
そこでマイナーアバターを使いたい人は「体だけ有名アバター」にしたりして対処してました。

が… これも管理コストや購入費が大変です。
結果「いまいち」な世界となってました。
もちふぃった~の登場と仕組み
もちふぃった~は体に対して「1つの理想形」を決定しました。
これが共通素体、テンプレートと呼ばれるモノです。

で、その体をみんなで使おう! ではなく…
理想形に対する「差の量」を記録しようとしました。

3DCGには周囲に制御点などを作り「モデル」と「差の量」を分けて操作する技術があります。

有名なのはラティス変形です。
↓このような格子を使ってモデルを操作する技術。


これ以降は説明のために「ラティス変形」の画面を使いましたが…。
もちふぃった~の中身はラティス変形ではないので注意。
謎の独自プログラムで動いてるぽいです。
詳細は良くわからない。(?)
このような技術を使い理想形に対する「差の量」を別ファイル化。
この差の量、差情報をプロファイルと呼びます。

そして差情報を使って衣装データの形を合わせようとしたのがもちふぃった~です。

この「差情報」を衣装側にも割り当てれば共通素体に対して衣装対応できます。


ただし若干ズレは起こります。
これに関しては仕方ない。
そして、ここからが凄いポイントです。
もちふぃった~は理想形との差情報を元に別アバターの形状に衣装を変形できます。

要するに下図のような関係が成り立ちます。

この技術を使えば共通素体の情報を経由し別アバターに衣装を着せれます。
これがもちふぃった~が凄いと言われて注目されてるポイントです。

もちろん、逆の操作もできます。

以上がもちふぃった~の登場と仕組みの解説です。
差情報(プロファイル)の主な入手先
ではこの差情報はどこから入手できるかというと…

現在、アバター製作者さんがもちふぃった~対応を頑張ってます。
対応してるショップでは「Booth」のページなどから取得できます。


後で紹介しますが「ユーザー側で自作」も可能です。
ただ手間だし公式が出したものと差があるとバグ確認などが手間になります。
よほどの事が無い限り、アバター製作者が対応するのを待った方が良いです。
以上が差情報(プロファイル)の主な入手先です。
もちふぃった~で現状できないこと
もちふぃった~で現状できないことは下記の2つ。
・複雑なギミックは移植できない
・TポーズとAポーズモデルの衣装を合わせれない(対応中らしい)
ギミックやアニメーションがあるものは崩れる可能性があります。
これはもちふぃった~公式のBoothに書かれてます。


書いてあるということは… 対応が難しいのだと思います。
もう1つは “現時点” ではTポーズとAポーズモデルを合わせれません。

↓このようなポーズの違いがあるモノは変換できないです。

中にはAポーズでも…
Unity上のPrefabでTポーズにしてるモデルがあります。
これも現在は非対応です。

内部の「.fbx」データがAとTポーズで合ってる必要があります。

TとAが違っても…
肩、腕、手の部分が無かったり構造が単純なモノは使えることがあります。

どうしてもTとAポーズが違うモデル使いたい場合の手順は下記。
・自力で衣装かモデルのポーズを変更する
・変換後のモデルを使ったプロファイル(差量)データを自作する

AとTポーズ変換はこのツールを使えばできます。

使い方は公式が親切丁寧に解説してます。

Blender5.0はアドオンは.zipをドラッグ&ドロップ方式になりました。
その点だけ注意すれば公式の解説記事でポーズ変換できます。

問題はプロファイル作成です。
これが結構大変です。
詳細はのちほどの「プロファイルデータの作り方」で紹介します。
アバター作者、衣装作者、一般VRChatユーザーはそれぞれ何をすればいい
もちふぃった~の登場に合わせてそれぞれの人がした方が良い行動は下記。
◆アバター作者
・2500円を払い、もちふぃった~を購入
・中にある共通素体を使い「差情報(プロファイル)」を作成
・作成したモノをBoothなどで配布する
◆衣装作者
・アバター作者がプロファイルデータを作るのを待つ
・プロファイルがあるAとTポーズのモデルが1体づつあれば○○対応が不要
・TとAポーズの有名アバター2つだけ対応する
◆モデルユーザー(VRChatプレイヤー)
・アバター作者がもちふぃった~対応するのを待つ
・もちふぃった~対応した衣装を買う(TとAポーズ差注意)
・もちふぃった~を買う
・この記事の「もちふぃった~使用の実践」を見ながら使う
アバター作者は2500円の出費とプロファイルデータ作成という手間が増えました。

やる気がある超良心的な人は「T」と「A」ポーズの2体セットアップして配布。

しかし、これでせっかく作ったアバターが対応衣装少ないから買われないを防げると思うと…
やる価値はある出費と工数だと思います。
衣装作者衣装の土台となるアバターがもちふぃった~対応するのを待ちます。
対応さえしてもらえれば1種類の対応服作成でOKになりました。


理想は「T」と「A」の2ポーズに対しての対応服作成ですが…
そのうち修正されそうなので、もちふぃった~側のアップデートを待つのも手。
ユーザーは下記の3つを買って使う必要があります。
・もちふぃった~本体
・もちふぃった~対応アバター
・もちふぃった~対応アバター向け衣装

もし、どうしても待てない方はプロファイルデータを自作してください。


個人的に「公式」と「自作」で差が生まれると更新でバグりがちなので…
おすすめはしません。
また優しい人は作ったプロファイルデータを配布してもOK。
プロファイルデータは「差の情報」だけなのでモデルデータは含まれず権利的にはOKです。

ただしアバター作者側が「二次的著作物の頒布一切禁止」としている所があります。
この場合は配布はNGになる可能性が高いので注意してください。

公式にお問合せする方が早い。
それ以前に「公式が作る」方が早い。
次はもちふぃった~向けのデータを作りたい人向けの情報を見ていきます。
3D制作者向けの情報
開発者向けイン「もちふぃった~素体」の場所と「プロファイルデータ」の作り方がある記事のリンクを紹介します。
もちふぃった~の共通素体はどのにあるのか?
共通素体(テンプレート)はもちふぃった~内にあります。
確認するには「購入」が必要です。

購入したらダウンロード。

.zipを展開すると2つ出てきます。
この2つは「T」と「A」ポーズ用で別れてます。


なので、元になるアバターが「A」ポーズなら「a」を
「T」ポーズなら「無印」を選んでプロファイルデータを作ってください。
プロファイルデータの作り方(別記事に丸投げ)
プロファイルデータを自作する方法は公式がGoogleドキュメントにまとめてます。
↓こちらをご覧ください。

とりあえず「もちふぃった~」に関して情報が少ないので…
もちふぃった~自体の情報を先に上げた方が良いと思ったので一旦丸投げという形にしてます。
(あと今頑張ってもアップデートで細かな仕様変わるやろ… の精神)
アバターの初期衣装を使いたい場合
次はアバターの初期衣装を使いたい場合を解説します。

これはモデルデータを消してprefab化すればOKのようです。(未動作検証)

まず、アバターと服がもちふぃった~対応してるか確認。

実験でRad Doll V3を使います。
もちふぃった~対応してますね。

Unityに読み込み。
衣装以外のデータを選択。

Deleteキーなどで削除。
これで衣装だけの状態になりました。

衣装だけをprefab化するために「一番上」の階層をプロジェクトにドラッグ&ドロップ。
「プレハブバリアント」を押せば衣装だけのプレファブデータを作成できます。

↓この図のような操作をしました。

このデータを使ってもちふぃった~を動かせばアバターの衣装を着せれます。

私が持ってるNemoちゃんはAポーズ。
取り出した衣装はTポーズなのでうまくいきませんでした。


ごめんね、実験したいけど他にもちふぃった~対応アバター持ってないんだ…。
もちふぃった~使用の実践
次はもちふぃった~の実践方法を見ていきます。
↓こちらのモデルを使います。


モデルはAポーズ、衣装はTポーズを元に作られてます。
が、崩れても動かせそうな気配があったのでダメ元で使ってみることにしました。


良い子のみんなはTポーズとAポーズを合わせて実行しよう!
もちふぃった~を入れる
こちらのページにアクセス。

購入。

ダウンロードして.zipを展開。
中にあるもちふぃった~のunitypackageをプロジェクトにドラッグ&ドロップ。

全てにチェックが入ってるかを確認、
インポートを押して入れます。

画面上部の「ツール」を選択。
中にMochiFitterが追加されれば導入が完了です。

プロファイルデータを入れる
次はアバターと衣装のプロファイルデータを入れます。
Boothなどのページから採取。

.unitypackageをプロジェクトにドラッグ&ドロップ。
インポートで追加。

ちなみに「Beryl」「桔梗」「マヌカ」「シナノ」の4人は初期状態で入ってます。
このアバター衣装を使う方は入れなくてOK。

以上でプロファイルの導入が完了です。
prefabなどの内部データ整理
衣装とアバターのprefabデータに不備がないか確認します。
Transformが位置0,0,0 回転0,0,0 スケール1,1,1で揃ってるかなどを確認。

何かの間違えで位置などがズレると対応が崩れるので注意。


細かなことはまず変換。
その後エラーが発生したら見直すで良いと思います。
以上で事前確認が完了です。
もちふぃった~の設定調整
ツールよりMochiFitterを選択。

↓このような画面が出ます。

初回起動の方は画面上部から「Blender」をダウンロード。
既にPCにBlenderが入ってる人もここからDLしてください。

このBlenderはもちふぃった~を使う用のBlenderです。
なのでPCに入ってる方でも違うバージョンのBlenderがもちふぃった~用に入ります。


保存先はUnityのプロジェクト内のようです。
次は衣装を読み込ませます。
prefabデータを「Outfit to Convert」にドラッグ&ドロップ。

アバター選択でモデルと衣装のプロファイルを読み込み。
プロファイルの.unitypackageを入れたら選択できるようになります。

テンプレートへの変換は見えない化されてます。
なので見かけ上は「Aアバター」に「Bアバター用衣装」が直接変換されるような形になってます。

Base Avatar FBXとConfig JSONはデバッグ用です。
よほどの不具合が起こらない限り触らない+確認しないでOK。

残りは詳細設定です。
説明を読みながら必要そうなものを有効化します。


Blend Shape Optionsは必要なモノは自動で有効化されるらしいです。
あとは変換して挙動を見ないと必要か分からないです。
よほどの不具合が無い限りそのままでOK。
ちょっと動きが汚いかなーと思ったら「Enables Subdivision」を有効化。
そしてモデルの挙動を見る感じのモノと思ってください。
以上で変換用の設定が完了です。
変換の実践
設定後、変換は「Execute Retargeting」で実行できます。

変換に結構時間がかかるので注意。


裏でOnce Humanとかいうゲームを起動してプレイしてたから余計に時間がかかったかもしれない…
変換が終わりましたら「Succes」の画面が出ます。
「OK」で確定。

するとプロジェクトが自動で「Asstes > OutfitRetagetingsSystem > Outputs」の中に入ります。
ここに変換したデータのfbxとprefabが生成されます。

以上で変換が完了です。
変換後の微調整
変換で生成されたprefabをヒエラルキーにドラッグ&ドロップ。

するとモデルが表示されます。
TポーズとAポーズを無理あり合わせたので不具合が起こってますね。


T+T、A+Aポーズ同士ならもっと最初から綺麗にフィットしてると思います。
シーンの左上で「ピボット/グローバル」を選択。
Rキーでスケール操作UIを表示。
真ん中の立方体をクリック → マウスを移動で全体の大きさを調整。

よくわからないですがTポーズの形だった腕の布がAポーズにフィットしてます。
謎。

あとは全体を見て細かな突き抜けを確認。

シェイプキー操作で治せそうなら直します。


あとは皆さんが用意したアバターと衣装の兼ね合いに合わせて個別対応してください。
これで変換後の調整が完了です。
MA Merge Armatureでモデルと衣装の動きを同期
いまのままだと服とモデルが同期してません。
VRChatにアップロードしても全裸で走り出すことになります。

そこでMA Merge Armatureを使って動きを同期させます。
MA = モジュラーアバター。
詳細な設定や導入方法はこちらをご覧ください。
MAの導入が終わったらヒエラルキーに戻ります。
アバター内に変換後の衣装prefabを入れます。

変換後の衣装を開き「Armature」を選択。
インスペクターからコンポーネントを追加。
MA Merge Armatureを検索などで探して選択。

統合先に “アバター”の「Armature」をドラッグ&ドロップで入れます。

これで同期して動かす設定が完了です。
VRChatに上げたりして動作確認+調整してください。

ちなみにUnity上でキャラを歩かせる方法はこちらをご覧ください。
一部はどうしようもないところがある
よくわからないですが指輪のモデルが上手く変換できませんでした。
なぜかオプジェクトを選択しても全く動かない状態となりました。


Tポーズ衣装をAポーズアバターに着せた影響…?
こちらやる気があれば何とかできそうですが…
無かったので消して対処しました。

このような変換後の微調整を各自で行ってください。
↓あとこの記事を見ながら頑張れば衣装の一部をオン/オフできるギミックが作れたりします。

あとはもう、あなたのやる気次第。
私はここまで。
まとめ
今回はもちふぃった~ とは何か?+使い方を解説しました。
・もちふぃった~はVRChatのアバター非対応衣装を着せるためのツール
・有料で2500円配布されている
・アバターがプロファイル対応であれば衣装は着せ変えれる
・TポーズとAポーズの変換は現在非対応
また他にもVRChatや3DCGについて解説してます。
ぜひ、こちらもご覧ください。











コメント