njCnkDrawShapeMotion
シェープ付きモーションの実行。

### 書　式

      #include <Ninja.h>
      void  njCnkShapeDrawMotion( object, motion, shape, frame )
      NJS_CNK_OBJECT  *object
      NJS_MOTION  *motion
      NJS_MOTION  *shape
      Float    frame

### 引　数

*object
  CHUNKオブジェクト構造体へのポインタ
*motion
  モーション構造体へのポインタ
*shape
  モーション構造体へのポインタ（頂点アニメーション）
frame
  フレーム番号

### 返　値

  なし

### エラー

  なし

### 機　能

  モーションをモーションデータに従って描画します。
  フレーム番号には、浮動小数点が使えるため、モーションデータの補間ができます。
  フレーム数が１０のモーションの場合、フレーム番号の範囲は０〜１０未満（９．９９９９）となります。
  例えば、フレーム番号を０．５とすると、０フレーム目と１フレーム目のちょうど
  真ん中の値を、補完して描画します。
  ９〜１０未満（９．９９９９）の補完は、最後のフレームと、最初のフレームの補完となります。
  頂点アニメーションの対応している頂点型は下記のとおりです。

      頂点
      NJD_CV,NJD_CV_D8,NJD_CV_UF,NJD_CV_NF,NJD_CV_S5,NJD_CV_S4,NJD_CV_IN
      頂点・法線
      NJD_CV_VN,NJD_CV_VN_D8,NJD_CV_VN_UF,NJD_CV_VN_NF,NJD_CV_VN_S5,NJD_CV_VN_S4,NJD_CV_VN_IN
      （スプライン補間は頂点のみ）

### 用　例

      #include

      #define	OBJECT		object_sample	/* NJA(NAM)ファイル内に記述 */
      #define	MOTION		motion_sample	/* NAMファイル内に記述 */
      #define	SHAPE		shape_sample	/* NASファイル内に記述 */
      extern NJS_CNK_OBJECT	OBJECT[];
      extern NJS_MOTION		MOTION[];
      extern NJS_MOTION		SHAPE[];
      float	buf[10000];
      float	ff=0.f;

      ...........
      InitShape(buf);

      ...........
      njCnkDrawShapeMotion( OBJECT,MOTION,SHAPE,ff );

      ff+=0.2f;
      if( ff >= (MOTION->nbFrame-1) ) ff=0.f;
      ...........

### 備　考

  CHUNKオブジェクト構造体用のモーションです。
  モーションとシェープ（頂点アニメーション）が付いただけで、描画に関しては
  モデル描画と全く同様になります。

### 関　連

  njCnkDrawMotion
  njCnkDrawObject

njCnkDrawShapeMotion |