トピック > ボーンウェイトとPMX

ボーンウェイトとPMX(下書き)


下書き

ボーンウェイトの仕様とPMXエクスポート
注意
あくまで私が検証した事象から割り出したXismoの仕様です。
またPMXエクスポートを行うための確認になっているため他の形式の場合については検証していません。

PMXエクスポート

ボーンウェイトの仕様はXismoとPMXで違う

Xismoのボーンウェイト

※生配信でmdqlさんに確認、PMXとの違いという観点からの質問
 何時の配信だったか、またその際のログは残っていないため私の記憶によるものになります。

一つの頂点に対し
 ボーンウエィトを設定できるボーン数に制限なし。5本以上設定できる、メモリが許すまで設定可
 ボーンウェイトの合計は100%でなくともよい。1ボーンに対しては0~100%のウェイトが設定できる
ボーンウェイトタイプという括りはない(BDEF1,2,4の考え方はしていない)
PMXエクスポート時、PMX2.0で出力する。BDEF1/2/4/SDEF形式に対応、QDEFは対応していない。

ボーンウェイトタイプ

PMXエクスポート時のボーンウェイトタイプ

頂点に対する影響ボーンの本数とSDEFフラグのON/OFFによってウェイトタイプを切り分ける

影響ボーン本数 SDEFフラグ ウェイトタイプ ウェイト値他
0(未塗装) - BDEF1 先頭ボーンにウェイト値100%
1 - BDEF1 影響ボーンにウェイト値100%
2 OFF BDEF2 影響ボーンのうち1本のウェイト値を引き継ぐ
残り1本は100%から減算した値として扱う
ON SDEF
3 - BDEF4 影響ボーンのウェイト値をそれぞれ引き継ぐ
ウェイトの合計値は100%を補償しない
4 - BDEF4
5以上 - BDEF4 影響ボーンのうち4本分をPMXに引き継ぐ
ウェイト値は3本分はそのまま
残り1本に合計100%となる値を設定
先頭ボーン:ボーンウィンドウの先頭にあるボーン、PMXの0番ボーン



曲面化モディファイアとボーンウェイト

曲面化モディファイアをかけた場合、頂点のウェイト・SDEFフラグはその頂点以外にも影響する。
ボーンウェイトに影響するパラメータ
曲面化モディファイアパラメータ
曲面化レベル 0~5(整数) 0:曲面化モディファイア無しとして扱う
1~5:曲面化を行う
タグ細分化 OFF/ON OFF:ノード全体を一つのボーンに対し100%ウェイトとして扱う。
ON :それぞれの頂点に対しウェイトの設定を反映する。
初期状態はOFF
曲面化モディファイア関連(曲面ウェイトツール)
曲面ウェイト 0~5(小数点) 曲面ウェイト値によりボーンウェイトが変化する

未塗装とタグ細分化

タグ細分化OFFの場合
未塗装頂点はPMX出力時、先頭ボーンにウェイトがウェイトに割り当てられる
頂点Aの関連ボーン→ボーン3とボーン2
頂点Bの関連ボーン→ボーン4
残りは未塗装
ノードをコビーし曲面化モディファイアを付与しパラメータを変更(タブ再分割と曲面化レベル)
中段:タブ再分割ON
下段:タブ再分割OFF
塗装の影響 頂点Aボーン3とボーン2

頂点B(ボーン4)

未塗装
タグ細分化ONの場合、頂点毎にウェイトを反映、また近接頂点に影響する
タグ細分化OFFの場合、ノード内の全頂点が同じ設定、また関連ボーンは一つ
(この例では元となった頂点Aの関連ボーンは2個ある)
曲面化レベル0の場合、曲面化なしと同じ扱い
PMX出力 未塗装頂点はPMX出力時、先頭ボーンにウェイトが割り当てられる
(MMDモデルの「全ての親」ボーン)


曲面化モディファイアとボーンウェイト・SDEFフラグのタグ細分割
フリーズ前 平面1は曲面化モディファイアあり
平面0は曲面化モディファイアなし(比較用)
曲面化レベル:2
タグ細分化:ON

頂点の設定がそれぞれ反映される。
ボーンウェイト

↓フリーズ
SDEFフラグ

↓フリーズ
曲面化レベル:0
タグ細分化:OFF

曲面化レベル:0の為
曲面化無しとして扱う
曲面化レベル:2
タグ細分化:OFF

タグ細分化:OFFの為
ノード全体に同じ設定が適用される
ウェイト


SDEFフラグ

PMXエクスポート時、タグ細分割フラグはONの扱いにならない

タグ細分割の影響範囲
ボーンウェイト SDEFフラグ
フリーズ前
フリーズ後

PMXのボーンウェイトタイプ
BDEF1 - ボーン1をウェイト値1.0 として頂点変形
BDEF2 - ボーン1をウェイト値1,ボーン2を(1.0-ウェイト値1) として頂点変形
BDEF4 - ボーン1-4をそれぞれウェイト値1-4 として頂点変形
SDEF - ボーン1をウェイト値1,ボーン2を(1.0-ウェイト値1) として スフィリカルデフォーム(SDEF)方式 で頂点変形
QDEF - ボーン1-4をそれぞれウェイト値1-4 として デュアルクォータニオン方式 で頂点変形(PMX2.1の拡張機能)
PMXereadmeより

XismoのPMXエクスポートとウェイト合計
BDEF1:関連ボーン1本、ウェイト100%
BDEF2:関連ボーン2本(SDEFフラグ=OFF)、ウェイト合計100%保証(1本のウェイト値のみ設定し、もう一本は減算)
SDEF:関連ボーン2本(SDEFフラグ=ON)、ウェイト合計100%保証(BDEF2と同じ)
BDEF4:関連ボーン3~4本、ウェイト合計100%保証しない(各ボーンのウェイト値をそれぞれ設定)
QDEF:Xismo対象外


1.曲面化モディファイア
 曲面化レベル:0~5
  0:曲面化モディファイア無しとして扱う
  1~5:曲面化
 タグ細分化:OFF/ON
  OFF:ノード全体を一つのボーンに対し100%ウェイトとして扱う。
  ON :それぞれの頂点に対しウェイトの設定を反映する。
2.ボーンウェイトタグ
 正規化:OFF/ON
  OFF:ボーンウェイトの指定に従う
  ON :ボーンウェイトの指定を合計が100%に比率にあわせ調整する

 SDEF計算法:両方/子/親
 SDEFブレンド率
3.ボーンウェイト
 関連ボーン:頂点に対しウェイトが関連付けられたボーン
 SDEFフラグ:ON/OFF
  頂点に対しそれぞれ設定可能。デフォルトはOFF、必要な場合にSDEFフラグをONにする。
  SDEFタイプとして扱う頂点は、SDEFフラグがON、かつ、関連ボーンが2本の場合のみ。
  メニューのボーンウェイトに設定(ON)/解除(OFF)/選択の項目がある
4.ボーン変形モディファイア
 アニメーションツールでボーン変形を確認する場合に必要
 PMXエクスポートには影響しない
5.アンカーノード
 頂点に対しウェイトを設定せずにアンカーを使いウェイトの範囲を指定する。らしいよ

曲面化モディファイア
隣り合うポリゴン(面)に影響を及ぼす。ボーンウェイト・SDEFフラグを設定した頂点を含まないポリゴンにも反映する


受けるを細分化する、その際ポリゴンの頂点の情報
と未塗装頂点

最終更新:2022年01月10日 21:09