IKモジュール
More...
#include <GxModUnitIK.h>
|
|
|
| GxModUnitIK (void) |
| | デフォルトコンストラクタ
|
| |
|
| ~GxModUnitIK (void) override |
| | デストラクタ
|
| |
| virtual void | initialize (GxModUnitMotionBlend *pMotion, GxResMotionIK *pResIK) |
| | 初期化
|
| |
|
| GxModUnitBase (void) |
| | デフォルトコンストラクタ
|
| |
|
| ~GxModUnitBase (void) override |
| | デストラクタ
|
| |
|
| GxModBase (void) |
| | デフォルトコンストラクタ
|
| |
|
virtual | ~GxModBase (void) |
| | デストラクタ
|
| |
|
constexpr | GxClassBase (void) |
| | コンストラクタ
|
| |
|
constexpr | GxClassBase (const GxClassBase &base) |
| | コピーコンストラクタ
|
| |
|
| ~GxClassBase (void) override |
| | デストラクタ
|
| |
|
constexpr | GxClassBaseRoot (void) |
| | コンストラクタ
|
| |
|
constexpr | GxClassBaseRoot (const GxClassBaseRoot &) |
| | コピーコンストラクタ
|
| |
|
virtual | ~GxClassBaseRoot (void) |
| | デストラクタ
|
| |
|
constexpr GxClassBaseRoot & | operator= (const GxClassBaseRoot &) |
| | 代入演算子
|
| |
|
virtual GxRtti & | getRtti (void) const =0 |
| | Rttiの取得
|
| |
| virtual GX_FORCE_INLINE const GxTypedObject * | getDefaultObject (void) |
| | デフォルトオブジェクトを取得
|
| |
|
GX_FORCE_INLINE b32 | isDefaultObject (void) |
| | デフォルトオブジェクト判定
|
| |
|
|
|
GxModUnitMotionBlend * | _pMotion |
| | モーションモジュール
|
| |
|
GxResMotionIK * | _pResIK |
| | IKリソース
|
| |
|
b32 | _isEnableMotion |
| | 現在再生されているモーションに対しIKが有効かどうか
|
| |
|
f32 | _waistJointMaxDrop |
| | 今の姿勢での最大の腰下げ量
|
| |
|
IKData ** | _ppIKObjectData |
| | IK終端関節用データ
|
| |
|
s32 | _hipJointId |
| | 腰関節Id
|
| |
|
IKData * | _pWaistObjectData |
| | 腰関節用IKデータ
|
| |
◆ calcMotionDataMatrices2BonesIK()
| void GxModUnitIK::calcMotionDataMatrices2BonesIK |
( |
const u32 | chainEndJointNumber, |
|
|
GxVector3 const & | ikTargetPosition ) |
|
protected |
指定された座標に向けIK開始・中間・終端関節マトリクスとその子関節マトリクスを更新
- Parameters
-
| chainEndJointNumber | [in] IKチェーンの終了関節番号 |
| ikTargetPosition | [in] IKのターゲット座標 |
◆ computeNewMatrices()
指定された関節マトリクスと子関節マトリクスを更新
- Parameters
-
| joint | [in] 下のヒエラルキを更新したい関節 |
| jointsUpToDate | [in] 下のヒエラルキのすでに更新された関節の配列 |
◆ getModelJoint()
モーション関節から対応するモデル関節を取得(outMotionJointIndex:モーション関節indexが必要な場合は指定する)
- Parameters
-
| pMotionJoint | [in] モーション関節 |
| pOutMotionJointIndex | [out] モデル関節インデックス |
- Returns
- モデル関節
◆ getModelJointChildrenCount()
特定のGxJoint以下の子関節総数を取得(enumTopBrotherJoint:調べたい関節と同階層の関節も一緒にカウントする場合はtrue)
- Parameters
-
| pJoint | [in] 関節 |
| enumTopBrotherJoint | [out] 兄弟関節を含めるならtrue |
- Returns
- 子関節の数
◆ getRate()
| f32 GxModUnitIK::getRate |
( |
f32 | frameElapsed, |
|
|
INTERPOLATE | curveType, |
|
|
f32 | curveTargetFrameCount, |
|
|
f32 | curvature ) |
|
protected |
補間比率を取得
- Parameters
-
| frameElapsed | [in] 経過フレーム |
| curveType | [in] カーブタイプ |
| curveTargetFrameCount | [in] カーブ目標フレーム |
| curvature | [in] 曲率 |
- Returns
- 比率
◆ hasFloor()
positionの真下に地面があるか判定 地面は5メートル以上遠い場合、ないとみなす
- Parameters
-
| position | [in] 座標 |
| collision | [out] 地面がある場合のみ:地面に当たる所の座標 |
| collisionNormal | [out] 地面がある場合のみ:地面に当たる所の法線 -------> 現在無効!!! |
- Returns
- 負:地面がない 正:地面がある
◆ initialize()
初期化
- Parameters
-
| pMotion | [in] モーションモジュール |
| pResIK | [in] リソース |
◆ preAsyncUpdate()
| void GxModUnitIK::preAsyncUpdate |
( |
void | | ) |
|
|
overridevirtual |
◆ setTarget()
| void GxModUnitIK::setTarget |
( |
IKData * | pIKData, |
|
|
f32 const | target ) |
|
protected |
IK関節目標座標を設定
- Parameters
-
| pIKData | [in] IKデータ |
| target | [in] ターゲット値 |
◆ updateJointMatrices()
指定された関節とその子関節を更新
- Parameters
-
| pJoint | [in] 更新元の関節(この関節以下の全関節を更新します) |
The documentation for this class was generated from the following files:
- C:/Users/t-arai/Documents/workspace/orochi_package_windows/middleware/GxMotion/src/GxModUnitIK.h
- C:/Users/t-arai/Documents/workspace/orochi_package_windows/middleware/GxMotion/src/GxModUnitIK.cpp