My Project
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
ParaEngine::CParaXAnimInstance Class Reference

this is primary animation instance used for normal animated character or advanced customizable character External animation are stored in dynamic fields using bone names as key. More...

#include <ParaXAnimInstance.h>

Inheritance diagram for ParaEngine::CParaXAnimInstance:
ParaEngine::CAnimInstanceBase ParaEngine::IAttributeFields ParaEngine::IObject ParaEngine::CRefCounted

Classes

struct  AttachmentMat
 

Public Types

enum  ModelType { CharacterModel =0, FixedModel =1 }
 defines the model type that this instance holds More...
 
typedef map< int, AttachmentMatATTACHMENT_MATRIX_POOL_TYPE
 
- Public Types inherited from ParaEngine::IAttributeFields
typedef ParaEngine::weak_ptr< IObject, IAttributeFieldsWeakPtr_type
 
- Public Types inherited from ParaEngine::IObject
typedef ParaEngine::weak_ptr< IObjectWeakPtr_type
 

Public Member Functions

 ATTRIBUTE_DEFINE_CLASS (CParaXAnimInstance)
 
virtual int InstallFields (CAttributeClass *pClass, bool bOverride)
 this class should be implemented if one wants to add new attribute. More...
 
virtual IAttributeFieldsGetChildAttributeObject (const std::string &sName)
 get attribute by child object. More...
 
virtual int GetChildAttributeObjectCount (int nColumnIndex=0)
 get the number of child objects (row count) in the given column. More...
 
virtual int GetChildAttributeColumnCount ()
 we support multi-dimensional child object. More...
 
virtual IAttributeFieldsGetChildAttributeObject (int nRowIndex, int nColumnIndex=0)
 
 ATTRIBUTE_METHOD1 (CParaXAnimInstance, GetIdleAnimationID_s, int *)
 
 ATTRIBUTE_METHOD1 (CParaXAnimInstance, SetIdleAnimationID_s, int)
 
 ATTRIBUTE_METHOD (CParaXAnimInstance, UpdateModel_s)
 
virtual int GetTime ()
 get the current local time in case it is animated in milli seconds frames. More...
 
virtual void SetTime (int nTime)
 
bool HasMountPoint (int nMountPointID=0)
 whether the character has a mount point at the given ID. More...
 
CharModelInstanceGetCharModel ()
 Get the character model instance. More...
 
ParaXEntityGetAnimModel ()
 get the animation model
 
void Init (ParaXEntity *pModel)
 init the animation instance. More...
 
bool ResetBaseModel (ParaXEntity *pModel)
 reset the base model
 
virtual void ResetAnimation ()
 reset the animation and blending animation. More...
 
virtual HRESULT Draw (SceneState *sceneState, const Matrix4 *mxWorld, CParameterBlock *params=NULL)
 Render the model with its current settings. More...
 
virtual void Animate (double dTimeDelta, int nRenderNumber=0)
 animate the model. More...
 
virtual bool UpdateWorldTransform (SceneState *sceneState, Matrix4 &out, const Matrix4 &mxWorld)
 update world transform by applying local size scale. More...
 
bool UpdateModel (SceneState *sceneState=NULL)
 update model according to current animation data and time
 
int GetIdleAnimationID ()
 
void SetIdleAnimationID (int nID)
 the current idle animation ID. More...
 
virtual void BuildShadowVolume (SceneState *sceneState, ShadowVolume *pShadowVolume, LightParams *pLight, Matrix4 *mxWorld)
 shadow volume
 
virtual void AdvanceTime (double dTimeDelta)
 Advance the animation by a time delta in second. More...
 
Matrix4GetAttachmentMatrix (Matrix4 *pOut, int nAttachmentID, int nRenderNumber)
 Get the specified attachment matrix of the current model. More...
 
bool HasAttachmentMatrix (int nAttachmentID)
 Get the specified attachment matrix of the current model. More...
 
virtual void LoadAnimation (const char *sName, float *fSpeed, bool bAppend=false)
 Play or append the specified animation. More...
 
