MochiFitter

MochiFitter 使い方ガイド

衣装リターゲット(Super MochiFitter)で衣装を別のアバターに合わせ、 変換後に残った貫通をメッシュエディタで手直しするまでの流れを、 実際の画面とともに説明します。

このガイドの例

変換する衣装
Shinanoデフォルト衣装 (Assets/Shinano/Prefab/ShinanoCostume.prefab)
衣装元アバター
しなの(Shinano)
変換先アバター
Beryl(シーン上の Beryl_Kisekae (3) に着せる)
ブレンドシェイプ設定
Toe_heels = 100、Corset = 100
変換後の調整
Cloth_boots と Cloth_tights の Highheel = 50(素体の Highheel = 50 に合わせる)
Shinanoデフォルト衣装 を着たしなの。黒いトップス、白いプリーツスカート、黒タイツ、茶色のショートブーツ。
変換前:しなの
変換した Shinanoデフォルト衣装 を着た Beryl。体格に合わせて衣装が伸び、ブーツは素体のヒールに合わせてある。
変換後:Beryl

同じカメラ・同じ縮尺で撮影しています。身長や体型が大きく違っても、衣装は Beryl の体に沿って変形します。

PART 1

衣装リターゲット(Super MochiFitter)

衣装リターゲットは、あるアバター用に作られた衣装を別のアバターの体型に合わせて変換するモードです。 Blender は不要で、変換は MochiFitter に付属する実行ファイルが行います。 変換には、衣装元と変換先の両方のアバターの変換データ(プロファイル)が導入されている必要があります。 衣装元のプロファイルは逆方向、変換先のプロファイルは順方向である必要があります。 (衣装リターゲット(Blender)は旧版で廃止予定です)

Q. プロファイルの順方向、逆方向とは?

順方向は他のアバターの衣装をそのプロファイルのアバターへ合わせる方向の変換です。 逆方向はそのプロファイルのアバターの衣装を他のアバターへ合わせる方向の変換です。 配布されているプロファイルで特に表記が無い場合は順方向のみで逆方向は無いと判断した方が良いでしょう。 もちふぃった~本体にはデフォルトでしなの・桔梗・マヌカ・ベリルの順逆両方向プロファイルが同梱されています。

1

ウィンドウを開く

メニューの Tools › MochiFitter を選びます。 ウィンドウ上部の「モード選択」で 衣装リターゲット Super MochiFitter を選びます。 デフォルトではこのモードが最初から選ばれています。

右上の 言語 / Language で表示を日本語と英語に切り替えられます。 となりの メッシュ編集 ボタンは Part 2 で使います。

2

衣装とアバターを選ぶ

MochiFitter ウィンドウの上部。モード選択で衣装リターゲット(Super MochiFitter)、衣装 Prefab に Shinanoデフォルト衣装、変換先アバターに Beryl、衣装元アバターに Shinano → Beryl (Template経由) が設定されている。 1 2 3 4
Shinanoデフォルト衣装 を Beryl 向けに設定したところ。
1衣装 Prefab
Unityメインウィンドウから衣装のPrefab ShinanoCostume.prefab をドラッグします。この時に誤ってFBXをドラッグしないようにして下さい。下に三角ポリゴン数の合計が表示され、30 万・40 万・50 万を超えると注意や警告が出ます。
2変換先アバター
衣装を着せたいアバターを選びます。この例では Beryl。
3衣装元アバター
衣装がもともと対応しているアバターを選びます。この例では Shinano → Beryl (Template経由)。 衣装 Prefab から衣装元を判別できた場合は自動で選ばれます。 「Template経由」は、共通の中間素体 Template を経由して 2 段階で変換することを表します。
4変換データ
ベースアバターFBX と 設定JSON は、アバター選択に合わせて自動で入ります。 変換先アバターの FBX が見つからないと赤いメッセージが出るので、FBX を手動で指定するか、変換先アバターをプロジェクトにインポートしてください。
一覧にアバターが出ないとき

変換データを追加した直後は、アバター選択ボックス右上の 変換オプションを再スキャン を押すと一覧が更新されます。

3

ブレンドシェイプ設定

「この衣装は、素体のどのシェイプキーを動かした状態に合わせて作られているか」を申告する欄です。 一覧には、衣装元アバター(しなの)の変換データに登録されているシェイプキーが並びます。

