PMX2FBX オプション一覧

PMX2FBX オプション一覧
by Nora
http://stereoarts.jp
■ 履歴
2014/5/5
その他追加
■ 概要
PMX2FBX の変換時のオプション、及び内部で行われている処理の解説です。
■ オプション一覧
Vertex Scale
Vertex Scale by Height
ImportScale
BlendShapes
… FBX変換時の頂点スケール値
… キャラの高さを基準にスケール値を自動調整
… UnityのImportScale
… BlendShapes有効(FBXに頂点モーフを埋め込む)
OrderBone
… ボーンの更新順位を自動ソート
(デバッグ用、オフ推奨)
KeepIKTargetBone
… IK 終了時に TargetBone の角度を戻す (デバッグ用、オフ推奨)
EnableIKMuscle
… 特定ボーンに対してIK追加補正
MuscleFootUpperXAngle
… 足首(上方向)の角度制限( -1 : 自動 )
MuscleFootLowerXAngle
… 足首(下方向)の角度制限( -1 : 自動 )
MuscleFootInnerYAngle
… 足首(水平内側)の角度制限( -1 : 自動 )
MuscleFootOuterYAngle
… 足首(水平外側)の角度制限( -1 : 自動 )
MuscleFootInnerZAngle
… 足首(正面内側)の角度制限( -1 : 自動 )
MuscleFootOuterZAngle
… 足首(正面外側)の角度制限( -1 : 自動 )
ParseHierarchy
… ボーンの親子階層を解除して出力
(デバッグ用、オフ推奨)
CreateSkeleton
… FBX にスケルトン情報を埋め込む
AddMotionNameExt
… FBX のアニメーション名の末尾に .vmd を付加
NullBone
… FBX に Null のボーンも含める
NullBoneAnimation
… FBX アニメーションで Null ボーンのアニメーション情報も出力
BodyBone4Mecanim
… Mecanim(Humanoid)向けにボディのボーン階層を自動調整 (Unity以外ではオフ推奨)
ArmBone4Mecanim
… Mecanim(Humanoid)向けに腕のボーン階層を自動調整
(Unity以外ではオフ推奨)
HandBone4Mecanim
… Mecanim(Humanoid)向けに手のボーン階層を自動調整
(Unity以外ではオフ推奨)
HandBone4MecanimModThumb0
… Mecanim(Humanoid)向けに親指0ボーンを自動調整
(Unity以外ではオフ推奨)
LegBone4Mecanim
… Mecanim(Humanoid)向けに足ボーン階層を自動調整
(Unity以外ではオフ推奨)
HeadBone4Mecanim
… Mecanim(Humanoid)向けに頭ボーン階層を自動調整
(Unity以外ではオフ推奨)
SplitMesh
… 表情モーフ/マテリアルなどの条件でメッシュを分離(最適化) (Unity以外ではオフ推奨)
SplitMesh XDEF
… SDEF/QDEF部分のメッシュを分離
(Unity以外ではオフ推奨)
SplitMesh XDEF Extra
… SDEF/QDEF部分のメッシュを分離、同一マテリアル部分拡張(Unity以外ではオフ推奨)
AddNullAnimation
… アニメーション情報の末尾に Null アニメーション付加
(Unity以外ではオフ推奨)
AnimRootAnimation
… ルートボーンで強制的にアニメーション( Translate )を調整 (Unity以外ではオフ推奨)
AnimKeyRotationEpsilon1
… キーフレームリダクションパラメータ
AnimKeyRotationEpsilon2
… キーフレームリダクションパラメータ
AnimKeyTranslateEpsilon1
… キーフレームリダクションパラメータ
AnimKeyTranslateEpsilon2
… キーフレームリダクションパラメータ
AnimAwakeWaitingTime
… アニメーションをレコードする直前に n 秒間待機させる
■ オプション備考
頂点スケール値 (Vertex Scale / Import Scale)
頂点のスケール値は、以下のように調整されます。
(最終的な頂点の座標値) = (元の座標値) x Vertex Scale(PMX2FBX) x Import Scale(Unity)
FBX には (元の座標値) x Vertex Scale の座標値が書き込まれます。
Unity にインポートする際、標準の設定では 0.01 倍に補正されます。
※ Unity では 1.0 = 1m として扱われています。
元のスケール値を維持したい場合は、Vertex Scale に 1 を設定します。
BlendShapes
FBX に頂点モーフ(表情)を埋め込めます。
原則として、オンにしたほうが実行時の処理は軽くなります。
ただし、Unity では特定のモデルでインポート時に強制終了してしまうため、標準ではオフに設定してあります。
EnableIKMuscle
現状、足首の角度制限のみです。IKの挙動を安定させるための補正処理です。
AddMotionNameExt
Mecanim(Humanoid)で一部 VMD と外部から渡されたモーション(非VMD)とで処理を分けるため、
アニメーション名の末尾に .vmd を加えます。
これは、非VMDで肩ボーンの角度がやや下がってしまう現象に対して、その補正を加えるかどうかの判定に使っています。
NullBoneAnimation
Nullボーンのアニメーションを有効化させるかどうか。標準ではオフに設定してあります。
オンに設定すると、FBXサイズが肥大化し、Unityが落ちやすくなるので注意。
~Bone4Mecanim
Mecanim(Humanoid)のために、ボーン階層を自動調整します。元の階層を維持したい場合は、全てチェックを外します。
SplitMesh
表情モーフやSDEFの最適化のために、変更する頻度の高い頂点情報を別のメッシュに分離します。
AddNullAnimation
UnityでキャラをHierarchy(シーン)に配置した場合、そのFBXに含まれるモーションの最後の最終フレームが強制的に
使われてしまうため、その対策のために Null アニメーションを添付させます。
■ その他
FBX に出力されている特殊データについて
Vertex Color
Unity の FBX インポート時の頂点増加 / インデックス入れ替わり対策として、Vertex Color に元のインデックス値を
保持し、そこからインデックステーブル( .index.bytes )を生成しています。
PMX2FBX では、以下のような形式で格納されています。
color.r = ((index & 0xff)) / 255.0
color.g = ((index >> 8) & 0xff) / 255.0
color.b = ((index >> 16) & 0xff) / 255.0
※ A チャンネルは予約。今のところ 0 固定。
Tangents / Binormal
Unity の FBX インポート時、Tangents に Calculate を指定すると Tangent を面ごとに分離する都合上、頂点が
増加します。Calculate から Import に設定すると、頂点数が変わらずにインポートすることができます。
※ ただし、頂点数は変わらなくてもインデックスが変化する場合があるので注意