ラグドールモジュールクラス
More...
#include <GxModUnitRagdoll.h>
|
|
| GX_RTTI_CLASS_NAME (GxModUnitRagdoll, GxModUnitBase, "RAGDOLL MODULE") |
|
| GX_OPERATOR_NEW_DELETE (GxAllocatorList::ALLOCATOR_TYPE::PHYSICS) |
|
|
| GxModUnitRagdoll (void) |
| デフォルトコンストラクタ
|
|
| ~GxModUnitRagdoll (void) override |
| デストラクタ
|
|
| 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) |
| デフォルトオブジェクト判定
|
|
|
constexpr GxDynamics * | getRagdoll (void) const |
| ラグドール本体取得
|
|
constexpr GxDynamics::GxWorld * | getRagdollWorld (void) const |
| ラグドール所属ワールド取得
|
|
GX_FORCE_INLINE b32 | isActive (void) const |
| アクティブフラグ判定
|
|
GX_FORCE_INLINE void | setActive (b32 isActive) |
| アクティブフラグ設定
|
|
virtual GX_FORCE_INLINE b32 | isRagdollSleeping (void) const |
| ラグドール剛体の状態判定
|
|
static GX_FORCE_INLINE const GxRtti & | getOwnerDerivedRtti (void) |
| 所持者に必要な継承RTTIを取得
|
|
◆ applyForce()
void GxModUnitRagdoll::applyForce |
( |
const GxVector3 & | force, |
|
|
const GxVector3 & | position, |
|
|
s32 | index = 0 ) |
ラグドール剛体に力を加える
力は加速度に影響する
F = ma -> acceleration += force / mass
- Parameters
-
force | [in] 与える力 |
position | [in] 力を与える位置(オブジェクト原点からの相対) |
index | [in] 力を与えるオブジェクト番号(デフォルト 0 ) |
◆ applyImpulse()
void GxModUnitRagdoll::applyImpulse |
( |
const GxVector3 & | impulse, |
|
|
const GxVector3 & | position, |
|
|
s32 | index = 0 ) |
ラグドール剛体に衝撃を加える
衝撃は速度に影響する
I = mv -> velocity += impulse / mass
- Parameters
-
impulse | [in] 与える衝撃 |
position | [in] 衝撃を与える位置(オブジェクト原点からの相対) |
index | [in] 衝撃を与えるオブジェクト番号(デフォルト 0 ) |
◆ cleanup()
void GxModUnitRagdoll::cleanup |
( |
void | | ) |
|
|
virtual |
ラグドール終了
物理モジュールのクリアを呼び、確保したメモリを破棄する
◆ createBodyCondition()
セットアップ用:リソースから剛体データ構造体をNEWする
構造体に変換するとき、角度データは DEGREE から RADIAN へ変更する(リソースのみ DEGREE 保持)
- Parameters
-
pResRagdoll | [in] ラグドール設定リソース |
- Returns
- 剛体データ構造体
◆ createDynamicsModule()
virtual GX_FORCE_INLINE GxDynamics * GxModUnitRagdoll::createDynamicsModule |
( |
void | | ) |
|
|
inlinevirtual |
剛体作成関数
GxDynamics を継承して使用するプロジェクトは、ラグドールも継承してこの関数をオーバーライドする
◆ createJointCondition()
セットアップ用:リソースから関節データ構造体をNEWする
構造体に変換するとき、角度データは DEGREE から RADIAN へ変更する(リソースのみ DEGREE 保持)
- Parameters
-
pResRagdoll | [in] ラグドール設定リソース |
- Returns
- 剛体データ構造体
◆ initialize() [1/2]
初期化
引数にリソースを指定するバージョン
内部でリソースから構造体を作成し、構造体指定バージョンセットアップ関数を呼ぶ
構造体に変換するとき、角度データは DEGREE から RADIAN へ変更する(リソースのみ DEGREE 保持)
- Parameters
-
pWorld | [in] 所属する物理ワールド |
pCallbackFunction | [in] 物理モジュールに与えるコールバック関数 |
pResRagdoll | [in] ラグドール設定リソース |
◆ initialize() [2/2]
初期化
- Parameters
-
pWorld | [in] 所属する物理ワールド |
pCallbackFunction | [in] 物理モジュールに与えるコールバック関数 |
pCondition | [in] ラグドール設定構造体 |
◆ isRagdollSleeping()
virtual GX_FORCE_INLINE b32 GxModUnitRagdoll::isRagdollSleeping |
( |
void | | ) |
const |
|
inlinevirtual |
ラグドール剛体の状態判定
ラグドールを構成するすべての剛体がスリープ状態のとき true を返す
◆ ragdollCallback()
void GxModUnitRagdoll::ragdollCallback |
( |
void | | ) |
|
|
virtual |
物理更新後の処理
物理挙動させた剛体をモデルへ還元するための関数
Ragdoll を保持する Unit の PostAsyncMove で呼ぶことを推奨
◆ reset()
void GxModUnitRagdoll::reset |
( |
void | | ) |
|
リセット
現在のモデルの姿勢にあわせて剛体と関節をリセット
速度は直線速度、角速度ともに 0 に
The documentation for this class was generated from the following files:
- C:/Users/t-arai/Documents/workspace/orochi_package_windows/middleware/GxUtility/src/GxModUnitRagdoll.h
- C:/Users/t-arai/Documents/workspace/orochi_package_windows/middleware/GxUtility/src/GxModUnitRagdoll.cpp