virtual void LoadAnimation (int nAnimID, float *fSpeed, bool bAppend=false)
 
virtual void LoadAnimationByIndex (const AnimIndex &nAnimIndex, bool bAppend=false)
 
virtual void LoadDefaultStandAnim (float *fSpeed)
 
virtual void LoadDefaultWalkAnim (float *fSpeed)
 
virtual bool HasAnimId (int nAnimID)
 check to see if the underlying model has a given animation id. More...
 
virtual int GetCurrentAnimation ()
 get the ID of the current animation. More...
 
virtual void GetCurrentRadius (float *fRadius)
 normally this will read the radius of the current animation and calculate the correct size after scaling
 
virtual void GetCurrentSize (float *fWidth, float *fDepth)
 normally this will read the radius of the current animation and calculate the correct size after scaling
 
virtual void GetCurrentSpeed (float *fSpeed)
 normally this will read the move speed of the current animation and calculate the correct(scaled) speed
 
virtual void GetSpeedOf (const char *sName, float *fSpeed)
 normally this will read the move speed of the specified animation and calculate the correct(scaled) speed
 
virtual void SetUseGlobalTime (bool bUseGlobalTime)
 whether to use global time to sync animation. More...
 
virtual bool IsUseGlobalTime ()
 whether to use global time to sync animation. More...
 
virtual void SetAnimFrame (int nFrame)
 set the current animation frame number relative to the beginning of current animation. More...
 
virtual int GetAnimFrame ()
 get the current animation frame number relative to the beginning of current animation. More...
 
virtual void SetBlendingFactor (float fBlendingFactor)
 set the blending factor between the current and blend animation. More...
 
virtual bool HasAnimation (int nAnimID)
 whether an animation id exist. More...
 
virtual bool HasAlphaBlendedObjects ()
 return true if the object contains alpha blended render pass. More...
 
virtual int GetValidAnimID (int nAnimID)
 look for a valid animation ID for nAnimID. More...
 
- Public Member Functions inherited from ParaEngine::CAnimInstanceBase
 ATTRIBUTE_DEFINE_CLASS (CAnimInstanceBase)
 
 ATTRIBUTE_METHOD1 (CAnimInstanceBase, GetRenderCount_s, int *)
 
 ATTRIBUTE_METHOD1 (CAnimInstanceBase, SetRenderCount_s, int)
 
 ATTRIBUTE_METHOD1 (CAnimInstanceBase, IsAnimIDMapEnabled_s, bool *)
 
 ATTRIBUTE_METHOD1 (CAnimInstanceBase, EnableAnimIDMap_s, bool)
 
 ATTRIBUTE_METHOD (CAnimInstanceBase, ResetAnimation_s)
 
 ATTRIBUTE_METHOD1 (CAnimInstanceBase, GetCurrentAnimation_s, int *)
 
 ATTRIBUTE_METHOD1 (CAnimInstanceBase, ShowMesh_s, DWORD)
 
 ATTRIBUTE_METHOD1 (CAnimInstanceBase, GetSizeScale_s, float *)
 
 ATTRIBUTE_METHOD1 (CAnimInstanceBase, SetSizeScale_s, float)
 
 ATTRIBUTE_METHOD1 (CAnimInstanceBase, GetSpeedScale_s, float *)
 
 ATTRIBUTE_METHOD1 (CAnimInstanceBase, SetSpeedScale_s, float)
 
 ATTRIBUTE_METHOD1 (CAnimInstanceBase, IsUseGlobalTime_s, bool *)
 
 ATTRIBUTE_METHOD1 (CAnimInstanceBase, SetUseGlobalTime_s, bool)
 
 ATTRIBUTE_METHOD1 (CAnimInstanceBase, GetAnimFrame_s, int *)
 
 ATTRIBUTE_METHOD1 (CAnimInstanceBase, SetAnimFrame_s, int)
 
 ATTRIBUTE_METHOD1 (CAnimInstanceBase, IsAnimationEnabled_s, bool *)
 
 ATTRIBUTE_METHOD1 (CAnimInstanceBase, EnableAnimation_s, bool)
 
