02_Helper for AAO Merge PhysBone¶
統合する PhysBone の値を並べて比べ、override に使う値を提案します。
必要なパッケージ: AAO: Avatar Optimizer 1.9.0 以降
こんなときに使います¶
AAO Merge PhysBone は、統合対象の PhysBone 間で値が食い違うと 「同じ値にするか Override する必要がある」と指摘します。 ところが指摘されるだけで、各 PhysBone の実際の値も、妥当な統合値も分かりません。
結果として、統合対象の PhysBone のインスペクターを 1 つずつ開いて値を突き合わせることになります。 このツールは、その突き合わせと値の決定をまとめて行います。
使い方¶
AAO Merge PhysBoneが付いたオブジェクトを 1 つ指定します。- 「差分を確認」で、統合対象それぞれの現在値を比較します。
- 差異のある項目ごとに、提案に使う指標を選びます。
- 反映する項目を選び、「適用」で override として書き込みます。
一覧の見かた¶
結果は 3 つの群に分かれます。
| 群 | 内容 |
|---|---|
| 差異あり | override が必要な項目。既定で開いています |
| 差異なし | override は不要。件数だけ表示され、既定では畳まれています |
| 統合不可 | 提案を作れない項目。理由が添えられます |
「差異なし」の件数が分かることに意味があります
「override が要るのは 28 項目中 3 項目だけ」と分かれば、確認すべき場所がすぐに絞れます。
各項目には、統合対象ごとの現在値がアバタールートからの相対パスとチェーンの長さ付きで並びます。 1 つの PhysBone だけが他と違う場合は、その旨が明示されます。設定ミスの発見に使えます。
提案に使える指標¶
| 値の種類 | 選べる指標 |
|---|---|
| 数値・ベクトル | 最小 / 最大 / 平均 / 中央 / 最頻 |
| 有効・無効、種類、権限 | 最頻のみ(大小関係が無いため) |
既定は最頻です。統合対象の多数派をそのまま採るのが、見た目の変化が最も小さくなります。
提案値は適用前に手で書き換えられます。書き換えた項目には印が付き、「算出値に戻す」で戻せます。
カーブを持つ項目¶
カーブを持つ項目では、値とカーブを別々には統合しません。 カーブは値に対する倍率であり、実際に効くのは両者の積だからです。
実効値(値 × カーブ)のプロファイルを統合してから、値とカーブへ分解します。
生成されるカーブは元の形をそのまま再現しません
カーブは 11 点の線形補間として作られます。元のカーブのタンジェント(曲がり具合)は再現しません。
また、統合対象でチェーンの長さが異なる場合、同じ位置が同じ意味を持ちません。 その場合のカーブの提案は目安として扱ってください。
提案を作らない項目¶
| 項目 | 理由 |
|---|---|
Colliders |
連携先の Merged(両方のリストを連結)を使ってください |
Endpoint Position |
統合対象ごとに意味を持つ値であり、統計で決めるものではありません。連携先の Cleared を使ってください |
制限と注意¶
| 項目 | 内容 |
|---|---|
| 実行できない状態 | 再生中 |
| 対象 | AAO Merge PhysBone が付いたオブジェクト 1 つ。複数の同時編集はできません |
| 変更しないもの | 統合対象の集合(どの PhysBone を統合するか)は変更しません。 対象の増減は連携先のインスペクターで行ってください |
| 判定 | 差異の判定は完全一致です。わずかな差も「差異あり」として扱います |
適用した変更は「元に戻す(Undo)」で取り消せます。
よくある症状¶
「差異なし」なのにビルドで override を求められる
差異の判定は誤差を許容しない完全一致で行っています。 連携先の判定と食い違わないようにするためです。 それでも指摘される場合は、対象の集合が変わっていないか確認してください。
統合対象が一覧に出てこない
指定したオブジェクトの AAO Merge PhysBone に、統合対象が登録されているか確認してください。
このツールは対象の集合を読み取るだけで、追加はしません。
適用したのにカーブの形が元と違う
生成されるカーブは 11 点の線形補間です。元のタンジェントは再現しません。 形状を厳密に保ちたい場合は、適用後にインスペクターで手動調整してください。