Shinanoデフォルト衣装 は、しなのの素体の Corset と Toe_heels を 100 にした状態に合わせて作られています。 そこで Toe_heels と Corset にチェックを入れ、値を 100 にします。

ブレンドシェイプ設定ボックス。シェイプキー一覧のうち Toe_heels と Corset にチェックが入り、値が 100。ほかの行はチェックなしで値は灰色。
Toe_heels と Corset にチェックを入れて値を 100 に。値の欄はチェックした行だけ入力できます。
チェック
衣装がそのシェイプキーを使う前提で作られている、という申告です。ヒール用シェイプキーを持たず、素体のヒールを 100 にして履く靴などが典型です。
値
衣装を合わせたときのシェイプキーの値(0〜100)です。通常は 100 のままで構いません。
カスタム名
衣装が同じ意味のシェイプキーを別の名前で持っている場合に、衣装側の名前を入力します。名前の対応付けだけなので、この場合はチェックは不要です。

衣装 Prefab に Modular Avatar の Shape Changer(着用時に素体のシェイプキーを動かす設定)が入っている場合は、その内容からチェックと値が自動で入ります。

チェックを入れると何が起きるか

変換は「衣装元アバターの素の状態(シェイプキーがすべて 0)」を出発点にする前提で作られています。 コルセットで締めた胴やヒールを立てた足に合わせた衣装をそのまま流すと、 締めた胴やつま先立ちの形が「衣装のデザイン」として扱われ、変換先の素体と合わなくなります。

作者が作った衣装の形 素体の Corset と Toe_heels を 100 にした体に合わせた形。衣装のデフォルト形状そのもの。
逆方向フィールドで合成
「素の状態」の衣装 シェイプキーを 0 に戻した素体なら衣装はどんな形か。作業用シェイプキーとして保存。
素の状態どうしで変換
変換後の衣装 変換先アバターの素の体に合った形。作業用のシェイプキーは出力前に削除。

チェックを入れると、変換の最初(基準ポーズを当てる前)に、衣装元アバターの逆方向フィールドで「素の状態の衣装」を合成し、 それを入力にして変換します。合成が影響するのは、そのシェイプキーに関係するボーン(ヒールなら足まわり)のウェイト範囲だけです。 値を 100 未満にした場合は、その値に相当する分だけ戻します。

作者が作り込んだ元の形は消えずに残り、ヒールなどのシェイプキーを変換先用に作り直すときの出発点として使われます。 この設定が効くのは変換の最初の段(この例では Shinano → Template)だけです。

Corset のチェックなし Corset にチェックを入れずに変換した Beryl の腰。ベルトの上で白い肌が黒いトップスを突き抜けている。
Corset のチェックあり Corset にチェックを入れて変換した Beryl の腰。トップスがベルトまできれいにつながっている。

Corset のチェックを外すと、締めた胴に合わせた Cloth_dress がそのまま細く変換され、ベルトの上で Beryl の素体が突き抜けます。 どちらも Toe_heels はチェック済みで、同じ角度から撮影しています。

もっと詳しく

逆方向フィールドによる合成の仕組みは、パッケージに同梱されている解説書「衣装リターゲットの仕組み」の第 8 章「出発点の状態合わせ — Blend Shape Options」で図解しています。

4

詳細設定

折りたたまれている 詳細設定 を開くと、次の 3 つを変更できます。通常は既定のままで構いません。

詳細設定ボックス。ウェイト転送シェイプ設定元(None)、三角ポリゴン化を無効化(オン)、サブディビジョンを有効化(オフ)。
この例では既定の設定のまま変換しています。
ウェイト転送シェイプ設定元
胸を大きくするなど、アバターの体型変更シェイプキーを設定した状態でウェイトを転送したい場合に、その状態にしたアバターのルートオブジェクトを指定します。それ以外のシェイプキー(シュリンク用など)はデフォルトの値にしておきます。
三角ポリゴン化を無効化(既定:オン)
オフにすると、厚みのある衣装の表と裏の貫通を防ぐためにメッシュを三角ポリゴン化します。オンのままなら四角ポリゴンを維持します。
サブディビジョンを有効化(既定:オフ)
ポリゴン数が少ない衣装で、変形後に衣装のポリゴン同士が貫通するのを防ぎます。処理時間は長くなります。ポリゴン数が 100,000 を超える衣装では、実行時に自動で無効になります。
5

