ICharacterManager

This class is the main access point for any character animation required for a program which uses CRYENGINE. More...

#include

Classes

struct Statistics
Contains statistics about CryCharManager. More...

Public Types

enum EStreamingDBAPriority { eStreamingDBAPriority_Normal = 0, eStreamingDBAPriority_Urgent = 1 }
Priority when requested to load a DBA.

Public Member Functions

virtual void GetStatistics (Statistics &rStats) const =0
virtual void GetMemoryUsage (ICrySizer *pSizer) const =0
virtual ICharacterInstance * CreateInstance (const char *szFilename, uint32 nLoadingFlags=0)=0
virtual IDefaultSkeleton * LoadModelSKEL (const char *szFilePath, uint32 nLoadingFlags)=0
virtual ISkin * LoadModelSKIN (const char *szFilePath, uint32 nLoadingFlags)=0
virtual bool LoadAndLockResources (const char *szFilePath, uint32 nLoadingFlags)=0
virtual void StreamKeepCharacterResourcesResident (const char *szFilePath, int nLod, bool bKeep, bool bUrgent=false)=0
virtual bool StreamHasCharacterResources (const char *szFilePath, int nLod)=0
virtual void ClearResources (bool bForceCleanup)=0
virtual void Update (bool bPaused)=0
virtual void UpdateStreaming (int nFullUpdateRoundId, int nFastUpdateRoundId)=0
Update the character streaming.
virtual void DummyUpdate ()=0
virtual void Release ()=0
virtual void GetLoadedModels (IDefaultSkeleton **pIDefaultSkeletons, uint32 &nCount) const =0
Retrieve all loaded models.
virtual void ReloadAllModels ()=0
Reloads loaded model.
virtual void ReloadAllCHRPARAMS ()=0
virtual void PreloadLevelModels ()=0
virtual IFacialAnimation * GetIFacialAnimation ()=0
Retrieve facial animation interface.
virtual const IFacialAnimation * GetIFacialAnimation () const =0
virtual IAnimEvents * GetIAnimEvents ()=0
virtual const IAnimEvents * GetIAnimEvents () const =0
virtual void SyncAllAnimations ()=0
virtual bool DBA_PreLoad (const char *filepath, ICharacterManager::EStreamingDBAPriority priority)=0
virtual bool DBA_LockStatus (const char *filepath, uint32 status, ICharacterManager::EStreamingDBAPriority priority)=0
virtual bool DBA_Unload (const char *filepath)=0
virtual bool DBA_Unload_All ()=0
virtual bool CAF_AddRef (uint32 filePathCRC)=0
Adds a runtime reference to a CAF animation; if not loaded it starts streaming it.
virtual bool CAF_IsLoaded (uint32 filePathCRC) const =0
virtual bool CAF_Release (uint32 filePathCRC)=0
virtual bool CAF_LoadSynchronously (uint32 filePathCRC)=0
virtual bool LMG_LoadSynchronously (uint32 filePathCRC, const IAnimationSet *pAnimationSet)=0
virtual EReloadCAFResult ReloadCAF (const char *szFilePathCAF)=0
virtual int ReloadLMG (const char *szFilePathCAF)=0
virtual const char * GetDBAFilePathByGlobalID (int32 globalID) const =0
virtual void SetStreamingListener (IAnimationStreamingListener *pListener)=0
Set the listener which listens to events that happen during animation streaming.
virtual void AddFrameTicks (uint64 nTicks)=0
Add nTicks to the number of Ticks spent this frame in animation functions.
virtual void AddFrameSyncTicks (uint64 nTicks)=0
Add nTicks to the number of Ticks spent this frame in syncing animation jobs.
virtual void ResetFrameTicks ()=0
Reset Ticks Counter.
virtual uint64 NumFrameTicks () const =0
Get number of Ticks accumulated over this frame.
virtual uint64 NumFrameSyncTicks () const =0
Get number of Ticks accumulated over this frame in sync functions.
virtual uint32 NumCharacters () const =0
Get the number of character instances that were processed asynchronously.
virtual uint32 GetNumInstancesPerModel (const IDefaultSkeleton &rIDefaultSkeleton) const =0
virtual ICharacterInstance * GetICharInstanceFromModel (const IDefaultSkeleton &rIDefaultSkeleton, uint32 num) const =0
virtual void SetAnimMemoryTracker (const SAnimMemoryTracker &amt)=0
virtual SAnimMemoryTracker GetAnimMemoryTracker () const =0
virtual void UpdateRendererFrame ()=0
virtual void PostInit ()=0
virtual const IAttachmentMerger & GetIAttachmentMerger () const =0
virtual void ExtendDefaultSkeletonWithSkinAttachments (ICharacterInstance *pCharInstance, const char *szFilepathSKEL, const char **szSkinAttachments, const uint32 skinCount, const uint32 nLoadingFlags)=0
Extends the default skeleton of a character instance with skin attachments.
virtual void GetMotionParameterDetails (SMotionParameterDetails &outDetails, EMotionParamID paramId) const =0