virtual int GetRenderCount ()
 this function is called to update the render frame number of this object. More...
 
virtual void SetRenderCount (int nCount)
 
void EnableAnimIDMap (bool bEnable)
 set whether the m_mapAnimIDs will be used. More...
 
bool IsAnimIDMapEnabled ()
 get whether the m_mapAnimIDs will be used.Disabled by default
 
map< int, int > * GetAnimIDMap ()
 one can use the returned map to set and get the animation ID mapping. More...
 
void ApplyLocalTransformToVec3 (Vector3 *pOut, const Vector3 *pV)
 pOut = m_mxLocalTransform (X) pV;
 
void ApplyLocalTransformToVec1 (float *pOut, float *pV)
 
virtual void SetModelColor (LinearColor modelColor)
 set model color, different race might have different color
 
virtual void ShowMesh (BOOL bShow, int nIndex)
 a model might has several meshes, you can show or hide them by setting the bit field of a DWORD. More...
 
virtual void ShowMesh (DWORD dwBitfields)
 
virtual void SetLocalTransform (Matrix4 mXForm)
 when calling draw method, the mxWorld is pre-multiplied by a location transform matrix
 
virtual void SetSizeScale (float fScale)
 get the size scale scale normally this is 1.0f
 
virtual float GetSizeScale ()
 get the size scale
 
virtual void SetSpeedScale (float fScale)
 set the scale factor that will be pre-multiplied to the loaded model and animation the animation speed is changed, one should later call GetCurrentSpeed to update the animation's displacement speed. More...
 
virtual float GetSpeedScale ()
 Get the scale factor that will be pre-multiplied to the loaded model and animation. More...
 
void EnableAnimation (bool bAnimated)
 whether animation is enabled. More...
 
bool IsAnimationEnabled () const
 
- Public Member Functions inherited from ParaEngine::IAttributeFields
virtual int GetAttributeClassID ()
 attribute class ID should be identical, unless one knows how overriding rules work. More...
 
virtual const char * GetAttributeClassName ()
 a static string, describing the attribute class object's name
 
virtual const char * GetAttributeClassDescription ()
 a static string, describing the attribute class object
 
 ATTRIBUTE_METHOD1 (IAttributeFields, GetName_s, const char **)
 
 ATTRIBUTE_METHOD1 (IAttributeFields, SetName_s, const char *)
 
 ATTRIBUTE_METHOD (IAttributeFields, PrintObject_s)
 
 ATTRIBUTE_METHOD (IAttributeFields, AddRef_s)
 
 ATTRIBUTE_METHOD1 (IAttributeFields, GetRefCount_s, int *)
 
 ATTRIBUTE_METHOD1 (IAttributeFields, SetTime_s, int)
 
 ATTRIBUTE_METHOD1 (IAttributeFields, GetTime_s, int *)
 
 ATTRIBUTE_METHOD (IAttributeFields, Release_s)
 
virtual const std::string & GetIdentifier ()
 
virtual void SetIdentifier (const std::string &sID)
 
virtual bool IsModified ()
 whether some of the fields are modified.It is up to the implementation class to provide this functionality if necessary. More...
 
virtual void SetModified (bool bModified)
 set whether any field has been modified. More...
 
virtual bool ValidateFields ()
 validate all fields and return true if validation passed. More...
 
virtual string GetValidationMessage ()
 get the recent validation message due to the most recent call to ValidateFields()
 
virtual bool ResetField (int nFieldID)
 Reset the field to its initial or default value. More...
 
virtual bool InvokeEditor (int nFieldID, const std::string &sParameters)
 Invoke an (external) editor for a given field. More...
 
virtual bool AddChildAttributeObject (IAttributeFields *pChild, int nRowIndex=-1, int nColumnIndex=0)
 add child object. More...
 
virtual void * QueryObjectByName (const std::string &sObjectType)
 convert to object of a given type. More...
 
