# 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パート２つで構成されたスキン

> Morphパートは、上図で赤い線で囲まれている部分のように２つのノードが１方向の回転のみでリンクされている場合にそれら２つのノードによってのみ変形の影響を受けるという場合に適用します。この場合、その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.