OROCHI
 
Loading...
Searching...
No Matches
GxMotionPlayer.h
Go to the documentation of this file.
1//===========================================================================
8//===========================================================================
9#pragma once
10
11GX_MOTION_NAMESPACE_BEGIN()
12
13class GxIkChain;
14class GxMotionJoint;
18//===========================================================================
20//===========================================================================
22{
23 //-------------------------------------------------------------
25 //-------------------------------------------------------------
27public:
28 // RTTI定義
29 GX_RTTI_CLASS(GxMotionPlayer, GxClassBase)
30 // GxClassBase継承クラス用禁止宣言
32
33 // friend宣言
34 friend class GxModUnitMotionBlend;
35
37 //-------------------------------------------------------------
39 //-------------------------------------------------------------
41public:
43 GxMotionPlayer(void);
45 ~GxMotionPlayer(void) override;
47 void initialize(GxResMotionPackage* pResource);
49 virtual void reset(void);
50
52 //-------------------------------------------------------------
54 //-------------------------------------------------------------
56
58 GX_FORCE_INLINE virtual b32 isExistScale(const GxMotionJointData* pJoint) const { return pJoint->getScale() != GxVector3::ONE; }
59protected:
61 b32 loadBasepose(void const* pBasePoseData);
63 virtual void allocateJointArray(void);
64public:
66 void updateFrame(void);
68 void updateJointLocalData(void);
70 b32 change(s32 motionNumber = static_cast<s32>(GxModUnitMotionBase::MOTION_INDEX::BEGIN), f32 startFrame = 0.f, f32 speedRatio = 1.f, f32 transitionFrameNumber = 0.f, u32 playbackFlags = 0);
72 b32 changeMotion(s32 motionNumber = static_cast<s32>(GxModUnitMotionBase::MOTION_INDEX::BEGIN));
74 void updateJointMatrices(u32 jointStartNumber, u32 jointCount);
77protected:
79 virtual void updateRootPosition(void);
81 GxMatrixAffine& calculateJointMatrix(GxMotionJoint const* pFinalJoint, GxMatrixAffine& jointMatrix);
82
84 virtual void calculateInterpolation(void);
85
87 void calculateLocalData2BonesIK(u32 chainStartJointNumber);
89 void calculateMotionDataMatrices2BonesIK(u32 chainStartJointNumber);
90
92 //-------------------------------------------------------------
94 //-------------------------------------------------------------
96public:
98 void setMotionNumber(s32 motionNumber);
100 GX_FORCE_INLINE virtual f32 getFrame(void) const { return _pMotionCurvesContainer ? _pMotionCurvesContainer->getFrame() : 0.0f; }
102 void setFrame(f32 frame);
104 GX_FORCE_INLINE virtual f32 getFrameNumber(f32 milliSeconds) const { return _deltaTimeRatio * _speed * getGxRenderDevice()->getFrameRateTargetF32() * milliSeconds / GxMath::MILLI_INVERSE; }
106 GX_FORCE_INLINE virtual f32 getMilliSeconds(f32 frameNumber) const { return ((frameNumber * GxMath::MILLI_INVERSE)/(_speed * getGxRenderDevice()->getFrameRateTargetF32())) / _deltaTimeRatio; }
108 GX_FORCE_INLINE virtual f32 getSpeed(void) const { return _speed; }
110 constexpr void setSpeed(f32 speed){ _speed = speed; }
112 GX_FORCE_INLINE virtual u32 getPlaybackFlags(void) const { return _playbackFlags; }
114 GX_FORCE_INLINE virtual b32 isPlaybackFlag(MOTION_PLAYBACK_FLAG flag) const { return (_playbackFlags&flag) != 0; }
116 void setPlaybackFlags(u32 playbackFlags);
118 void setPlaybackFlag(MOTION_PLAYBACK_FLAG flag, b32 value);
120 constexpr f32 getDeltaTime(void) const { return _deltaTime; }
122 constexpr f32 getDeltaTimeRatio(void) const { return _deltaTimeRatio; }
124 constexpr void setDeltaTime(f32 deltaTime) { _deltaTime = deltaTime; }
126 constexpr void setDeltaTimeRatio(f32 deltaTimeRatio){ _deltaTimeRatio = deltaTimeRatio; }
128 constexpr s32 getMotionNumber(void) const { return _motionNumber; }
130 constexpr u32 getMotionNumberMin(void) const { return static_cast<s32>(GxModUnitMotionBase::MOTION_INDEX::BEGIN); }
132 constexpr u32 getMotionNumberMax(void) const { return _pMotionPackageData[static_cast<s32>(GxModUnitMotionBase::MOTION_INDEX::SUM)] + static_cast<s32>(GxModUnitMotionBase::MOTION_INDEX::BASEPOSE); }
134 u16 getMotionFrameCount(u32 motionNumber) const;
136 GX_FORCE_INLINE u16 getMotionFrameCount(void) const { return getMotionFrameCount(_motionNumber);}
138 GX_FORCE_INLINE f32 getFrameMax(void) const { return getFrameMax(_motionNumber);}
140 GX_FORCE_INLINE f32 getFrameMax(u32 motionNumber) const { return static_cast<f32>(getMotionFrameCount(motionNumber) - 1.f);}
142 b32 isFinish(void) const;
144 b32 isFinishNextFrame(void) const;
146 b32 isLoopTiming(void) const;
148 constexpr u32 getMotionCount(void) const { return _pMotionPackageData[static_cast<s32>(GxModUnitMotionBase::MOTION_INDEX::SUM)] - static_cast<s32>(GxModUnitMotionBase::MOTION_INDEX::BASEPOSE); }
150 constexpr f32 getMotionRotateY(void) const { return _pMotionCurvesContainer ? _pMotionCurvesContainer->getMotionRotateY() : 0.0f; }
152 constexpr f32 getMotionTranslateY(void) const { return _pMotionCurvesContainer ? _pMotionCurvesContainer->getMotionTranslateY() : 0.0f; }
154 constexpr f32 getStartFrame(void) const { return _startFrame; }
155
157 constexpr void setDecodeType(GxMotionCurvesContainerQuaternion::DECODE_TYPE type) { _decodeType = type; }
159 GX_FORCE_INLINE void enableLinearInterpolation(b32 flag){ _enableInterpolation = flag; }
161 void forceEnableLinearInterpolation(b32 flag);
162
163#if GX_DEVELOP
165 GX_FORCE_INLINE virtual GxMotionNamesList const& getMotionNamesList(void) const { return _motionNamesList; }
166#endif //GX_DEVELOP
167
168protected:
170 constexpr u32 const* getMotionPackageData(void) const { return _pMotionPackageData; }
172 u32 const* getMotionData(s32 index) const;
174 GX_FORCE_INLINE b32 isPlayDifferenceMotion(void){ return _isPlayDifferenceMotion;}
176 GX_FORCE_INLINE void setPlayDifferenceMotion(b32 isPlayDifferenceMotion){ _isPlayDifferenceMotion = isPlayDifferenceMotion; }
177public:
179 constexpr GxResMotionPackage* getResMotionPackage(void) { return _pResMotionPackage; }
180
181#if GX_DEVELOP
183 static GxGuiBase* createGui(GxProperty& property, GxTypedObject* pOwner, const GxRtti& rtti, u32 index = 0);
184#endif //GX_DEVELOP
185
187 //-------------------------------------------------------------
189 //-------------------------------------------------------------
191public:
193 GX_FORCE_INLINE GxMotionJoint& getJointRaw(const u32 id) const { return _pJointArray[id]; }
195 GxMotionJoint const* getJointArray(void) const;
197 GxMotionJoint const* getJoint(const u32 id) const;
199 GxMotionJoint* getJoint(const u32 id);
201 constexpr s32 getJointCount(void) const { return _jointCount; }
203 GX_FORCE_INLINE void getUpdateJoint(void* pValue, u32 index) { *static_cast<GxMotionJointData**>(pValue) = &_pJointArray[index]; }
205 void updateJointMatricesNoIK(u32 jointStartNumber, u32 jointCount);
206protected:
208 constexpr GxIkChain* getIkChainArray(void) { return _pIkChainArray; }
210 virtual void setTranslateRotateToJointArray(void);
212 //note: 新モーションリソース用
213 void setTranslateRotateQuatToOneJoint (GxMotionCurvesContainerQuaternion* pMotionCurvesContainerQuaternion ,u32 jointIndex);
215 //note: 旧モーションリソース用
216 f32 const* setTranslateRotateEulerToOneJoint(GxMotionJointData* pJointToSet, f32 const* pMotionDataReader, b32 isRootLocator);
217public:
219 GX_FORCE_INLINE b32 isJointArrayUpToDate(void) const { return _isJointLocalDataUpToDate; }
221 GX_FORCE_INLINE void checkJointsLocalData(void) { if (!isJointArrayUpToDate()) { updateJointLocalData(); } }
222
224 virtual void changeTransitionSettings(f32 transitionFrameNumber, INTERPOLATE interpolateType, f32 transitionCurvature);
226 GX_FORCE_INLINE virtual void setInterpolateFrameNumber(f32 interpolateFrameNumber) { _interpolationSetting._frameNumber = interpolateFrameNumber;}
228 GX_FORCE_INLINE virtual f32 getInterpolateFrameNumber(void) const { return _interpolationSetting._frameNumber; }
230 GX_FORCE_INLINE virtual void setInterpolateType(INTERPOLATE interpolateType) { _interpolationSetting._type = interpolateType;}
232 GX_FORCE_INLINE virtual INTERPOLATE getInterpolateType(void) { return _interpolationSetting._type;}
234 GX_FORCE_INLINE virtual void setInterpolateCurvature(f32 interpolateCurvature) { _interpolationSetting._curvature = interpolateCurvature;}
236 GX_FORCE_INLINE virtual f32 getInterpolateCurvature(void) const { return _interpolationSetting._curvature;}
238 constexpr GxResMotionInterpolationSettings const* getInterpolationSettings(void) const { return _pResInterpSettings; }
240 constexpr void setInterpolationSettings(GxResMotionInterpolationSettings const* pResInterpolateSettings) { _pResInterpSettings = pResInterpolateSettings; }
242 GX_FORCE_INLINE f32 getInterpolationRatio(f32 frameElapsed) { return _interpolationSetting.getRatio(frameElapsed); }
243
244public:
246 constexpr GxIkChain const* getIkChainArray(void) const { return _pIkChainArray; }
248 GX_FORCE_INLINE GxIkChain const* getIkChain(u32 index) const { return &_pIkChainArray[index]; }
250 GX_FORCE_INLINE GxIkChain* getIkChain(u32 index) { return &_pIkChainArray[index]; }
252 constexpr u32 getIkChainCount(void) const { return _ikChainCount; }
253
254private:
256 constexpr void getUpdateIkChain(void* pValue, u32 index) { *static_cast<GxIkChain**>(pValue) = &_pIkChainArray[index]; }
258 constexpr void getPropertyIkEffecterTarget(void* pValue, u32 index) { *static_cast<GxVector3**>(pValue) = &_pIkEffecterTargetArray[index]; }
260 constexpr u32 getUpdateIkChainCount(void) { return static_cast<u32>(_updateIkChainCount); }
262 constexpr u32 getNoRootIkTargetCount(void) { return static_cast<u32>(_ikEffecterTargetCount); }
264 GX_FORCE_INLINE void getPropertyFrame(void* pValue) { *static_cast<f32*>(pValue) = getFrame(); }
266 GX_FORCE_INLINE void setPropertyFrame(const void* pValue) { setFrame(*static_cast<f32*>(const_cast<void*>(pValue))); }
268 constexpr void getPropertyMotionNumber(void* pValue) { *static_cast<s32*>(pValue) = _motionNumber; }
270 void setPropertyMotionNumber(const void* pValue);
271
272public:
274 GX_FORCE_INLINE GxJointDataArray* getInterpolationOriginArray(void) { return &_originDataArray; }
276 constexpr void setInterpolateFrameElapsed(f32 value) { _interpolateFrameElapsed = value; }
277
278protected:
280 constexpr void setDummyValueIndex(const void* /*pValue*/, u32 /*index*/) {}
282 constexpr void setDummySize(u32 /*index*/) {}
283
285 //-------------------------------------------------------------
287 //-------------------------------------------------------------
289private:
291 s32 _jointCount;
292 s32 _motionNumber;
293 f32 _speed;
294 u32 _playbackFlags;
295 f32 _deltaTime;
296 f32 _deltaTimeRatio;
297 GxResMotionPackage* _pResMotionPackage;
298 u32 const* _pMotionPackageData;
299 GxMotionCurvesContainer* _pMotionCurvesContainer;
300 b32 _isJointLocalDataUpToDate;
301 f32 _startFrame;
302 b32 _isPlayDifferenceMotion;
303 s32 _resourceVersion;
304 b32 _enableInterpolation;
305#if GX_DEVELOP
306 GxMotionNamesList _motionNamesList;
307#endif //GX_DEVELOP
308
309protected:
315
316private:
317 GxResMotionInterpolationSettings const* _pResInterpSettings;
318 GxInterpolationSetting _interpolationSetting;
319protected:
325
327private:
328 b32 _isPreviousFrameUpdateLoop;
330#if GX_DEVELOP
331 GxGuiPropertySlider* _pGuiFrame;
332#endif
333
335};
336
337GX_MOTION_NAMESPACE_END()
338
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
void GxTypedObject
その他
Definition GxDefine.h:213
INTERPOLATE
補間タイプ
Definition GxMotionDefine.h:17
MOTION_PLAYBACK_FLAG
再生設定フラグ
Definition GxMotionDefine.h:131
オブジェクト基底クラス
Definition GxBase.h:88
IKチェイン基礎クラス
Definition GxIkChain.h:20
インナークラス(関節のローカルデータ配列クラス)
Definition GxJointData.h:81
static constexpr u32 MILLI_INVERSE
ミリの逆数
Definition GxMath.h:110
void updateJointMatricesNoIK(u32 jointStartNumber, u32 jointCount)
各関節のモーションマトリクスを更新(IK計算なし)
Definition GxModUnitMotionBase.cpp:109
GxMotionJoint * _pJointArray
関節行列
Definition GxModUnitMotionBase.h:98
@ LOCATOR_ROOT
ルートロケータ
s32 _jointCount
モーションデータのなかの関節数
Definition GxModUnitMotionBase.h:99
@ BEGIN
モーションの開始インデックス
@ SUM
モーションの総数
virtual const GxMotionJoint * getJointArray(void) const
間接配列を取得
Definition GxModUnitMotionBase.cpp:40
virtual s32 getJointCount(void) const
関節数を取得
Definition GxModUnitMotionBase.h:78
virtual const GxMotionJoint * getJoint(const u32 id) const
間接を取得
Definition GxModUnitMotionBase.cpp:50
モーションブレンドシステムの機能を導入するモジュール
Definition GxModUnitMotionBlend.h:18
void initialize(GxResMotionPackage *pResMotPackage) override
初期化
Definition GxModUnitMotionBlend.cpp:87
void setPlaybackFlag(MOTION_PLAYBACK_FLAG flag, b32 value)
再生フラグを設定
Definition GxModUnitMotionBlend.cpp:837
void setFrame(f32 frame)
現在のフレーム値を設定
Definition GxModUnitMotionBlend.cpp:800
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)
オプションを設定して再生
Definition GxModUnitMotionBlend.cpp:555
b32 changeMotion(s32 motionNumber=static_cast< s32 >(MOTION_INDEX::BEGIN))
モーション番号だけを設定して前のオプションで再生
Definition GxModUnitMotionBlend.cpp:630
void updateJointLocalData(void)
モーションの関節のローカルデータを更新
Definition GxModUnitMotionBlend.cpp:342
void updateJointMatrices(u32 jointStartNumber, u32 jointCount)
各関節のモーションマトリクスを更新
Definition GxModUnitMotionBlend.cpp:356
void setPlaybackFlags(u32 playbackFlags)
再生フラグを設定
Definition GxModUnitMotionBlend.cpp:824
void updateFrame(void)
モーションフレームの更新
Definition GxModUnitMotionBlend.cpp:331
モーションの曲線関数を管理するクラス(インターフェイス)
Definition GxMotionCurvesContainer.h:20
モーションの曲線関数を管理するクラス(クォータニオンベース)
Definition GxMotionCurvesContainer.h:297
DECODE_TYPE
モーションデータ展開のタイプ
Definition GxMotionCurvesContainer.h:317
GxMotionJointのローカルデータだけを保存するクラス
Definition GxMotionJoint.h:22
GX_FORCE_INLINE const GxVector3 & getScale(void) const
スケールを取得
Definition GxMotionJoint.h:103
GxMotionが使う関節クラス
Definition GxMotionJoint.h:150
モーション再生クラス
Definition GxMotionPlayer.h:22
GX_FORCE_INLINE b32 isJointArrayUpToDate(void) const
関節配列が更新されたか判定
Definition GxMotionPlayer.h:219
GX_FORCE_INLINE void enableLinearInterpolation(b32 flag)
フレーム間のsrt各要素の線形補間をon offできるAPI。デフォルトはtrue, モーションの初期化(setMotionNumber)前のみ有効
Definition GxMotionPlayer.h:159
virtual GX_FORCE_INLINE b32 isPlaybackFlag(MOTION_PLAYBACK_FLAG flag) const
再生フラグの判定
Definition GxMotionPlayer.h:114
constexpr f32 getMotionRotateY(void) const
rot_y関節の回転値を取得
Definition GxMotionPlayer.h:150
GX_FORCE_INLINE void getUpdateJoint(void *pValue, u32 index)
関節配列を取得
Definition GxMotionPlayer.h:203
s32 _ikChainCount
モーションデータのなかのIKチェーン数
Definition GxMotionPlayer.h:310
virtual GX_FORCE_INLINE f32 getFrameNumber(f32 milliSeconds) const
ミリ秒からフレーム数を取得
Definition GxMotionPlayer.h:104
GX_FORCE_INLINE u16 getMotionFrameCount(void) const
設定中モーションのフレーム数を取得
Definition GxMotionPlayer.h:136
constexpr void setDecodeType(GxMotionCurvesContainerQuaternion::DECODE_TYPE type)
データの展開タイプを設定(GxMotionCurvesContainerQuaternionのときのみ有効)
Definition GxMotionPlayer.h:157
constexpr f32 getMotionTranslateY(void) const
rot_y関節の移動値を取得
Definition GxMotionPlayer.h:152
constexpr GxResMotionInterpolationSettings const * getInterpolationSettings(void) const
モーション補間設定リソースを取得
Definition GxMotionPlayer.h:238
constexpr void setDeltaTimeRatio(f32 deltaTimeRatio)
デルタタイム比率を設定
Definition GxMotionPlayer.h:126
constexpr void setDeltaTime(f32 deltaTime)
デルタタイムを設定
Definition GxMotionPlayer.h:124
virtual GX_FORCE_INLINE void setInterpolateType(INTERPOLATE interpolateType)
補間のタイプを設定
Definition GxMotionPlayer.h:230
GX_FORCE_INLINE void setPlayDifferenceMotion(b32 isPlayDifferenceMotion)
差分モーションを再生中かどうかを設定
Definition GxMotionPlayer.h:176
GxVector3 * _pIkEffecterTargetArray
IKエフェクタのターゲット配列
Definition GxMotionPlayer.h:313
constexpr f32 getDeltaTime(void) const
デルタタイムを取得
Definition GxMotionPlayer.h:120
GX_FORCE_INLINE GxMotionJoint & getJointRaw(const u32 id) const
間接を取得(更新チェックなしの生アクセス用)
Definition GxMotionPlayer.h:193
constexpr void setDummyValueIndex(const void *, u32)
ダミー値インデックスを設定
Definition GxMotionPlayer.h:280
constexpr void setSpeed(f32 speed)
スピードを設定
Definition GxMotionPlayer.h:110
constexpr void setInterpolationSettings(GxResMotionInterpolationSettings const *pResInterpolateSettings)
モーション補間設定リソースを設定
Definition GxMotionPlayer.h:240
u32 _ikEffecterTargetCount
IKエフェクタのターゲット数
Definition GxMotionPlayer.h:312
virtual GX_FORCE_INLINE f32 getFrame(void) const
現在のフレーム数を取得
Definition GxMotionPlayer.h:100
GxJointDataArray _interpolateDataArray
補間された関節データを保存する行列
Definition GxMotionPlayer.h:321
constexpr u32 getMotionNumberMax(void) const
最大番号を取得
Definition GxMotionPlayer.h:132
virtual GX_FORCE_INLINE b32 isExistScale(const GxMotionJointData *pJoint) const
関節にスケールがあるか無いかの判定
Definition GxMotionPlayer.h:58
virtual GX_FORCE_INLINE f32 getSpeed(void) const
スピードを取得
Definition GxMotionPlayer.h:108
constexpr void setInterpolateFrameElapsed(f32 value)
補間フレーム数の設定
Definition GxMotionPlayer.h:276
u32 _updateIkChainCount
取得したい関節のIKチェーンだけの数
Definition GxMotionPlayer.h:311
constexpr u32 const * getMotionPackageData(void) const
モーションアドレスを取得
Definition GxMotionPlayer.h:170
GX_FORCE_INLINE GxIkChain const * getIkChain(u32 index) const
IKチェーンの取得(const あり)
Definition GxMotionPlayer.h:248
virtual GX_FORCE_INLINE u32 getPlaybackFlags(void) const
再生フラグを取得
Definition GxMotionPlayer.h:112
virtual GX_FORCE_INLINE void setInterpolateCurvature(f32 interpolateCurvature)
補間の曲率を設定
Definition GxMotionPlayer.h:234
virtual GX_FORCE_INLINE INTERPOLATE getInterpolateType(void)
補間のタイプを取得
Definition GxMotionPlayer.h:232
virtual GX_FORCE_INLINE void setInterpolateFrameNumber(f32 interpolateFrameNumber)
補間フレーム数を設定
Definition GxMotionPlayer.h:226
b32 _interpolatingMotion
モーション補間中かどうか
Definition GxMotionPlayer.h:322
GxJointDataArray _originDataArray
補間の前の関節データを保存する行列
Definition GxMotionPlayer.h:320
constexpr void setDummySize(u32)
ダミーサイズを設定
Definition GxMotionPlayer.h:282
GX_FORCE_INLINE GxJointDataArray * getInterpolationOriginArray(void)
補間前行列の取得
Definition GxMotionPlayer.h:274
GX_FORCE_INLINE f32 getInterpolationRatio(f32 frameElapsed)
比率を計算
Definition GxMotionPlayer.h:242
GxVector3 _rootPosition
ユーザーが欲しいルート座標
Definition GxMotionPlayer.h:326
constexpr f32 getDeltaTimeRatio(void) const
デルタタイム比率を取得
Definition GxMotionPlayer.h:122
GX_FORCE_INLINE f32 getFrameMax(u32 motionNumber) const
指定モーションの最大フレーム数を取得
Definition GxMotionPlayer.h:140
constexpr GxResMotionPackage * getResMotionPackage(void)
モーションアドレスを取得
Definition GxMotionPlayer.h:179
f32 _interpolateFrameElapsed
補間のフレームカウント
Definition GxMotionPlayer.h:323
GX_FORCE_INLINE GxIkChain * getIkChain(u32 index)
IKチェーンの取得(const なし)
Definition GxMotionPlayer.h:250
constexpr u32 getIkChainCount(void) const
IKチェーンの数を取得
Definition GxMotionPlayer.h:252
GxIkChain * _pIkChainArray
IKチェーン配列
Definition GxMotionPlayer.h:314
b32 _isEnableInterpolateDataArray
_interpolateDataArray配列に入っている値が有効かどうか
Definition GxMotionPlayer.h:324
GX_FORCE_INLINE b32 isPlayDifferenceMotion(void)
差分モーションを再生中かどうかを取得
Definition GxMotionPlayer.h:174
virtual GX_FORCE_INLINE f32 getMilliSeconds(f32 frameNumber) const
フレーム数からミリ秒を取得
Definition GxMotionPlayer.h:106
constexpr s32 getMotionNumber(void) const
現在のモーション番号を取得
Definition GxMotionPlayer.h:128
virtual GX_FORCE_INLINE f32 getInterpolateCurvature(void) const
補間の曲率を取得
Definition GxMotionPlayer.h:236
constexpr GxIkChain * getIkChainArray(void)
関節ポインタの取得
Definition GxMotionPlayer.h:208
constexpr f32 getStartFrame(void) const
モーション再生を開始したフレームを取得
Definition GxMotionPlayer.h:154
constexpr u32 getMotionNumberMin(void) const
最小番号を取得
Definition GxMotionPlayer.h:130
virtual GX_FORCE_INLINE f32 getInterpolateFrameNumber(void) const
補間フレーム数を取得
Definition GxMotionPlayer.h:228
GX_FORCE_INLINE void checkJointsLocalData(void)
テストをして関節配列を更新
Definition GxMotionPlayer.h:221
constexpr GxIkChain const * getIkChainArray(void) const
IKチェーン配列の取得
Definition GxMotionPlayer.h:246
constexpr s32 getJointCount(void) const
関節数を取得
Definition GxMotionPlayer.h:201
constexpr u32 getMotionCount(void) const
モーション数を取得
Definition GxMotionPlayer.h:148
GX_FORCE_INLINE f32 getFrameMax(void) const
設定中モーションの最大フレーム数を取得
Definition GxMotionPlayer.h:138
GX_FORCE_INLINE void updateJoints(void)
各関節を更新
Definition GxMotionPlayer.h:76
プロパティクラス
Definition GxProperty.h:48
f32 getFrameRateTargetF32(void)
目標フレームレートの取得(f32)
Definition GxRenderDevice.cpp:3100
モーション補間設定リソースクラス
Definition GxResMotionInterpolationSettings.h:19
モーションパッケージリソース
Definition GxResMotionPackage.h:20
実行時型情報クラス
Definition GxRtti.h:154
補間の設定を保持するクラス
Definition GxInterpolationSetting.h:19
アフィン変換行列(行優先)
Definition GxMatrix.h:330
3次元ベクトル
Definition GxVector.h:245
static const GxVector3 ONE
(1, 1, 1)
Definition GxVector.h:258
32bitブーリアン
Definition GxDefine.h:173