FineKernelToolKit 4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | プロパティ | 全メンバ一覧
FK_CLI::fk_BVHMotion クラス

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_ModelGetNodeModel (int index)
 ノードモデル取得メソッド1
 
fk_ModelGetNodeModel (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_IndexFaceSet, fk_IFSTexture, fk_Model

構築子と解体子

◆ fk_BVHMotion()

FK_CLI::fk_BVHMotion::fk_BVHMotion ( )

コンストラクタ

◆ ~fk_BVHMotion()

FK_CLI::fk_BVHMotion::~fk_BVHMotion ( )

デストラクタ

◆ !fk_BVHMotion()

FK_CLI::fk_BVHMotion::!fk_BVHMotion ( )

ファイナライザ

関数詳解

◆ Init()

void FK_CLI::fk_BVHMotion::Init ( void  )

初期化メソッド

モーションデータを初期化します。

◆ ReadBVHFile()

bool FK_CLI::fk_BVHMotion::ReadBVHFile ( String^  fileName)

BVH ファイル入力メソッド

BVH 形式のファイルからモーションデータを読み込みます。

引数
[in]fileNameファイル名
戻り値
入力に成功すれば true、失敗すれば false を返します。

◆ GetNodeNum()

int FK_CLI::fk_BVHMotion::GetNodeNum ( void  )

ノード数取得メソッド

現在のモーションデータが持っているノード(ボーン)数を返します。

戻り値
ノード数。モーションデータが未入力の場合は、0 を返します。

◆ GetNodeName()

String ^ FK_CLI::fk_BVHMotion::GetNodeName ( int  index)

ノード名取得メソッド

引数で指定したノードの名称を返します。

引数
[in]indexノードのインデックス。0 からノード数-1 までの値をとります。
戻り値
ノード名。インデックスが無効な値の場合は、空の文字列を返します。

◆ GetNodeModel() [1/2]

fk_Model ^ FK_CLI::fk_BVHMotion::GetNodeModel ( int  index)

ノードモデル取得メソッド1

引数で指定したノードについて、その状態を保持している fk_Model のポインタを返します。

引数
[in]indexノードのインデックス。0 からノード数-1 までの値をとります。
戻り値
ノードを表す fk_Model のポインタ。 インデックスが無効な値の場合は、null を返します。

◆ GetNodeModel() [2/2]

fk_Model ^ FK_CLI::fk_BVHMotion::GetNodeModel ( String^  nodeName)

ノードモデル取得メソッド2

引数で指定したノードについて、その状態を保持している fk_Model のポインタを返します。 ノードの名称を表す文字列で、対象ノードを指定します。

引数
[in]nodeNameノードの名称。
戻り値
ノードを表す fk_Model のポインタ。 存在しないノード名を指定した場合は、null を返します。

◆ NextFrame()

int FK_CLI::fk_BVHMotion::NextFrame ( void  )

モーション再生メソッド

モーションを 1 フレーム分進め、各ノードの状態を更新します。 モーションの終端まで進んだら、先頭(0 フレーム目)に戻ります。

戻り値
モーションを 1 フレーム進めた後のフレームカウント。

◆ SetFrameCount()

void FK_CLI::fk_BVHMotion::SetFrameCount ( int  frame)

モーション状態セットメソッド

各ノードの状態を、指定したフレームカウントのものに更新します。 モーションの現在位置も指定したフレームになります。

引数
[in]frameモーションのフレームカウント。 0 未満やモーションの長さ以上の値を指定した場合は、それぞれ上下限に丸められます。

◆ SetAnimationTime()

void FK_CLI::fk_BVHMotion::SetAnimationTime ( double  t)

アニメーション時間設定メソッド

各ノードの状態を、秒で指定した時間に対応する状態に設定します。 モーションの現在位置は、指定した時間に直近のフレームになります。

引数
[in]t時間。0.0 未満やモーションの長さ以上の値を指定した場合は、それぞれ上下限に丸められます。

プロパティ詳解

◆ NowFrameCount

int FK_CLI::fk_BVHMotion::NowFrameCount
get

モーション現在位置プロパティ

モーション再生の現在位置を取得します。

◆ FrameLength

int FK_CLI::fk_BVHMotion::FrameLength
get

モーション長プロパティ

モーションの長さをフレーム数で取得します。

◆ OneFrameTime

double FK_CLI::fk_BVHMotion::OneFrameTime
get

1フレームの実時間プロパティ

そのモーションデータにおける、1フレームの実時間を秒数で取得します。