【Blender】UnityのHumanoidに対応したアーマチュアを作る(IK編)

 

この記事のBlenderのバージョンは2.79です。

 

 

はじめに

 

【Blender】UnityのHumanoidに対応したアーマチュアを作る(基本編)の続きです。

 

Blenderでアニメーションを作成する時にほぼ必須となるIK(インバースキネマティクス)ボーンコンストレイントの設定を行います。

 

まずは、前回 [ Symmetrize ] で対称化したボーンを削除しておきましょう。

 

 

Inverse Kinematics

 

Lower Arm、Lower Legの先端(手首、足首に当たる位置)を選択し、[ E ] キー -> [ Y ] キーで+Y軸方向に押し出す。

押し出したボーンを選択し、[ Alt + P ] キー -> [ Clear Parent ] で親子関係を切る。

名前はそれぞれ「ArmIK」、「LegIK」としました。

 

次に、Upper Arm、Upper Legの先端(肘、膝に当たる位置)を選択し、[ E ] キー -> [ Y ] キーでーY軸方向に押し出す。

押し出したボーンを選択し、[ Alt + P ] キー -> [ Clear Parent ] で親子関係を切る。

少しだけーY軸方向に動かしておく。

名前は「Elbow」、「Knee」。

 

 

次に、[ Pose Mode ] に変更して、IKの設定を行います。

ArmIK -> Lower Arm と選択して、[ Shift + I ] キー -> [ Add IK ] の [ To Active Bone ]

 

Lower ArmのBone ConstraintsにIKが追加されているので、Pole TargetやChain Lengthを設定する。

 PoleTarget : Armature

 Bone : Elbow

 ChainLength : 2

 

脚も同様に、Lower LegにIKを設定します。

 PoleTarget : Armature

 Bone : Knee

 ChainLength : 2

 

以上で、IKの設定は終わりです。

Pose ModeでIKボーンを動かしたり、Pole Targetボーンを動かして動きを確認します。

 

Bone Constraints ( Copy Rotation )

 

次は指の制御用ボーンを追加します。

とりあえず、グーとパーが表現できればOKだろうというざっくりとしたリグですので、指一本一本の複雑な動きには対応できません…。

 

まずは親指以外の4指を選択して[ Shift + D ] キー -> [ Z ] キーでやや上側に複製。

 

 

親指は[ Transform Orientation ] を [ Normal ]に変更して、

[ Shift + D ] キー -> [ Z ] キー -> [ Z ] キー とすればNormalのZ方向に複製できます。

 

それぞれ名前は「◯◯(指の名前) Control」にしました。

 

次に、[ Pose Mode ] に変更して、[ Copy Rotation ] の設定を行います。

 

Controlボーン -> 指ボーン と選択して、[ Shift + Ctrl + C ] キー -> [ Add Constraints ] の [ Copy Rotation ]

 

 

指ボーンのBoneConstraintsにCopy Rotationが追加されているので、回転制御やSpaceを設定する。

 X軸でのみ回転するように設定。また、Spaceはローカル軸にする。

 このような回転制御はHumanoidでUnityにインポートした時には無視されるようなので、自由に設定してOK。

 

この設定を全ての指に対して行う。

 設定のコピー探したけど見つかりませんでした…。非常にめんどくさい。

 

最終的に以下のように動けばOKです。

 上図ではControlボーンにも回転制御をかけた。[ N ] キー メニュー -> [ Transform ] にある [ Rotation ] の鍵マークをX以外ロック。

 

 

Deform設定を変更する

 

IKやCopy Rotaion制御用ボーンは、メッシュの変形には無関係なので、ウェイトが割り当てられないように設定する。

 

全てのコントロールボーンを選択して、[ Shift + W ] キー -> [ Deform ]

 

[ Bone ]プロパティメニューの [ Deform ] のチェックが外れていればOK。

 

 

対称化とPoleAngleの設定

 

前回の記事と同じように名前付けと対称化を行えば完成!

 

…と言いたいところですが、IKの設定を一部変更する必要があります。

 

[ Pose Mode ]にすると、対称化させた右腕と右脚がグルンと180度回転しているはずです。

右腕と右脚に追加したIKのPoleAngleを180度に変更します。

 

 

完成

IKの動きを一通り確認し、問題なければ完成です!

 

 

次回は、Cubeで適当なモデルを作成してウェイト付けしたいと思います。

【Blender】UnityのHumanoidに対応したアーマチュアを作る(モデル作成&エクスポート編)

Leave a Reply