poi’s tech blog

3D多人数同時接続型球体アクション成人向けゲーム開発のためのアイデア、ナレッジ

Animation Riggingを試す

Blender 2.79b

Unity 2019.2.0f1

f:id:poipoipoip:20191227200152g:plain
ぶんぶん

モデルにIK設定してなくてもUnity側で多関節でモノを掴んだり追従したりが可能

下準備

BlenderでFBX出力してUnityにインポートするところまでは以下参考

poipoipoip.hatenablog.com

Unity Editorのメニュー>Window>Package Managerを選択

AdvancedからShow preview packagesを選択

f:id:poipoipoip:20191227192320p:plain

Animation RiggingをImportする

f:id:poipoipoip:20191227192450p:plain

Hierarchy構成

f:id:poipoipoip:20191227193752p:plain

krby
├Body  Blenderで作ったメッシュ群
├Root  Blenderで作ったボーン群
└Rig   新たに作ったGameObject
 └LeftSwordArm  新たに作ったGameObject
  └sowrd      剣オブジェクト

RigオブジェクトにRigコンポーネントを追加

f:id:poipoipoip:20191227193527p:plain

krbyオブジェクトにRig BuilderとBone Rendererコンポーネントを追加

krbyオブジェクトのRig BuilderのRig LayersにRigオブジェクトを追加

Bone RendererのTransformsの値にRoot配下のボーンオブジェクトの個数を入力して一個一個追加する。

f:id:poipoipoip:20191227193339p:plain

完了するとSceneビューからBlenderで作ったボーンの構造が見えるようになる。

f:id:poipoipoip:20191227194047p:plain

LeftSwordArmオブジェクトにChain IK Constraintコンポーネントを追加

Rootに肩の根本となるボーン

Tipに手の末端となるボーン

Targetに剣オブジェクトを設定する

f:id:poipoipoip:20191227194117p:plain

予め剣オブジェクトの原点をTipのボーンの先端に合わせておくと再生時に手の位置がずれなくて良い。

f:id:poipoipoip:20191227194717g:plain

既存モーションを再生しつつ動かせるので汎用性が高そう。

もう少し調べて色々できるようにしたい。

12/27 20:00追記

Chain IK Constraintに設定するTipをHand_L_end(ボーンの末端オブジェクト?Blenderからだと見えない)に変えたら捻じれがなくなった。

f:id:poipoipoip:20191227200152g:plain

Animation RiggingをプロジェクトにインポートしたらAssets\Unity\ConstraintSamples\Scenesにサンプルシーンあるのでまずは見てみると勉強になるかも。