IK System


NIFF2.0でのIKシステムは下記のような2BoneのIKシステムが使用可能です。

Chain Root -> Joint0 -> Joint1 -> Effectorという形で構成されています。

Chain RootとEffectorの位置を決定することによりJoint0、Joint1の変換マトリクスを求めます。

図 2Bone IK

IKのJointの軸は下記のように決定されます。

図 Jointの軸

また、IKの変形はレゾリューション・プレーンと呼ばれる平面上でおこなわれます。

この平面は基本的には下図のようなJoint0のZ軸を法線とし、joint0の原点を通る平面です。

図 Resolution Plane

ただし、レゾリューション・プレーンの法線を変更することができます。

下図のように変更されたレゾリューション・プレーンの軸を指定することで、本来のIKの動作を歪めることができます。

この場合、Joint0にPreferred Axis ConstraintやUp Vector Constraintをかけると、Constraintするオブジェクトは本来のレゾリューション・プレーンを決定し、Joint0、Joint1は変更されたレゾリューション・プレーン上で動作します。

図 Resolution Planeの変更

IKシステム上ではEffectorの移動により、Joint0とJoint1の変換マトリクスが決定します。その場合、Joint0に与えられたフラグによって、二通りの変形があります。

一つはNIFF2_JOINT_UPフラグがJoint0に設定されている場合です。この場合、下図のようにJoint0のY軸の向きにEffectorが移動した場合にIKは「曲がる」動作をします。

図 NIFF2_JOINT_UP指定時

逆にNIFF2_JOINT_DOWNフラグがJoint0に設定されている場合は下図のようにJoint0のY軸と逆の向きにEffectorが移動した場合にIKが「曲がり」ます。

図 NIFF2_JOINT_DOWN指定時


Copyright 1998,1999 NINTENDO Co.,Ltd. All rights reserved.
Copyright 1998,1999 MONEGI CORPORATION All rights reserved.