Nintendo Confidential


Envelope System


NIFF2.0ではEnvelope System用のデータ領域があります。

Envelope Systemとは複数のノードから影響を受ける1 Skinのアニメーションを実現するためのシステムです。

NIFF2.0ではEnvelopeをおこなうジオメトリを下図のように3種類のパートに分けて登録します。

図 Envelopeのパート

Full Weightedパートは、そのパート内のすべての頂点は100%の影響を一つのノードから受けます。例えば上図で青い線で囲まれている部分の頂点の移動は一つのJointによって決定します。

すべての頂点をFull Weightedで作成したとすると、下図のようになります。

ここで、赤い頂点は赤いjointから100%の影響を受け、青い頂点は青いJointから100%の影響を受けます。

図 Full Weightedパート2つで構成されたスキン

Morphパートは、上図で赤い線で囲まれている部分のように2つのノードが1方向の回転のみでリンクされている場合にそれら2つのノードによってのみ変形の影響を受けるという場合に適用します。この場合、そのrotationから与えられるノード間のangle値を0から180度までで等分し、その場合の頂点の位置を出力することで、angle値をパラメータとする頂点アニメーションとして実現します。

図 Morphパートのangle

angle = 0からangle = 180までの角度に応じて、下記のようにtableを作成し、table#0から順にデータを格納していきます。

図 Morphパートのデータ作成

Weightedパートは複数のノードから受ける影響を各weight値によって算出する方法です。上図では緑の線で囲まれている部分がそれに該当します。この場合、同一ノードから受けるweight値が同じ頂点をまとめて一つのパートとして出力します。

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