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