#include
#define OBJECT object_sample
#define MOTION1 motion_sample1 /* NAMファイル内に記載 */
#define MOTION2 motion_sample2 /* NAMファイル内に記載 */
#define SHAPE1 shape_sample1 /* NASファイル内に記載 */
#define SHAPE2 shape_sample2 /* NASファイル内に記載 */
#define STEPS 60
...........
#define VERTEX_NUM 600 /* maximum model's verteices */
#define TYPE_VN 6 /* vertex(3) + normal(3) */
#define HEADER_NUM 2
#define NUM (VERTEX_NUM * TYPE_VN + HEADER_NUM)
extern NJS_MOTION MOTION1[];
extern NJS_MOTION MOTION2[];
extern NJS_MOTION SHAPE1[];
extern NJS_MOTION SHAPE2[];
extern NJS_CNK_OBJECT OBJECT[];
NJS_MOTION_LINK motionlink;
NJS_MOTION_LINK shapelink;
Float sbuf[NUM * 3];
...........
njInitShape(sbuf);
...........
motionlink.motion[0] = MOTION1;/*リンク元*/
motionlink.motion[1] = MOTION2;/*リンク先*/
shapelink.motion[0] = SHAPE1;/*リンク元*/
shapelink.motion[1] = SHAPE2;/*リンク先*/
/*MOTION1の最後のフレームからMOTION2の1.5フレームを補間*/
motionlink.frame[0] =
shapelink.frame[0] = MOTION1->nbFrame-1;
motionlink.frame[1] =
shapelink.frame[1] = 1.5;
...........
njCnkSimpleDrawShapeMotionLink( OBJECT, &motionlink, &shapelink, ff/STEPS );
/* フレームは0−1を指定 */
ff+=0.2f;
if( ff >= STEPS - 1 ) ff=0.f;
...........