リターゲットを実行する

リターゲット実行 を押します。必要な項目が空いているとボタンは押せず、 下に「未設定: …」と足りない項目が表示されます。

処理状況の画面。経過時間 00:00:21、サイクル2ウェイト転送中、進捗 56.2%、キャンセルボタンとログ。
処理中は進捗、経過時間、ログが表示されます。キャンセル で中断できます。この例の変換は 40 秒ほどで終わりました。

完了するとダイアログが表示され、結果が Assets/OutfitRetargetingSystem/Outputs/ に finalized_日付_時刻_ShinanoCostume.prefab という名前で保存されます。 メッシュは同じフォルダの retargeted_….omochi に入っています。

リターゲット実行ボタンと、直前の変換結果ボックス。Prefab 名 finalized_20261001_122614_ShinanoCostume と、Prefab を選択、メッシュを編集のボタン。
変換後はウィンドウ下部に「直前の変換結果」が表示されます。Prefab を選択 で Project ウィンドウ上の Prefab を表示、メッシュを編集 でメッシュエディタを開きます。
6

アバターに着せる

Hierarchy ウィンドウ。Beryl_Kisekae (3) の子に finalized_20261001_084323_ShinanoCostume があり、その下に Armature.1、Cloth_boots、Cloth_dress、Cloth_skirt、Cloth_sweater(非表示)、Cloth_tights。
変換結果をアバターの直下に置いたところ。

Outputs フォルダの finalized_…_ShinanoCostume.prefab を、Hierarchy のアバター (この例では Beryl_Kisekae (3))にドラッグして子にします。

ここから先は、ふだんの衣装の着せ替えと同じです。この例では Prefab を右クリックして Modular Avatar の Setup Outfit を実行しています。

7

ヒールの値を素体に合わせる

Cloth_boots と Cloth_tights には Beryl のヒール用シェイプキー Highheel が作られています。この例ではToe_heels にチェックを入れて変換した、すなわちヒールを立てて履く前提の衣装なので、変換直後の値は 100 に設定されます。

この例で着せる Beryl_Kisekae (3) では、素体(Body)の Highheel を 50 にした方がこの靴によく合います。 衣装のヒールは素体と同じ値にそろえる必要があるので、Cloth_boots を選び、Inspector の Skinned Mesh Renderer › BlendShapes で Highheel を 50 にします。Cloth_tights も同じく 50 にします。

Cloth_boots の Inspector。Skinned Mesh Renderer の BlendShapes に MF_Origin 0、Highheel 50、MF_FootNeutral 0。
Cloth_boots の Highheel を 50 に。MF_Origin は変換前の形に戻すためのシェイプキー、 MF_FootNeutral は変換前の形を維持しつつ位置・回転・スケールを合わせた形にするための補助用のシェイプキーなので、今回は 0 のままにしておきます。
Highheel 0 衣装の Highheel が 0 のブーツ。靴のつま先が浮いている。
靴のつま先が浮いている
Highheel 50 衣装の Highheel が 50 のブーツ。靴がきちんと接地している。
素体と同じ値。靴が接地している
Highheel 100(変換直後) 衣装の Highheel が 100 のブーツ。靴の踵が浮いている。
靴の踵が浮いている

素体の Highheel はどれも 50。衣装側の値だけを変えて、左足を外側から撮影しています。

これで完成です

ページ冒頭の右の画像が、ここまでの手順で着せた状態です。素体のヒールの値を変えたときは、衣装の Highheel も同じ値に変更してください。

PART 2

メッシュエディタ

変換した衣装のメッシュを、シーンビュー上で頂点を動かして手直しするツールです。 変換後に残った小さな貫通や形崩れを直すのに使います。

  • 形の編集は、選んだブレンドシェイプ(または新しく作るブレンドシェイプ)に記録されます。元の形状(Basis)は変更しません。
  • .omochi から読み込まれた変換結果のメッシュは、保存すると .omochi ファイルに書き戻して再インポートします。元のファイルは Library/MochiFitterMeshEdit/Backups に退避されます。
  • .omochi 以外のメッシュは .asset に複製され、Prefab の参照が複製先に差し替わります。
