Ninja Library - モーション関数

njCnkEasyMultiDrawMotion

モーションの描画(CHUNK-EASY MULTI)

書式

void njCnkEasyMultiDrawMotion( object, motion, frame )
const NJS_CNK_OBJECT *object
const NJS_MOTION *motion
Float frame

引数

object   チャンクオブジェクト構造体へのポインタ
motion   モーション構造体へのポインタ
frame   フレーム番号(0〜モーションフレーム数(motion->nbFrame)未満)

戻り値

なし

解説

引数 frame で示される位置の姿勢データを、モーションデータのキーフレーム間を補間して 作成し、その姿勢データに基づいてオブジェクトツリー全体を描画します。

例: フレーム数(motion->nbFrame)が10のモーションの場合

引数 frame の範囲と補完のされ方をまとめると次のように成ります。

 引数 frame の範囲   補完のされ方 
  frame < 0   暴走はしませんが通常は使いません。 
  0 <= frame <= motion->nbFrame - 1   通常の補完 
 motion->nbFrame - 1 <= frame < motion->nbFrame   最後のキーフレームと最初のキーフレームの補完 
 motion->nbFrame <= frame   暴走はしませんが通常は使いません。 


用例

#define OBJECT  object_sample
#define MOTION  motion_sample
extern NJS_CNK_OBJECT  OBJECT[];
extern NJS_MOTION      MOTION[];
	:
{
    njCnkEasyMultiDrawMotion( MOTION, ff );
    ff  += 0.2f;
    if ( ff >= MOTION->nbFrame ) {
        ff  -= MOTION->nbFrame;
    }
	:
}

備考


参照

njCnkEasyMultiDrawObject() CHUNKオブジェクトのEASY MULTI描画
njCnkEasyMultiDrawModel() CHUNKモデルのEASY MULTI描画
njCnkEasyDrawMotion() モーションの描画(CHUNK-EASY)
njCnkSimpleDrawMotion() モーションの描画(CHUNK-SIMPLE)
njCnkSimpleMultiDrawMotion() モーションの描画(CHUNK-SIMPLE MULTI)

njCnkEasyMultiDrawMotion
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000