void njMotionTransformEx( cnkobj )
const NJS_CNK_OBJECT *cnkobj
cnkobj カレントノードに対応したチャンクオブジェクト構造体へのポインタ
なし
予め設定されているモーション情報に従った カレントノードのモーション(移動・回転・スケール)をカレントマトリクスに反映させます。本関数を実行する前に njStartMotionObj() でモーション情報を設定する必要が有ります。
本関数は njGetMotionNodeData() 関数によって取得したノード情報に基づいて、マトリックス を作成します。
本関数と等価なソースコードが、njGetMotionNodeData() 関数の用例欄に示されています。
void UserDrawMotion( const NJS_CNK_OBJECT *object, const NJS_MOTION *motion, Float frame ) { njStartMotionObj( motion, frame ); UserPushPopMotion( object ); } void UserPushPopMotion( const NJS_CNK_OBJECT *cnkobj ) { do { njPushMatrixEx(); njMotionTransformEx( cnkobj ); if ( ( cnkobj->model != NULL ) && ( !( cnkobj->evalflags & NJD_EVAL_HIDE ) ) ) { njCnkEasyDrawModel( cnkobj->model ); } if ( cnkobj->child != NULL ) { UserPushPopMotion( ( NJS_CNK_OBJECT* )cnkobj->child ); } njPopMatrixEx(); cnkobj = cnkobj->sibling; } while ( cnkobj != NULL ); }
本関数はカレントモーション情報構造体に対し動作します。
njMotionLinkTransformEx() 現在のモーションリンクパラメータにおいてのカレントノードのマトリックス作成 njStartMotionObj() 0番スロットへのオブジェクトモーションパラメータの設定 njGetMotionNodeData() 現在のモーションパラメータにおいてのカレントノードの姿勢情報の取得 njSetNextMotionNodeEx() モーションのカレントノードの更新