この章の例について

手順 3 の比較図(Corset のチェックなし)で見えていた腰の貫通を、メッシュエディタで直します。 実際の変換では、まずブレンドシェイプ設定を正しくして変換し直すのが基本です。 メッシュエディタは、それでも残る貫通や形崩れの手直しに使ってください。

1

開き方

次のどれかで開きます。

  • メニューの Tools › MochiFitter Mesh Editor
  • MochiFitter ウィンドウ右上の メッシュ編集
  • 「直前の変換結果」ボックスの メッシュを編集。変換結果の Prefab がシーンにあればそれが対象になり、なければ シーンに配置 ボタンが表示されます。

Hierarchy で衣装を選んでから開くと、その衣装が対象に入った状態で開きます。

2

対象を選んで編集を開始

MochiFitter Mesh Editor の開始前の画面。衣装(シーン)に finalized_20261001_122743_ShinanoCostume、編集するメッシュは Cloth_dress だけにチェック、編集するブレンドシェイプは新規シェイプで名前は ManualFix、編集を開始ボタン。 1 2 3 4
1衣装(シーン)
シーン上の衣装(アバターに着せた Prefab)を指定します。Project の Prefab アセットは直接編集できません。
2編集するメッシュ
手直しするメッシュにだけチェックを入れます。この例では Cloth_dress だけです。
3編集するブレンドシェイプ

新規シェイプ:編集を新しいシェイプに記録します。既定の名前は ManualFix で、保存するとウェイト 100 で追加されます。

既存シェイプ:衣装が持っているシェイプを編集します。編集中は 100% で表示され、保存してもウェイトは変わりません。

4編集を開始
編集用のボックスが表示され、シーンビューに頂点が表示されます。
編集中の対象ボックス。衣装 finalized_20261001_122743_ShinanoCostume、編集シェイプ ManualFix、メッシュ Cloth_dress、編集を終了ボタン。

編集中は「対象」ボックスに、編集している衣装・シェイプ・メッシュが表示されます。終わるときは 編集を終了 を押します(手順 7)。

「MF_」で始まる名前は MochiFitter の内部用です。新規シェイプには別の名前を付けてください。

3

頂点を選ぶ

シーンビュー。Beryl の右脇腹を斜め前から見ている。ベルトの上で白い肌が少し見えており、その上の Cloth_dress の頂点がオレンジで選択され、周りが紫からマゼンタの影響範囲になっている。上部に操作ガイドが表示されている。
ベルトのすぐ上で肌(白い部分)が見えている範囲の頂点を選んだところ。オレンジが選択中の頂点、紫〜マゼンタが影響を受ける範囲です。上部の帯に、編集中のシェイプ・影響半径・選択数と操作方法が表示されます。
表示ボックス(頂点、ワイヤーフレーム、透過のチェックと色の凡例)と選択ボックス(見えている表面のみ/投影の切り替え、島を選択、すべて選択、選択解除)。
表示
頂点・ワイヤーフレームの表示と、透過(隠れた頂点も薄く表示)を切り替えます。
選択の操作
クリックで頂点、ドラッグで範囲を選択します。Shift で追加、Ctrl で除外。
見えている表面のみ/投影
範囲選択で、手前に見えている頂点だけを選ぶか、裏側の頂点もまとめて選ぶかを切り替えます。
島を選択(L)
選択中の頂点とつながっている部品(メッシュ島)全体を選びます。ボタンなどの小物をまるごと動かすときに便利です。
4

変形する

変形ボックス。移動(W)、回転(E)、スケール(R)、グローバル軸/法線軸、影響半径 0.02 m、減衰カーブ スムーズ、メッシュ島内に限定 オン、表面に沿った距離。
移動・回転・スケール
シーンビューのハンドルで選択頂点を動かします。W E R でも切り替えられます。軸はグローバル軸か、表面の向きに合わせた法線軸を選べます。
影響半径(m)
選択頂点の周りをどこまで一緒に動かすか。0 なら選択頂点だけが動きます。ドラッグ中はマウスホイール、待機中は Ctrl+ホイールでも変えられます。
減衰カーブ
半径の内側で、離れるほど動きを弱める度合い(スムーズ・球・ルート・リニア・シャープ・一定)。
メッシュ島内に限定/距離の測り方
オンにすると、選択頂点と同じ部品だけに影響します。その場合、距離を「表面に沿った距離」で測れます。袖の表と裏や隣のひだのように、空間的には近くても表面上は離れた部分を巻き込みません。

