FineKernelToolKit 4.2.13
|
BVH 形式のモーションデータを読み込み、保持するクラス [詳解]
#include <CLI/FK_CLI/include/BVHMotion_CLI.h>
公開メンバ関数 | |
fk_BVHMotion () | |
コンストラクタ | |
~fk_BVHMotion () | |
デストラクタ | |
!fk_BVHMotion () | |
ファイナライザ | |
void | Init (void) |
初期化メソッド | |
bool | ReadBVHFile (String^ fileName) |
BVH ファイル入力メソッド | |
int | GetNodeNum (void) |
ノード数取得メソッド | |
String ^ | GetNodeName (int index) |
ノード名取得メソッド | |
fk_Model ^ | GetNodeModel (int index) |
ノードモデル取得メソッド1 | |
fk_Model ^ | GetNodeModel (String^ nodeName) |
ノードモデル取得メソッド2 | |
int | NextFrame (void) |
モーション再生メソッド | |
void | SetFrameCount (int frame) |
モーション状態セットメソッド | |
void | SetAnimationTime (double t) |
アニメーション時間設定メソッド | |
プロパティ | |
int | NowFrameCount [get] |
モーション現在位置プロパティ | |
int | FrameLength [get] |
モーション長プロパティ | |
double | OneFrameTime [get] |
1フレームの実時間プロパティ | |
BVH 形式のモーションデータを読み込み、保持するクラス
このクラスは BVH 形式のモーションデータを読み込み、制御を行います。 主な用途は fk_IFSTexture クラスのインスタンスに対して Direct3D の X 形式を 読み込んだ際に、任意のモーションへと差し替える場合に使用します。 それ以外にも、このクラスのメンバ自体が fk_Model のツリー構造を保持しているため、 モーションの再生時刻を指定することでボーンの状態を再現することも可能です。 これを利用すれば、X 形式以外の形状要素を用いている場合でもモーションデータを 活用することができます。
FK_CLI::fk_BVHMotion::fk_BVHMotion | ( | ) |
コンストラクタ
FK_CLI::fk_BVHMotion::~fk_BVHMotion | ( | ) |
デストラクタ
FK_CLI::fk_BVHMotion::!fk_BVHMotion | ( | ) |
ファイナライザ
void FK_CLI::fk_BVHMotion::Init | ( | void | ) |
初期化メソッド
モーションデータを初期化します。
bool FK_CLI::fk_BVHMotion::ReadBVHFile | ( | String^ | fileName | ) |
BVH ファイル入力メソッド
BVH 形式のファイルからモーションデータを読み込みます。
[in] | fileName | ファイル名 |
int FK_CLI::fk_BVHMotion::GetNodeNum | ( | void | ) |
ノード数取得メソッド
現在のモーションデータが持っているノード(ボーン)数を返します。
String ^ FK_CLI::fk_BVHMotion::GetNodeName | ( | int | index | ) |
ノード名取得メソッド
引数で指定したノードの名称を返します。
[in] | index | ノードのインデックス。0 からノード数-1 までの値をとります。 |
fk_Model ^ FK_CLI::fk_BVHMotion::GetNodeModel | ( | int | index | ) |
fk_Model ^ FK_CLI::fk_BVHMotion::GetNodeModel | ( | String^ | nodeName | ) |
int FK_CLI::fk_BVHMotion::NextFrame | ( | void | ) |
モーション再生メソッド
モーションを 1 フレーム分進め、各ノードの状態を更新します。 モーションの終端まで進んだら、先頭(0 フレーム目)に戻ります。
void FK_CLI::fk_BVHMotion::SetFrameCount | ( | int | frame | ) |
モーション状態セットメソッド
各ノードの状態を、指定したフレームカウントのものに更新します。 モーションの現在位置も指定したフレームになります。
[in] | frame | モーションのフレームカウント。 0 未満やモーションの長さ以上の値を指定した場合は、それぞれ上下限に丸められます。 |
void FK_CLI::fk_BVHMotion::SetAnimationTime | ( | double | t | ) |
アニメーション時間設定メソッド
各ノードの状態を、秒で指定した時間に対応する状態に設定します。 モーションの現在位置は、指定した時間に直近のフレームになります。
[in] | t | 時間。0.0 未満やモーションの長さ以上の値を指定した場合は、それぞれ上下限に丸められます。 |
|
get |
モーション現在位置プロパティ
モーション再生の現在位置を取得します。
|
get |
モーション長プロパティ
モーションの長さをフレーム数で取得します。
|
get |
1フレームの実時間プロパティ
そのモーションデータにおける、1フレームの実時間を秒数で取得します。