FineKernelToolKit: FK_CLI::fk_BVHMotion クラス

FineKernelToolKit 4.3.0

読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | プロパティ | 全メンバ一覧
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_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_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フレームの実時間を秒数で取得します。