##### Ninja Library - モーション関数

# njMotionTransformEx

現在のモーションパラメータにおいてのカレントノードのマトリックス作成

### 書式

> `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() | ０番スロットへのオブジェクトモーションパラメータの設定
> njGetMotionNodeData() | 現在のモーションパラメータにおいてのカレントノードの姿勢情報の取得
> njSetNextMotionNodeEx() | モーションのカレントノードの更新

njMotionTransformEx

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000