##### Ninjaライブラリ - モーション関数

# njCnkDrawShapeMotion

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

### 書式

  void njCnkShapeDrawMotion( *object, *motion, *shape, frame )
  NJS_CNK_OBJECT *object
  NJS_MOTION *motion
  NJS_MOTION *shape
  Float frame

### 引数

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

### 戻値

  なし

### 解説

  モーションをモーションデータに従って描画します。

  フレーム番号には浮動小数点が使えるため、モーションデータの補間ができます。 フレーム数が10のモーションの場合、フレーム番号の範囲は0〜10未満(9.9999)となります。 例えば、フレーム番号を0.5とすると、0フレーム目と1フレーム目のちょうど真ん中の値を補完して描画します。 9〜10未満(9.9999)の補完は、最後のフレームと、最初のフレームの補完となります。

  頂点アニメーションの対応している頂点型は下記のとおりです。

  頂点 | 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 <Shinobi.h>
      #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;
      	：
      njInitShape(buf);
      	：
      njCnkDrawShapeMotion( OBJECT,MOTION,SHAPE,ff );
      ff+=0.2f;
      if( ff >= (MOTION->nbFrame-1) ) ff=0.f;
      	：

### 備考

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

### 参照

  njCnkDrawMotion()
  njCnkDrawObject()

njCnkDrawShapeMotion

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998