void njMotionLinkTransformEx( cnkobj )
const NJS_CNK_OBJECT *cnkobj
cnkobj カレントノードに対応したチャンクオブジェクト構造体へのポインタ
なし
予め設定されているモーションリンク情報に従った カレントノードのモーション(移動・回転・スケール)をカレントマトリクスに反映させます。本関数を実行する前に njStartMotionLink() でモーション情報を設定する必要が有ります。
本関数は njGetMotionLinkNodeData() 関数によって取得したノード情報に基づいて、マトリックス を作成します。
本関数と等価なソースコードが、njGetMotionLinkNodeData() 関数の用例欄に示されています。
void UserDrawMotionLink( const NJS_CNK_OBJECT *object, const NJS_MOTION_LINK *motion_link, Float rate ) { njStartMotionLink( motion_link, frame ); UserPushPopMotion( object ); } void UserPushPopMotion( const NJS_CNK_OBJECT *cnkobj ) { do { njPushMatrixEx(); njMotionLinkTransformEx( 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 ); }
- 本関数は0番スロットと1番スロットのモーション情報構造体に対し動作します。
- 本関数を呼び出すとカレントモーション情報構造体は0番スロットに設定されます。
njStartMotionLink() モーションリンクパラメータの設定 njGetMotionLinkNodeData() 現在のモーションリンクパラメータにおいてのカレントノードの姿勢情報の取得 njSetNextMotionNodeEx() モーションのカレントノードの更新