## 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.