12GX_MOTION_NAMESPACE_BEGIN()
32 BLEND_1 = BLEND_START,
37 BLEND_MAX = BLEND_END - BLEND_START + 1,
60 b32 setup(
void)
override;
62 void preAsyncUpdate(
void)
override;
64 void asyncUpdate(
void)
override;
66 void updateMotionJoint(
void);
68 void updateFrame(
void);
70 b32 change(s32 motionNumber =
static_cast<s32
>(MOTION_INDEX::BEGIN), f32 startFrame = 0.f, f32 speedRatio = 1.f, f32 transitionFrameNb = 9.f, u32 playbackFlags = 0);
72 b32 changeMotion(s32 motionNumber =
static_cast<s32
>(MOTION_INDEX::BEGIN));
74 GX_FORCE_INLINE
void updateJoints(
void) { updateJointLocalData(); updateJointMatrices(
static_cast<s32
>(NODE::LOCATOR_ROOT), getJointCount()); }
76 void updateJointLocalData(
void);
78 void updateJointMatrices(u32 jointStartNumber, u32 jointCount);
80 void updateJointDataFromMotionModule(
void);
83 void executeNonMotionBlend(
void);
85 void executeNormalMotionBlend(u32 processKind);
87 void executeDifferenceMotionBlend(u32 processKind);
106 void setFrame(f32 frame);
108 void setSpeed(f32 speed);
110 void setPlaybackFlags(u32 playbackFlags);
114 virtual void setDeltaTime(f32 deltaTime);
116 void setDeltaTimeRatio(f32 deltaTimeRatio);
121 b32 getBlendParamFromBlendResource(s32 motionNumber,
GxArrayClassBase* pOutBlendParamList)
const;
160 void getPropertyResourceMotionPackage(
void*
const pValue);
162 void setPropertyResourceMotionPackage(
const void*
const pValue);
171 GxMotionPlayer* _pMotionPlayer[
static_cast<u32
>(MOTION_PLAYER::MAX)];
174 u32 _nowMotionModuleCount;
176 s32 _oldMotionNumber;
177 b32 _motionChangeFlag;
183GX_MOTION_NAMESPACE_END()
#define GX_SET_CLASS_BASE_REFERENCE(__DST__, __SRC__)
オブジェクト設定(参照カウンタを使用する場合)
Definition GxBase.h:318
MOTION_PLAYBACK_FLAG
再生設定フラグ
Definition GxMotionDefine.h:131
@ MOTION_PLAYBACK_FLAG_USE_ROOT_XZ_TRANSLATE
移動値XZを使うか
Definition GxMotionDefine.h:135
@ MOTION_PLAYBACK_FLAG_USE_ROOT_Y_TRANSLATE
移動値Yを使うか
Definition GxMotionDefine.h:133
配列クラス
Definition GxArrayClassBase.h:18
モーションモジュール基礎クラス
Definition GxModUnitMotionBase.h:19
モーションブレンドシステムの機能を導入するモジュール
Definition GxModUnitMotionBlend.h:18
constexpr GxResMotionPackage * getResourceMotionPackage(void) const
モーションリソースの取得
Definition GxModUnitMotionBlend.h:101
constexpr void getMotionPlayer(void *pValue, u32 index)
モーションプレイヤーを取得(RTTI用)
Definition GxModUnitMotionBlend.h:140
GX_FORCE_INLINE void setMotionMoveXZ(b32 flag)
モーションXZ移動値を使用するか設定
Definition GxModUnitMotionBlend.h:150
GX_FORCE_INLINE const GxVector3 & getRootPositionOld(void) const
root関節の1フレーム前の座標を取得
Definition GxModUnitMotionBlend.h:145
static GX_FORCE_INLINE const GxRtti & getOwnerDerivedRtti(void)
所持者に必要な継承RTTIを取得
Definition GxModUnitMotionBlend.h:98
GX_FORCE_INLINE void setUseBlend(b32 isUseBlend)
モーションブレンドを使用するかどうかを設定
Definition GxModUnitMotionBlend.h:131
GX_FORCE_INLINE b32 isUseBlend(void) const
モーションブレンドを使用するかどうかを取得
Definition GxModUnitMotionBlend.h:133
GX_FORCE_INLINE b32 isMotionChange(void) const
モーションの切り替わり判定
Definition GxModUnitMotionBlend.h:143
GX_FORCE_INLINE void setMotionMoveY(b32 flag)
モーションY移動値を使用するか設定
Definition GxModUnitMotionBlend.h:154
virtual GX_FORCE_INLINE GxMotionPlayer * allocateMotion(void)
モーションプレイヤーのメモリ確保
Definition GxModUnitMotionBlend.h:157
constexpr GxResMotionBlend * getModMotionBlendResource(void) const
モーションブレンドリソースを取得
Definition GxModUnitMotionBlend.h:125
GX_FORCE_INLINE void updateJoints(void)
各関節を更新
Definition GxModUnitMotionBlend.h:74
GX_FORCE_INLINE b32 isMotionMoveXZ(void)
モーションXZ移動値を使用するか判定
Definition GxModUnitMotionBlend.h:148
constexpr void setResourceMotionPackage(GxResMotionPackage *pResource)
モーションリソースの設定
Definition GxModUnitMotionBlend.h:103
GX_FORCE_INLINE b32 isMotionMoveY(void)
モーションY移動値を使用するか判定
Definition GxModUnitMotionBlend.h:152
constexpr GxMotionPlayer * getMotionPlayer(MOTION_PLAYER index=GxModUnitMotionBlend::MOTION_PLAYER::BASE) const
モーションプレイヤーを取得
Definition GxModUnitMotionBlend.h:138
constexpr u32 getMotionPlayerCount(void) const
モーションプレイヤーの最大数を取得(RTTI用)
Definition GxModUnitMotionBlend.h:136
MOTION_PLAYER
モーションのインデックス
Definition GxModUnitMotionBlend.h:29
constexpr u32 getNowMotionModuleCount(void) const
現在使用しているモーションモジュール数を取得
Definition GxModUnitMotionBlend.h:129
GxMotionが使う関節クラス
Definition GxMotionJoint.h:150
モーション再生クラス
Definition GxMotionPlayer.h:22
ブレンド用パラメーター
Definition GxResMotionBlend.h:31
モーション補間設定リソースクラス
Definition GxResMotionBlend.h:18
モーションパッケージリソース
Definition GxResMotionPackage.h:20
実行時型情報クラス
Definition GxRtti.h:154
クォータニオン
Definition GxQuaternion.h:19
3次元ベクトル
Definition GxVector.h:245
32bitブーリアン
Definition GxDefine.h:173