人体スキャンデータのmixamoアニメーション
hr.icon
1. はじめに
人体スキャンデータを元にmixamoでアニメーションを行う方法を紹介する。
mixamoのオートリギングの精度はそこまで高くないので、猫背になったり、肩周りがいかつくなる。
本記事最後で紹介しているAccuRig(Windowsのみ)を使えば、より細かい調整が可能。
https://youtu.be/ipeVWvl2JUI
hr.icon
2. 人体スキャンデータの調整(Blender)
2.1 人体スキャンデータの準備
Blenderで人体スキャンデータ(Aポーズ、Lowポリゴン)を読み込む。
2024年度に配布したのはLowポリゴンのみ
以下の設定でテクスチャのみの質感表示が可能。
Viewport Shading: Solid
Material PreviewやRenderedではライトの影響を受けるため質感が下がる(mixamo上ではこの状態)
Viewport Shadingオプション
Lighting: Flat
Color: Texture
https://gyazo.com/eeaebd958045067c7317c72f79eae2ec
2.2 人体データの調整
以下の調整を行う。詳細は授業内で説明。
ワールド座標に合わせる(TOP、FRONT、SIDE)
骨格の歪み(Sculptツール、下図) ※無理に必要はないが、Blenderで調整する方がわかりやすい
オブジェクト原点をワールド座標原点に合わせる(任意)
https://gyazo.com/41c6e844b7b71216c07c9e0b1641bb2a
2.3 Subdivision Surfaceモディファイア
Lowポリゴンのため、Level1のSubdivision Surfaceを適用する。
https://gyazo.com/9f1d83c27973cdb4002455dbce7ea04a
https://gyazo.com/973f56fa8c90347ab0b1837d1a6a6199
2.4 Smooth Shading
オブジェクトを選択した状態で右クリックでShade Smoothを選択する。
https://gyazo.com/6a12e2164c799bb814b27c8e41136fba
hr.icon
3. モデルデータの書き出し
3.1 mixamoの読み込みデータの種類
mixamoでは以下のデータを読み込むことができる。
FBX
OBJ
ZIP
人体データはテクスチャを含むため、FBX or OBJにテクスチャデータを含むZIPに圧縮した上でアップロードする必要がある。
3.2 方法① FBXの書き出し方法と問題点(紹介のみ、今回は下方のOBJ書き出しで行う)
File > Export > FBX (.fbx)から書き出す。
Regionパネル(歯車アイコン)を表示して、
Path Mode: Copy
Embed Textures: ON
OFFにした場合はFBXとテクスチャデータを含むフォルダの両方をZIPファイルにする必要がある。
https://gyazo.com/eed0b018dd03e4316aff00bbcd006a0c
この方法ではmixamoにアップしたときに下図のようにテクスチャが暗く表示されてしまう。
そのため、今回は「3.3 OBJ書き出し」の方法で行う。
https://gyazo.com/8c8d324c90de1f82f185966ed82407ce
3.3 方法② OBJ書き出し(使用する方法)
File > Export > Wavefront (.obj)をクリックする。
https://gyazo.com/0744befdaf7c415c4205bee2452dee15
書き出しダイヤログの右メニュー(歯車アイコン)で以下のように設定する。
Materials: Exportにチェック
Path Mode: Copy
https://gyazo.com/1973383e76a68e8bf387801e81df1365
保存先とファイル名を指定して、Export Wavefront OBJをクリックして書き出す。
https://gyazo.com/72d38d0014e22aadd32bcdabcae7d49f
以下のように4つのファイルが生成される。
https://gyazo.com/582b93c1794a41f8e2ecd8d30e8b27a9
マテリアルデータ(.mtl)をテキストエディター(mac: テキストエディット、win: メモ帳)で開く。
下図のように、Kd 1 1 1を追記して保存する。
数値は1でも1.0でもよい。
https://gyazo.com/634b293bd373324fa3130b55ac47aba3
全てのデータをZIP圧縮する。
https://gyazo.com/0314fe06c0b700c757ea489be91ee597
hr.icon
OBJ書き出しの問題点
BlenderからOBJを書き出した場合、MTLファイルのうち、Kdが含まれないことでマテリアルが黒になる。
おそらくmixamoではKd成分を反映して表示していると考えられる。
https://gyazo.com/26944dfa7ef74b084d6691b95cd3fda4
.mtlデータ
Ka 環境光反射成分(ambient color)
Kd 拡散反射成分(diffuse color) ←BlenderのOBJ書き出しでは、これが含まれない
Ks 鏡面反射成分(specular color)
Ke 放射光成分(emissive color)
参考)
hr.icon
4. mixamoアニメーション
4.1 mixamoの使用方法
下記URLを参照。
https://gyazo.com/d9aeb1afefaed87d6479ff6257601e37
4.2 mixamoへアップロード
https://gyazo.com/27ed600ecfcaf90e1c748818f8269b14
4.3 オートリギング
アップロード後、AUTO-RIGGERウィンドウ(下図)で正面を向くように調整して、NEXTボタンを押す。
https://gyazo.com/87a427c1bf4205f135ff6e8f0a1537f1
https://gyazo.com/1d9d542480c21d24d1826d56b8682f32
CHIN、WRISTS、ELLBOWS、KNEES、GROINのマーカーを設定する。
https://gyazo.com/c241583726cffcdeb7c526cd69772e0d
指の状態に応じて、下図メニューを選択する。
https://gyazo.com/6962d190aa000224a9643cad3de2c811
オートリギング終了後、プレビューアニメーションが表示される。
https://gyazo.com/c7c82789a001bedd47669c5fc5c09f6f
https://gyazo.com/3666d010aa690f76482796a4bf0faf5d
4.4 mixamoアニメーションを設定
https://youtu.be/pazBK9W-Huc
hr.icon
5. 参考)AccuRigによるオートリギング
AccuRig(Windowsのみ)を利用すれば、より骨格に合わせたリギングが可能。 https://gyazo.com/351d563e530438fbce5945f517594b77
https://gyazo.com/0d94f8a719f3e6dd22ab65b8e01fc79f
https://youtu.be/lVvrs65FFGk