virtual void * QueryObject (int nObjectType)
 convert to object of a given type. More...
 
virtual CDynamicAttributeFieldGetDynamicField (const std::string &sName)
 Get a dynamic field with a given name. More...
 
virtual CDynamicAttributeFieldGetDynamicField (int nIndex)
 Get a dynamic field with a given index. More...
 
virtual const char * GetDynamicFieldNameByIndex (int nIndex)
 get field name by index
 
virtual int GetDynamicFieldCount ()
 how many dynamic field this object currently have. More...
 
virtual int SetDynamicField (const std::string &sName, const CVariable &value)
 set a dynamic field with a given name. More...
 
virtual int AddDynamicField (const std::string &sName, ATTRIBUTE_FIELDTYPE dwType)
 add dynamic field and return field index
 
virtual void RemoveAllDynamicFields ()
 remove all dynamic fields
 
virtual int SaveDynamicFieldsToString (std::string &output)
 save only text dynamic fields to fieldname = value text strings. More...
 
virtual int LoadDynamicFieldsFromString (const std::string &input)
 load only text dynamic fields from string More...
 
CAttributeClassGetAttributeClass ()
 get the main attribute class object. More...
 
void PrintObject ()
 print the content of this object to a text file at temp/doc/[ClassName].txt. More...
 
- Public Member Functions inherited from ParaEngine::IObject
virtual void Clone (IObject *obj) const
 Clone the object's contains to a pointer. More...
 
virtual IObjectClone () const
 Clone the object's contains and return a pointer to the newly created object. More...
 
virtual bool Equals (const IObject *obj) const
 Compare the object with another object. More...
 
virtual const ITypeGetType () const
 
virtual std::string ToString () const
 
WeakPtr_typeGetWeakReference ()
 get weak reference object. More...
 
virtual int ProcessObjectEvent (const ObjectEvent &event)
 this function is only used to backward compatibility of ParaObject:AddEvent() function. More...
 
- Public Member Functions inherited from ParaEngine::CRefCounted
void addref () const
 add reference count of the object. More...
 
bool delref () const
 decrease reference count of the object. More...
 
int GetRefCount () const
 get the reference count
 
virtual int Release ()
 
CRefCountedAddToAutoReleasePool ()
 addref and releases the ownership sometime soon automatically (usually at the end of the current frame). More...
 

Public Attributes

AnimIndex m_CurrentAnim
 current animation index, this is different from sequence ID an absolute ParaX frame number denoting the current animation frame. More...
 
AnimIndex m_NextAnim
 the next animation index.if it is -1, the next animation will depends on the loop property of the current sequenc; otherwise, the animation specified by the ID will be played next, after the current animation reached the end. More...
 
AnimIndex m_BlendingAnim
 the animation sequence with which the current animation should be blended. More...
 
float m_fBlendingFactor
 by how much the blending frame should be blended with the current frame. More...
 
unsigned short m_nCurrentIdleAnimationID
 the current idle animation ID. More...
 
short m_nCustomStandingAnimCount
 the number of custom animations. More...
 
bool m_bUseGlobalTime
 whether to use global time to sync animation. More...
 
int m_curTime
 current time for dynamic fields. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ParaEngine::IAttributeFields
static HRESULT GetAttributeClassID_s (IAttributeFields *cls, int *p1)
 
static HRESULT GetAttributeClassName_s (IAttributeFields *cls, const char **p1)
 
static bool OpenWithDefaultEditor (const char *sFilename, bool bWaitOnReturn=false)
 Open a given file with the default registered editor in the game engine. More...
 
- Protected Member Functions inherited from ParaEngine::IAttributeFields
virtual CAttributeClassCreateAttributeClass ()
 initialize fields
 
virtual CDynamicAttributesSetGetDynamicAttributes (bool bCreateIfNotExist=false)
 
- Protected Attributes inherited from ParaEngine::CAnimInstanceBase
LinearColor m_modelColor
 color of this model
 
