njFastDrawShapeMotion | English
    ▲|INDEX|▼
シェープ付きモーションの実行。

### 書　式

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

### 引　数

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

### 返　値

  なし

### エラー

  なし

### 機　能

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

### 用　例

      #include <NINJA.H>

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

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

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

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

### 備　考

  モーションとシェープ（頂点アニメーション）が付いただけで、描画に関してはモデル描画と全く同様になります。つまり、njControl3Dの設定はすべて同様になります。モデル関数ではnjFastDrawObjectに対応しますので、光源は輝度ライトとなります。

### 関　連

  njInitShape()
  njDrawShapeMotion()
  njSimpleDrawShapeMotion()

njFastDrawShapeMotion |
    ▲|INDEX|▼