この例では、影響半径 0.02 m・スムーズ・島内に限定・表面に沿った距離にし、ミラー編集(手順 5)をオンにしました。 選択した頂点を、移動ハンドルの赤い矢印(X 軸)で外側へ 6 mm ほど動かしています。

頂点を外側へ動かした後のシーンビュー。ベルトの上に見えていた白い肌が消え、トップスがベルトまで覆っている。
頂点を外側へ動かした直後。ベルトの上の肌が隠れました。
修正前 修正前の腰。ベルトの上で白い肌が突き抜けている。
修正後 修正後の腰。トップスがベルトまで覆い、肌は見えない。

右脇だけを選んで動かしましたが、ミラー編集で左脇も同時に直っています。

5

ミラー編集と法線

ミラー編集ボックス(ミラー編集 X オン、対称の許容距離 0.0001、選択をミラー)と法線ボックス(法線デルタを更新 オン、シェイプ全体の法線デルタを再計算)。
ミラー編集(X)
アバターのルートの左右(ローカル X)で対称に編集します。選択をミラー は、反対側の対応する頂点を選択に加えます。
対称の許容距離(m)
左右の頂点を「対応している」とみなす距離です。既定は 0.0001 m(0.1 mm)。相手が見つからない頂点は反対側に反映されず、「履歴と保存」ボックスに数が表示されます。
法線
法線デルタを更新 がオンなら、編集した範囲の法線を形に合わせて回します。カスタム法線やハードエッジは保たれます。
ポーズを付けて編集するとき

ポーズを付けた状態でも編集できます。ただし、ミラー編集が正しく働くのは左右対称なポーズのときだけです。

6

変換前の形・ウェイトに戻す

変換前の形状に近づけるボックスと、リターゲット前のウェイト比率に戻すボックス。それぞれ強度スライダーと適用ボタン。
変換前の形状に近づける
歪んでしまったボタンなどの装飾品の形を修正するのに役立ちます。選択頂点と影響半径の内側に、変換前の衣装の形を、今の形にいちばん合う位置・大きさに合わせてから強度に応じて適用します。変換前の形は Template を経由する 2 段の変換でだけ出力されます(例の Shinano → Beryl は対象)。
リターゲット前のウェイト比率に戻す
特に股間部分のウェイトを修正するのに役立ちます。Hips・Spine・Chest など Humanoid ボーンの系列(補助ボーンを含む)ごとのウェイト配分を、変換前の比率に戻します。Humanoid 以外のボーンのウェイトは変えません。これだけはシェイプではなく、.omochi のスキンウェイトとして保存されます。新しいバージョンの MochiFitter で変換したメッシュで使えます。

どちらも、頂点を選んでから強度を決めて 適用 を押します。範囲は「変形」ボックスの影響半径・減衰カーブ・島内限定・距離の測り方に従います。

7

保存と終了

履歴と保存ボックス。選択中の頂点 92、対称の相手が見つからない頂点(全体)84、元に戻す・やり直すボタン、未保存の変更がありますの表示、保存ボタン、保存先の説明。
元に戻す・やり直す
編集は 1 操作ずつ取り消せます。Unity の Ctrl+Z も使えます。
保存
変更を .omochi に書き戻して再インポートします。新規シェイプを選んだ場合は、そのシェイプがウェイト 100 で追加されます。
編集を終了
未保存の変更があると、保存して終了・キャンセル・破棄して終了 を選ぶ確認が出ます。
編集中の注意
  • Modular Avatar や NDMF のプレビューが有効だと、元のメッシュが表示されたままになることがあります。編集中はプレビューをオフにしてください。
  • スクリプトの再コンパイルやプレイモードを挟んでも、編集中の内容は保持されます。
  • 保存は再インポートを伴うため、Undo に記録されない方法(一部のツールなど)で付けたポーズは保存時に元に戻ります。

クレジット

このガイドでは、例として次のアバターとそのデフォルト衣装を使用しています。

オリジナル3Dモデル「しなの」

ポンデロニウム研究所

https://ponderogen.booth.pm/items/6106863