Matrix4 m_mxLocalTransform
 mesh local world xform: center in the origin
 
float m_fSizeScale
 scale parameters
 
float m_fSpeedScale
 
int m_nRenderCount
 the last render frame count that this object is rendered. More...
 
map< int, int > m_mapAnimIDs
 a mapping from one animation ID to another ID. More...
 
bool m_bEnableAnimIDMap
 whether the m_mapAnimIDs will be used. More...
 
bool m_bEnableAnimation
 whether animation is enabled, true by default. More...
 
- Protected Attributes inherited from ParaEngine::IObject
WeakPtr_type m_weak_reference
 
- Protected Attributes inherited from ParaEngine::CRefCounted
int m_refcount
 

Detailed Description

this is primary animation instance used for normal animated character or advanced customizable character External animation are stored in dynamic fields using bone names as key.

Member Enumeration Documentation

§ ModelType

defines the model type that this instance holds

Enumerator
CharacterModel 

the character model is a fully customizable model for human shaped animation model one can change the skin, attachments, clothings, hair and facial styles, etc

FixedModel 

Fixed model is a model which is not customizable, but can contain a list of animations to play such as a flying flag, etc.

Member Function Documentation

§ AdvanceTime()

void CParaXAnimInstance::AdvanceTime ( double  dTimeDelta)
virtual

Advance the animation by a time delta in second.

Speed up the animation rendering by a factor of m_fSpeedScale

if there is a queued animation, we will play that one.

empty the queue

if there is NO queued animation, we will play the default one.

non-looping, play the default idle animation

looping on the current animation

Reimplemented from ParaEngine::CAnimInstanceBase.

§ Animate()

void CParaXAnimInstance::Animate ( double  dTimeDelta,
int  nRenderNumber = 0 
)
virtual

animate the model.

One can call this function multiple times in a single render frame, but only the first time is calculated. this function will call AdvanceTime internally.

Reimplemented from ParaEngine::CAnimInstanceBase.

§ Draw()

HRESULT CParaXAnimInstance::Draw ( SceneState sceneState,
const Matrix4 mxWorld,
CParameterBlock params = NULL 
)
virtual

Render the model with its current settings.

Reimplemented from ParaEngine::CAnimInstanceBase.

§ GetAnimFrame()

int CParaXAnimInstance::GetAnimFrame ( )
virtual

get the current animation frame number relative to the beginning of current animation.

Reimplemented from ParaEngine::CAnimInstanceBase.

§ GetAttachmentMatrix()

Matrix4 * CParaXAnimInstance::GetAttachmentMatrix ( Matrix4 pOut,
int  nAttachmentID,
int  nRenderNumber 
)

Get the specified attachment matrix of the current model.

this is usually for getting the mount point on a certain model, such as horses.

Parameters
nRenderNumberif it is bigger than current calculated render number, the value will be recalculated. If 0, it will not recalculate
Returns
: NULL if not successful, otherwise it is pOut.

§ GetCharModel()

CharModelInstance * CParaXAnimInstance::GetCharModel ( )

Get the character model instance.

If the model instance is not of character type, then NULL will be returned. But it does not mean that there is not a valid model instance of other types

§ GetChildAttributeColumnCount()

int CParaXAnimInstance::GetChildAttributeColumnCount ( )
virtual

we support multi-dimensional child object.

by default objects have only one column.

Reimplemented from ParaEngine::IAttributeFields.

§ GetChildAttributeObject()

IAttributeFields * CParaXAnimInstance::GetChildAttributeObject ( const std::string &  sName)
virtual

get attribute by child object.

used to iterate across the attribute field hierarchy.

Reimplemented from ParaEngine::IAttributeFields.

§ GetChildAttributeObjectCount()

int CParaXAnimInstance::GetChildAttributeObjectCount ( int  nColumnIndex = 0)
virtual

get the number of child objects (row count) in the given column.

please note different columns can have different row count.

Reimplemented from ParaEngine::IAttributeFields.

