Ninja Library - Motion Function

njDrawShapeMotionLink

Draws motions with shapes

FORMAT

void njDrawShapeMotion( *object, *motion, *shape, frame )
NJS_OBJECT *object
NJS_MOTION *motion
NJS_MOTION *shape
Float frame

PARAMETER

 *object  Pointer to object structure 
 *motion  Pointer to motion structure 
 *shape  Pointer to motion structure (apex animation) 
 frame  Frame number 

RETURN

None

DESCRIPTION

Draws motion according to motion data. Because floating-point notation is possible for frame numbers, interpolation of motion data is possible. For motions where the number of frames is 10, the frame number range is 0 to less than 10 (9.9999). For example, when the frame number is set to 0.5, the values for the mean between frame 0 and frame 1 are interpolated and drawn. Interpolation for frames between 9 and less than 10 (9.9999) is carried out between the last frame and the first frame. This also applies to shapes (vertex animation).

EXAMPLE

#include <Shinobi.h>
#define	OBJECT	object_sample	/* Entered in NJA(NAM) file */
#define	MOTION	motion_sample	/* Entered in NAM file */
#define	SHAPE	shape_sample	/* Entered in NAS file */
extern NJS_OBJECT	OBJECT[];
extern NJS_MOTION	MOTION[];
extern NJS_MOTION	SHAPE[];
float	buf[10000];
float	ff=0.f;
	:
InitShape(buf);
	:
njDrawShapeMotion( OBJECT,MOTION,SHAPE,ff );
ff+=0.2f;
if( ff >= (MOTION->nbFrame-1) ) ff=0.f;
	:

NOTE

The drawing performed by this function is identical to model drawing, except that motion and shapes (apex animation) have been added. In other words, all of the njControl3D() settings are identical. This function corresponds to the model drawing function njDrawObject(), so the light source is normal light.

REFERENCE

njInitShape()
njFastDrawShapeMotion()
njSimpleDrawShapeMotion()

njDrawShapeMotionLink
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998,1999