Detailed Description

This class is the main access point for any character animation required for a program which uses CRYENGINE.

Member Function Documentation

◆ ClearResources()

virtual void ICharacterManager::ClearResources ( bool bForceCleanup)
pure virtual

Cleans up all resources. Cleans up all resources. Currently deletes all bodies and characters even if there are references on them.

Parameters
bForceCleanup- When set to true will force all models to be deleted, even if references to them still left.

◆ CreateInstance()

virtual ICharacterInstance* ICharacterManager::CreateInstance ( const char * szFilename,
uint32 nLoadingFlags = 0
)
pure virtual

Create a new instance of a model Create a new instance for a model. Load the model file along with any animation file that might be available.

Parameters
szFilenameFilename of the model to be loaded
nFlagsSet how the model will be kept in memory after being used. Uses flags defined with EModelPersistence.
Returns
Pointer to a ICharacterInstance class if the model could be loaded properly, or NULL if the model couldn't be loaded.

◆ DummyUpdate()

virtual void ICharacterManager::DummyUpdate ( )
pure virtual

Useful to prevent log spam: "several updates per frame...". Increment the frame counter.

◆ GetDBAFilePathByGlobalID()

virtual const char* ICharacterManager::GetDBAFilePathByGlobalID ( int32 globalID) const
pure virtual
Returns
the DBA filename of an animation that is stored in a DBA.

◆ GetMemoryUsage()

virtual void ICharacterManager::GetMemoryUsage ( ICrySizer * pSizer) const
pure virtual

Track memory usage. Gather the memory currently used by the animation. The information returned is classified according to the flags set in the sizer argument.

Parameters
pSizerSizer class which will store the memory usage.

◆ GetStatistics()

virtual void ICharacterManager::GetStatistics ( Statistics & rStats) const
pure virtual

Get statistics on the Animation System. Will fill the Statistics parameters with statistic on the instance of the Animation System. It is not recommended to call this function often.

Parameters
rStatsStructure which holds the statistics.

◆ LoadAndLockResources()

virtual bool ICharacterManager::LoadAndLockResources ( const char * szFilePath,
uint32 nLoadingFlags
)
pure virtual

Find and prefetch all resources for the required file character

Parameters
szFilenameFilename of the character to be prefetched
nFlagsSet how the model will be kept in memory after being used. Uses flags defined with EModelPersistence.
Returns
Smart pointer to the placeholder representation of the character

◆ Release()

virtual void ICharacterManager::Release ( )
pure virtual

Release the Animation System. Releases any resource allocated by the Animation System and shut it down properly.

◆ StreamKeepCharacterResourcesResident()

virtual void ICharacterManager::StreamKeepCharacterResourcesResident ( const char * szFilePath,
int nLod,
bool bKeep,
bool bUrgent = false
)
pure virtual

Ensure that render meshes are resident, and if not, begin streaming them. Each call with bKeep == true must be paired with a call with bKeep == false when no longer needed

◆ SyncAllAnimations()

virtual void ICharacterManager::SyncAllAnimations ( )
pure virtual

Use to synchronize all animation computations like forward kinematics, and calls all function which must occur after these like SkeletonPostProcess. Should be called only once per frame and as late as possible to prevent waiting for functions which run asynchronously.

◆ Update()

virtual void ICharacterManager::Update ( bool bPaused)
pure virtual

Update the Animation System. It's important to call this function at every frame. This should perform very fast.