§ GetCurrentAnimation()

int CParaXAnimInstance::GetCurrentAnimation ( )
virtual

get the ID of the current animation.

0 is default standing animation.

Reimplemented from ParaEngine::CAnimInstanceBase.

§ GetIdleAnimationID()

int CParaXAnimInstance::GetIdleAnimationID ( )
Returns
the current idle animation ID. default value is 0

§ GetTime()

int CParaXAnimInstance::GetTime ( )
virtual

get the current local time in case it is animated in milli seconds frames.

Reimplemented from ParaEngine::IAttributeFields.

§ GetValidAnimID()

int CParaXAnimInstance::GetValidAnimID ( int  nAnimID)
virtual

look for a valid animation ID for nAnimID.

return -1 if no animation is found. e.g. if nAnimId 4 not found, 0 will be returned.

Reimplemented from ParaEngine::CAnimInstanceBase.

§ HasAlphaBlendedObjects()

bool CParaXAnimInstance::HasAlphaBlendedObjects ( )
virtual

return true if the object contains alpha blended render pass.

This function determines which render pipeline stage the object is rendered. generally speaking, if deferred shading is used, we will render alpha blended objects last.

Reimplemented from ParaEngine::CAnimInstanceBase.

§ HasAnimation()

bool CParaXAnimInstance::HasAnimation ( int  nAnimID)
virtual

whether an animation id exist.

this function may have different return value when asset is async loaded.

Parameters
nAnimIDpredefined id.

Reimplemented from ParaEngine::CAnimInstanceBase.

§ HasAnimId()

bool CParaXAnimInstance::HasAnimId ( int  nAnimID)
virtual

check to see if the underlying model has a given animation id.

Reimplemented from ParaEngine::CAnimInstanceBase.

§ HasAttachmentMatrix()

bool CParaXAnimInstance::HasAttachmentMatrix ( int  nAttachmentID)

Get the specified attachment matrix of the current model.

this is usually for getting the mount point on a certain model, such as horses.

Parameters
nAttachmentIDNULL if not successful, otherwise it is pOut.

§ HasMountPoint()

bool CParaXAnimInstance::HasMountPoint ( int  nMountPointID = 0)

whether the character has a mount point at the given ID.

Such characters are usually cars, horses, planes, etc.

§ Init()

void CParaXAnimInstance::Init ( ParaXEntity pModel)

init the animation instance.

associate it with the ParaX model

§ InstallFields()

int CParaXAnimInstance::InstallFields ( CAttributeClass pClass,
bool  bOverride 
)
virtual

this class should be implemented if one wants to add new attribute.

This function is always called internally.

Reimplemented from ParaEngine::CAnimInstanceBase.

§ IsUseGlobalTime()

bool CParaXAnimInstance::IsUseGlobalTime ( )
virtual

whether to use global time to sync animation.

Default to false. if true, all characters plays exactly the same frames if they are using the same animation file at all times, if false, each character advances its time frame separately according to their visibility in the scene.

Reimplemented from ParaEngine::CAnimInstanceBase.

§ LoadAnimation()

void CParaXAnimInstance::LoadAnimation ( const char *  sName,
float *  fSpeed,
bool  bAppend = false 
)
virtual

Play or append the specified animation.

If the current animation is the same as the specified animation, it will loop on the current animation infinitely until a different animation is specified; otherwise, the current animation will be stopped, the specified animation played and the next animation emptied.

Parameters
fSpeed[out] the speed of the animation after applying scaling is returned.
bAppendif true, the new animation will be appended to the current animation according to the following rules:
  • if the current animation is non-looping, the new animation will be played after the end of the current animation.
  • if the current animation is looping, the new animation will be played immediately.

Reimplemented from ParaEngine::CAnimInstanceBase.

§ LoadAnimationByIndex()

void CParaXAnimInstance::LoadAnimationByIndex ( const AnimIndex nAnimIndex,
bool  bAppend = false 
)
virtual

if the animation is different, we will play a new one.

