AutoRigProを使いsmplx用の.bvh
データを任意のfbxモデルにリターゲットするスクリプトです。
Sketch2Poseの出力結果のbvhをリターゲットする処理を自動化する目的で作成。
AutoRigProのリターゲット機能をヘッドレスで自動化するものです。
blenderコマンドのパスが通った状態で下記コマンドを実行。
blender -b -P script.py -- --bvh-path ./test1.bvh \
--fbx-path ./sotai1.fbx \
--armature-name root \
--root-name root.x \
--mesh-names Body
bvh-path
: リターゲットする.bvh
のパス。同ディレクトリに出力。fbx-path
: リターゲット先のモデルのfbx。armature-name
: リターゲット先のアーマチュアの名前。root-name
: リターゲット先のアーマチュアのルートボーンの名前。mesh-names
: 出力される.fbx
と.blend
ファイルに含むメッシュの名前。
リターゲットのためのボーンの対応付けリストはscript.pyのbone_listを書き換える。
resource/sotai1.fbxのボーンの名前
bone_list = [
spine_03.x
foot.l
shoulder.l
forearm_stretch.l
thigh_stretch.l
leg_stretch.l
spine_01.x
neck.x
arm_stretch.l
toes_01.l
hand.l
foot.r
shoulder.r
forearm_stretch.r
thigh_stretch.r
leg_stretch.r
root.x
arm_stretch.r
toes_01.r
hand.r
spine_02.x
head.x
]
ARPでリギングしたボーンの対応リスト
bone_list = [
spine_01.x
spine_02.x
spine_03.x
neck.x
head.x
shoulder.l
arm_stretch.l
arm_twist.l
forearm_stretch.l
forearm_twist.l
hand.l
shoulder.r
arm_stretch.r
arm_twist.r
forearm_stretch.r
forearm_twist.r
hand.r
thigh_stretch.l
leg_stretch.l
foot.l
toes_01.l
leg_twist.l
thigh_twist.l
thigh_stretch.r
leg_stretch.r
foot.r
toes_01.r
leg_twist.r
thigh_twist.r
]