상품 설명
アバターの顔もしくはメイクを別アバターのテクスチャに移植するための Unity Editor 拡張ツールです。特徴点ベースの変形・色合わせ・境界処理を組み合わせて、異なる顔モデル間でデカール画像を自然に焼き込めます。
対応メイクテクスチャがない現実から逃げるために作りました
3.0アップデート
画像変形ツール、全面的に機能追加完了しました
最優先注意事項
このツールはすべてのアバターに対応できるわけではございません。サムネに×が書かれているように、対応できないアバターもあります。
また、動作の前提がliltoonです。
β版のいろいろ機能の少ない+製品版よりいろいろな検出方式が甘いですが、最低限変換できるツールが無料で配布されているので、確認してからの方がいいかもしれません。
■ これで何ができる?
・別アバターの顔・表情をそのまま別のアバターへ移植
・目・口の位置を合わせて自然に変形
・肌色や明るさの違いを補正
・境界をなじませて違和感のない仕上がりに
■ 作業の流れ(超ざっくり)
①設定
②鼻先の設定
③レンダリング範囲
④レンダリング
4.5輪郭切抜
4.8画像特徴点
⑤ワープ変形
⑥焼き込み+微調整
6.5輪郭線の除去
⑦色合わせ
⑧仕上げ
テンプレありなら⑤まで飛び、微調整や輪郭線の除去も設定されたものを使うだけ
■ テンプレで出来ること
②鼻先の場所の自動設定
③撮影時の反映させる場所の自動設定
③微調整作業をUVの自動指定
4.5輪郭の切り抜きが必要なアバターであれば自動切り抜き
4.8目や口、目じりや口角の特徴のある場所の自動設定
⑤変形の設定全般の設定+変形工程を一括実行
⑥微調整をテンプレから呼び出しと変形ボタンを押すだけ
6.5テンプレから呼び出し変形ボタンを押すだけ
■ 難しいところ
変形調整
ここだけは難しい
自分で無理そうな場合は、だれかがテンプレファイルを配ってくれることを期待してください
■ テンプレートデータの取り扱いについて
本ツールで作成したテンプレートデータは、自由に配布・販売可能です。
・無料配布OK
・有料販売OK
・本ツール本体より高い価格設定でも問題ありません
制限は特に設けていません。
むしろ積極的に出してもらえると助かります。
作成したテンプレートは、あなたの制作物として自由に扱ってください。
■ 補足
・他者が作成したテンプレートを使用する場合は、その配布者の規約に従ってください
・元アバターの利用規約(改変・再配布可否)にはご注意くださ
注意事項
一度の処理に Unity が数十秒〜数分応答しなくなる場合があります(2048 解像度では特に)
VRChat の利用規約・元アバターの利用規約に従ってご使用ください
アバター作者が「改変・他アバターへの流用」 を許可していないテクスチャの移植にはご使用にならないでください
【使用ライブラリ】
本ツールは以下のオープンソースライブラリを使用しています:
・OpenCvSharp (Apache License 2.0)
Copyright © shimat
https://github.com/shimat/opencvsharp
・MathNet.Numerics (MIT License)
Copyright © Math.NET Project
https://github.com/mathnet/mathnet-numerics
各ライブラリのライセンス全文は、 同梱の LICENSES フォルダに含まれています。
【免責事項】
・本ツールはアバター作者の権利を侵害する目的で使用してはいけません
・移植元・移植先のアバターおよびテクスチャは、 各作者の利用規約に従ってご使用ください
・改変・他アバターへの流用が禁止されているコンテンツに対しての使用は禁止です
・本ツールの使用によって生じたいかなる損害についても、 作者は責任を負いません
仕様書は動画で見てもよくわからなければ見てください
以下仕様書よりは軽い、理屈で知りたい人向けの詳しい説明
1. 設定タブ
アバター A / B のメッシュとマテリアルとテンプレート等を指定します。
主な機能:
アバター欄にアバタールートを入れることで、 メッシュとテンプレートを自動で読み込みます
アバターのシェイプキー指定(口を開けた状態でないと変換できません)(注:テンプレがなければデフォルトはリップシンクohです)
B ベーステクスチャ指定(顔のメインテクスチャ。 自動選択されない場合は手動で)
ショートカットボタン(両アバターのテンプレが揃っている場合):
「両方にテンプレがあればレンダリング撮影へ」 - 設定済みの状態で Step 4 へジャンプ
「両方にテンプレがあり、 解像度 1024 で撮影であればワープへ」(青色強調・大型) - 1024 解像度で全自動処理してワープタブへ直行
「両方にテンプレがあり、 解像度 2048 で撮影であればワープへ」 - より高品質だが処理時間 4 倍
トラブルシューティング:
「テクスチャが戻っていなかったらクリック」 - プレビュー差し替えなどで戻らなくなった B モデルのメインテクスチャを強制リセット
2. 特徴点(鼻先指定)タブ
A / B それぞれの 鼻先頂点 を指定します。 この点はレンダリング時のカメラ位置とワープ変形時に使われ、 レンダリングは各アバターで同じ画角になるよう自動調整されます。
上下左右前後で選択してください。
その選択で無理な場合は手動でも選択できますが、テンプレファイルは上下左右前後でしか記録できません
3. レンダリング範囲タブ
撮影する顔の範囲を UV アイランドの指定 で選択。
ひとつ目に選択したアイランド(プライマリ選択)が 6 以降の変形作業に対応し、 非プライマリ部はただデカールとして張り付けられます。
右クリックで重なっているUVの選択も可
4. レンダリングタブ
指定した範囲で A / B の顔を真正面から撮影。 解像度は 1024 / 2048 / 4096 / 8192 から選択。
通常は 1024 を推奨。 2048 はより精密だがワープ処理時間が約 4 倍に。
マスク作成機能もあるが、説明は仕様書もしくは動画終盤
4.5. 輪郭切抜タブ
レンダリング画像の中から、 顔のメイン輪郭を切り抜きます。 耳等余分な部分があるとき。
画像をクリックで輪郭を自動選択
手動で頂点を追加・編集可
A / B 別々に切抜可能
マスク画像の適用あり
詳細説明
輪郭点数(32〜512)- 検出された輪郭の頂点数。
多いほど精密、 少ないほど滑らか
スムース(0〜8)- 検出後の輪郭スムージング回数
操作
画像の空白をクリック → クリック位置から輪郭を自動検出
既存の点をクリック → その点を選択(Shift で複数選択追加)
既存の点をドラッグ → 選択中の点を一括移動
空白をボックスドラッグ → 範囲内の点を複数選択
右クリック → クリック位置に新しい輪郭点を追加(最も近い辺の間に挿入)
Del キー → 選択中の点をすべて削除 ボタン
「切り抜き適用」 - 現在の輪郭(3 点以上)またはマスクで切り抜きを実行
「クリア」 - 現在の編集対象(A or B)の輪郭点をすべて削除
4.8. 画像特徴点タブ
切り抜いた顔画像上に、 目・口の特定 と、 目尻等鋭角になっている場所 などの特徴点を配置。 これが変形のための「対応点」 になります。
部位を指定し、 空白をクリックすると、 上下左右の点と輪郭を自動選択
右クリックで目尻等の特徴のある点を選択すると変換精度向上
必ず、 アバター A → B の順番で、 ひとつずつ配置し、 特徴点の数は A B で等しくなること
その他
ホイール - マウス位置中心ズーム
ホイールクリック+ドラッグ - パン
「Reset」 ボタン - ズーム・パンを初期化 ボタン
「全自動検出(A)」 - A 側の 3 部位(左目・右目・口)を一気に自動検出(テンプレがある場合)
「全自動検出(B)」 - B 側の 3 部位を一気に自動検出 (テンプレがある場合)
「全自動検出(A+B)」 - A・B 両方を一括自動検出(テンプレがある場合)
「この部位をクリア」 - 現在選択中の部位の特徴点を A・B 両方から削除
5. ワープタブ
画像特徴点を元に A の顔画像を B の顔形状に変形(ワープ)します。 4 段階のパスで段階的に変形:
第 1 パス:目・口の中心を合わせる粗い変形
第 2 パス:目・口の周辺輪郭を整える(複数回反復可、 1〜10 回)
第 3 パス:口のサイズの変形
第 4 パス:目のサイズの変形
各パスにスライダーで細かい調整、 テンプレファイルがあれば全パス実行ボタンで一括実行も可能。
ワープ用スライダー値は解像度ごとにテンプレ保存されます。
A / B 同じ (部位, 色 Index) のペアで対応関係を成立させる。
6. 焼き込みタブ(変形調整付き)
ワープ画像を B のテクスチャに焼き込みます。 タブ内に 変形調整サブセクション を持ち、 焼き込み画像をさらに細かく変形可能。
6-1. 焼き込み
「焼き込みの設定と画像の生成」 ボタン:UV を考慮してワープ画像を B テクスチャ上に焼き込み
「微調整が必要なければ輪郭線の除去へ」 ボタンで次タブへ。
6-2. 変形調整
焼き込み済み画像の上に 黄色・赤・紫・青の 4 色制御点 を配置して、 部位ごとに変形を行います。
B 側シェイプキー強度スライダー - 変形調整中にシェイプキーを動かし、 口を閉じた状態での確認が可能
部位選択(3 種):
目 - 左右両目の特徴点を共通設定で扱う
口 - 口の特徴点
口ミラー - 左右対称化を加味した口モード
4 色制御点の役割:
黄色 - 基準位置(動かない)
赤 - 黄色から外向きに配置。 黄色〜赤の範囲がほぼ剛体的に移動する
紫 - 赤の移動先位置。 黄色〜紫の方向に画像が引き伸ばされる
青 - 拡縮範囲。 これより外側は完全に不変
3 つの px スライダー:
赤・動かすライン(px) - 黄色から外向きに赤点を配置する距離
紫・赤の移動先(px) - 黄色から紫点を配置する距離
青・拡縮範囲(px) - 変形がおよぶ最大範囲。 これより外は不変
変形モード(4 種):
内側を縮める - [黄〜赤] → [黄〜紫] に圧縮、 [赤〜青] → [紫〜青] に伸長(紫を赤より黄色側に置く)
外側を縮める - [黄〜赤] → [黄〜紫] に伸長、 [赤〜青] → [紫〜青] に圧縮(紫を赤より外側に置く)
青赤を紫まで拡張 - 旧式: 重心放射状 polygon 方式。 UV 切れ目対策
閉じている目口用 TPS 変形 - 新式: IDW(距離減衰)で各制御点ごとに局所変位。 閉じている目や口の上下分離向き
輪郭整形機能(口セクション専用):
「現部位を整形+左右対称化」 ボタン - 口の輪郭をスムージングし、 左右対称に整える
整形強度(スムージング反復回数)
輪郭点数(リサンプル後の輪郭頂点数)
高解像度モード:
出力画像を 2x / 4x / 8x にスケールアップして変形処理 → 細部のジャギーを抑制
メモリ・計算時間は倍率の 2 乗倍に増加
操作:
「特徴点・輪郭を検出」 - 焼き込み画像から特徴点・輪郭を自動抽出
「変形を適用」 - 現在の点配置で変形を実行(プレビュー)
「現在の変形を確定」 - 履歴に追加
「戻す」 - 1 段階前の確定状態に戻る
「変形をリセット」 - 初期状態に戻す
操作補助:
左クリック+ドラッグ - 点を移動
Shift+左ドラッグ - ボックス選択(複数の紫・青を一括選択)
ホイール - マウス位置中心ズーム
ホイールクリック - パン
6.5. 輪郭線の除去タブ
B 側の顔の デカール画像を貼り付ける範囲を精密に決定 するタブ。
3 色制御点
赤(基準) - この位置を紫まで移動。 取込元の外側端を表す
青(これより内側を変形させない) - 取込元内側端、 固定
紫(青赤間の領域をここまで伸ばす) - 再配置先
操作
自動検出で 3 色の点列を一括生成
スライダー(青 px / 紫 px)で青・紫を一括移動
必要に応じて手動で個別調整(削除・移動は 3 色連動)
変形 - [赤,青] の元画像範囲を [紫,青] に再配置(UvExtend 方式)
確定(切り抜き) - 変形済画像を紫多角形でアルファ切り抜き
▶ 変形 + 確定(一括実行) - 4-5 を順に自動実行
切抜画像は色合わせと仕上げの境界マスクとして使用されます。
7. 色合わせタブ
A 由来のデカールと B のベーステクスチャの 色味・明度の差を補正 するタブ。
焼き込みフロー
1.ベーステクスチャをコピー
2.プライマリ部全体に色変化
3.非プライマリ島スケール拡張
4.6.5 切抜画像を最後に上書き貼付(デカール色変換時はシフト後に貼付)
リセット
「色変換のリセット(再度変換をする場合は一度リセットを)」 - 結果画像と仕上げキャッシュを破棄
8. 仕上げタブ
色合わせ後の画像の 境界部分をなじませる 最終工程。 6.5 切抜画像のアルファ領域を境界として使用します。
スライダー
最大ブラシ半径(0-150px)- 最終パスのガウシアンブラー半径
反復回数(1-20)- なじませパスの実行回数
1 パスあたりの強度(0.05-1.0)- 1 回の変化の強さ
境界侵入量(0-15px)- 全パスで境界マスク内縁にブラシを侵入させる距離
操作
仕上げ実行 - 同じパス(finish_final.png)に上書き保存
1 段階戻す - 直前の状態に戻す。 マテリアル差し替え中なら PNG も書き戻して同期
最終 保存(ベーステクスチャと同じフォルダ) - {baseTexB の名前}_finish.png として保存。 Project ウィンドウで自動ハイライト
テンプレート機能で保存できるもの
各タブで設定した内容を JSON ファイルとして保存可能。 アバター A / B 別々にテンプレ管理できます。
A / B テンプレート(アバター単位)
設定タブ関連:
スキンドメッシュレンダラ・マテリアル参照情報
シェイプキー名と強度
特徴点・レンダリング:
鼻先頂点
レンダリング範囲(プライマリ・非プライマリ UV アイランド)
解像度別のレンダリング設定
輪郭切抜:
切抜輪郭の頂点列
マスク画像の参照
画像特徴点:
部位ごとの特徴点配置(色 Index 含む)
解像度ごとに別キーで保存
ワープ:
4 パスごとのスライダー値(eyeSamples, eyeBlendWidth, warp2Iterations 等)
解像度ごとに別キーで保存
変形調整エントリ(B 側テンプレに複数保存可)
部位ごとの点配置を 複数のエントリ として保存可能。
保存内容:
エントリ名
プライマリ部位(目/口/口ミラー)+ そのセカンダリ(右目用)構造
4 色制御点の配置(黄色・赤・紫・青)
変形モード
3 つの px スライダー値(赤/紫/青)
輪郭整形設定(スムージング反復回数・輪郭点数)
専用/汎用切替:
専用モード:{Aテンプレ名}→ {ユーザー入力名} 形式で保存
汎用モード:入力名そのまま
並び順:現 A 専用 → 汎用 → 他 A 専用
他人作 JSON からの取込:
別の B テンプレからエントリを取り込み
同名は連番付与で衝突回避
輪郭線除去エントリ(B 側テンプレに複数保存可)
保存内容:
エントリ名
3 色制御点の点列(赤・青・紫)
スライダー値(青 px / 紫 px)
専用切替なし(汎用のみ)
並び順は追加順
他人作 JSON からの取込可能(同名は連番付与)
모든 리뷰
더보기리뷰 등록
리뷰를 작성하려면 로그인이 필요합니다.
로그인하고 리뷰 쓰기