Unique Scaleは特定のCGツール上で実現できるスケールです。NIFF2.0内では通常のスケール方法をClassical ScaleとしてUnique Scaleと区別しています。Unique Scaleには下記のような特徴があります。下図のようにIKチェーンにオブジェクトをアタッチしてアニメーションを作成する場合を考えてみます。
通常、このようなIKチェーンにオブジェクトをアタッチした場合、このChain Rootをスケールすると下図のようにそのオブジェクトの階層化にあるオブジェクトが同様にスケールされ、ジオメトリが変形してしまいます。 図 IKにアタッチされたオブジェクト
しかしUnique Scaleでは下図のようにChain Rootに与えたスケールをそのまま子オブジェクトに引き継いだ形でスケールされます。この場合、ジオメトリの変形は発生しません。 図 Classical Scaleを使用してChain Rootをスケール
FKのシステムでも同じように処理することができます。下記のような階層化された3つのオブジェクトを両方のスケール方法で比較してみます。 図 Unique Scaleを使用してChain Rootをスケール
図 階層化されたオブジェクト
上記のように階層化されたオブジェクトにそれぞれの階層でローテーションをおこない、ルートのオブジェクトに対してX軸に対してスケールをかけます。Classical Scaleの場合、下図のようにそれぞれのオブジェクトがグローバルなX軸方向にスケールされますので、ジオメトリの変形が発生します。
図 Classical Scaleを使用してRootオブジェクトをスケール
しかし、Unique Scaleを使用すると、子オブジェクトはそれぞれのローカルなX軸に対して一様にスケールされるのでジオメトリの変形は発生しません。
図 Unique Scaleを使用してRootオブジェクトをスケール
NIFF2.0内ではそれぞれUniqueScaleと、ClassicalScaleのデータ領域があり、そのどちらかを使用することでスケールの種類を指定します。実際にこれらのデータの使い分けはN64側のランタイムソフトウェア上でおこなわれますので、CGツール上で使用しているスケールにあわせて出力するデータ領域を分けてください。