Unity ThreeDPoseUnityBarracuda でモーションキャプチャ

前回のThreeDPoseUnityBarracuda でマキタくんを読み込んだら頭がひっくり返りましたが、なんとか治りました。

でも難易度の高いブレイクダンスに挑戦してしまったので、結局またぐちゃぐちゃになってしまいます。

こいつも躍らせてみた。

ファンキーなヒップホップダンスの映像からキャプチャしているのですが、こいつの場合、盆踊りにしか見えませんね。

スケルトンの作りによってボーンがねじれてしまう事があるのですが、スケルトン直すのも面倒なんで、VNectModel.csのInit()のRotation処理まわりをちょっと修正。

var forward = TriangleNormal(jointPoints[PositionIndex.hip.Int()].Transform.position, jointPoints[PositionIndex.lShin.Int()].Transform.position, jointPoints[PositionIndex.rShin.Int()].Transform.position);

マキタくんはUE4からExportするとheadのボーンがなくなってしまうようで、

head.InverseRotation = head.Inverse * head.InitRotation;

上をコメントアウトしたら頭がひっくり返らなくなりました。

モーションキャプチャする場合は、UnityのアセットストアにBVH toolsという便利なツールが無料で公開されているので、これを使うとスケルトンのモーションをキャプチャしてBlenderや他のアプリケーションで使えるようになります。

BVHとして使える

Blenderで適当なメッシュをparentしてFBXで書き出せば アニメーションをUnrealEngineでRetargetすることもできますよ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です