If the current animation is looping and bAppend is false, play immediately from the beginning of the new animation.

set the next animation to default

if the current animation is non-looping, we will set the next animation to play to the new animation.

§ ResetAnimation()

void CParaXAnimInstance::ResetAnimation ( )
virtual

reset the animation and blending animation.

this function must be called when the base model (CharModelInstance) is changed.

Reimplemented from ParaEngine::CAnimInstanceBase.

§ SetAnimFrame()

void CParaXAnimInstance::SetAnimFrame ( int  nFrame)
virtual

set the current animation frame number relative to the beginning of current animation.

Parameters
nFrame0 means beginning. if nFrame is longer than the current animation length, it will wrap (modulate the length).

Reimplemented from ParaEngine::CAnimInstanceBase.

§ SetBlendingFactor()

void CParaXAnimInstance::SetBlendingFactor ( float  fBlendingFactor)
virtual

set the blending factor between the current and blend animation.

Parameters
fBlendingFactorfrom [0,1]. where 0 means no blending.

Reimplemented from ParaEngine::CAnimInstanceBase.

§ SetIdleAnimationID()

void CParaXAnimInstance::SetIdleAnimationID ( int  nID)

the current idle animation ID.

default value is 0

Parameters
nID

§ SetUseGlobalTime()

void CParaXAnimInstance::SetUseGlobalTime ( bool  bUseGlobalTime)
virtual

whether to use global time to sync animation.

Default to false. if true, all characters plays exactly the same frames if they are using the same animation file at all times, if false, each character advances its time frame separately according to their visibility in the scene.

Reimplemented from ParaEngine::CAnimInstanceBase.

§ UpdateWorldTransform()

bool CParaXAnimInstance::UpdateWorldTransform ( SceneState sceneState,
Matrix4 out,
const Matrix4 mxWorld 
)
virtual

update world transform by applying local size scale.

return true if succeed

Member Data Documentation

§ m_BlendingAnim

AnimIndex ParaEngine::CParaXAnimInstance::m_BlendingAnim

the animation sequence with which the current animation should be blended.

an absolute ParaX frame number denoting the blending animation frame. It is always within the range of the blending animation sequence's start and end frame number.

§ m_bUseGlobalTime

bool ParaEngine::CParaXAnimInstance::m_bUseGlobalTime

whether to use global time to sync animation.

Default to false. if true, all characters plays exactly the same frames if they are using the same animation file at all times, if false, each character advances its time frame separately according to their visibility in the scene.

§ m_CurrentAnim

AnimIndex ParaEngine::CParaXAnimInstance::m_CurrentAnim

current animation index, this is different from sequence ID an absolute ParaX frame number denoting the current animation frame.

It is always within the range of the current animation sequence's start and end frame number.

§ m_curTime

int ParaEngine::CParaXAnimInstance::m_curTime

current time for dynamic fields.

§ m_fBlendingFactor

float ParaEngine::CParaXAnimInstance::m_fBlendingFactor

by how much the blending frame should be blended with the current frame.

1.0 will use solely the blending frame, whereas 0.0 will use only the current frame. [0,1), blendingFrame*(blendingFactor)+(1-blendingFactor)*currentFrame

§ m_nCurrentIdleAnimationID

unsigned short ParaEngine::CParaXAnimInstance::m_nCurrentIdleAnimationID

the current idle animation ID.

[1] is largest alternative standing animation ID. if 0, it means not available.

§ m_nCustomStandingAnimCount

short ParaEngine::CParaXAnimInstance::m_nCustomStandingAnimCount

the number of custom animations.

if -1, it is undefined. if 0, it means there is no such animations. custom standing animations are at ANIM_CUSTOM0 - ANIM_CUSTOM3.

§ m_NextAnim

AnimIndex ParaEngine::CParaXAnimInstance::m_NextAnim

the next animation index.if it is -1, the next animation will depends on the loop property of the current sequenc; otherwise, the animation specified by the ID will be played next, after the current animation reached the end.


The documentation for this class was generated from the following files: