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

FK Performer キャラクターランタイムクラス [詳解]

#include <CLI/FK_CLI/include/Performer_CLI.h>

+ FK_CLI::fk_Performer 連携図

公開メンバ関数

 fk_Performer ()
 コンストラクタ
 
 ~fk_Performer ()
 デストラクタ
 
 !fk_Performer ()
 ファイナライザ
 
bool CloneCharactor (fk_Performer^ perf)
 キャラクタークローンメソッド
 
データ入力メソッド
bool LoadObjectData (String^ filename)
 MQO オブジェクト読み込みメソッド
 
bool LoadJointData (String^ filename)
 FKC ジョイント読み込みメソッド
 
bool LoadMotionData (String^ filename)
 FKM モーション読み込みメソッド
 
シーン登録制御メソッド
void RemoveScene (fk_Scene^ scene)
 シーン登録解除メソッド
 
各種オブジェクト取得メソッド
fk_ModelGetBaseModel (void)
 ベースモデル取得メソッド
 
fk_ModelGetObjectModel (int id)
 オブジェクトモデル取得メソッド
 
fk_ModelGetJointModel (int id)
 ジョイントモデル取得メソッド
 
モーション再生制御メソッド
int GetNowFrame (int id)
 モーション再生位置取得メソッド
 
int GetTotalFrame (int id)
 モーションのトータルフレーム数取得メソッド
 
bool PlayMotion (int id)
 モーション再生メソッド
 
void StillMotion (int motionID, int frameID)
 姿勢制御付きフレーム頭出しメソッド
 
void SetNowFrame (int motionID, int frameID)
 姿勢制御無しフレーム頭出しメソッド
 
bool IsMotionFinished (int id)
 モーション再生終了状態取得メソッド
 

プロパティ

int ObjectNum [get]
 オブジェクト数プロパティ
 
int LoopCount [get]
 ループ回数プロパティ
 
fk_SceneScene [set]
 シーン登録プロパティ
 

詳解

FK Performer キャラクターランタイムクラス

このクラスは、FK Performer で作成したキャラクターやオブジェクトの表示、 モーション再生などを行う機能を提供します。

FK Performer は、メタセコイアで作成した MQO 形式の形状モデルを読み込み、 キーフレームアニメーションを作成することができるツールです。 ツールやデータの仕様に関する詳細は、次の URL を参照してください。 http://gamescience.jp/~rita/FKP/

本クラスにおいて、各関節は階層構造的に接続されることになり、 内部的にはそれぞれに対応する fk_Model 型のインスタンスを保持します。 最も上位となるモデルは GetBaseModel() によって得られるインスタンスです。 その一つ下位に <base> というモデルがあり、 全ての関節モデルはこの <base> の子モデル、あるいはそれらの子孫のモデルとなります。 FK における親子関係の詳細は fk_Model のマニュアルを参照して下さい。

本クラスでの「モーション」とは、実際には各オブジェクトモデルの移動動作を指します。 各モーションは経過時間ごとの配置状況が記録されており、 この経過時間を「フレーム」と呼びます。 さらに、フレームを1つずつ進めていくことを「再生」と呼びます。 この「再生」を画面更新と一緒に行っていくことによって、 FK Performer で作成した動作アニメーションを FK 内で実行することが可能となります。

FK Performer では、一つのモーションデータに複数のモーションを格納することが可能です。 各モーションには「モーション番号」という ID が割り振られ、最初のものが 0 となります。 先述した再生フレームは、各モーションごとに個別に管理されます。

参照
fk_Model, fk_Scene, fk_AppWindow

構築子と解体子

◆ fk_Performer()

FK_CLI::fk_Performer::fk_Performer ( )

コンストラクタ

◆ ~fk_Performer()

FK_CLI::fk_Performer::~fk_Performer ( )

デストラクタ

◆ !fk_Performer()

FK_CLI::fk_Performer::!fk_Performer ( )

ファイナライザ

関数詳解

◆ CloneCharactor()

bool FK_CLI::fk_Performer::CloneCharactor ( fk_Performer perf)

キャラクタークローンメソッド

異なるインスタンス間に、キャラクターのデータをクローンします。

引数
[in]perfコピー元インスタンス
戻り値
クローン成功時に true を、失敗時に false を返します。

◆ LoadObjectData()

bool FK_CLI::fk_Performer::LoadObjectData ( String^  filename)

MQO オブジェクト読み込みメソッド

メタセコイアの形状モデル(MQOデータ)を読み込みます。

引数
[in]filename形状モデルファイル名。
戻り値
成功時に true、失敗時に false を返します。

◆ LoadJointData()

bool FK_CLI::fk_Performer::LoadJointData ( String^  filename)

FKC ジョイント読み込みメソッド

FK Performer による関節セットアップデータ(FKCデータ)を読み込みます。

引数
[in]filename間接セットアップデータファイル名。
戻り値
成功時に true、失敗時に false を返します。

◆ LoadMotionData()

bool FK_CLI::fk_Performer::LoadMotionData ( String^  filename)

FKM モーション読み込みメソッド

FK Performer によるモーションデータ(FKMデータ)を読み込みます。 複数のモーションを読み込みたい場合は、1つずつ順番に読み込みます。 読み込んだモーションには、最初に読み込んだものを 0 番とし、読み込む順番で 1 ずつ追加した ID が割り振られます。

引数
[in]filenameモーションデータファイル名。
戻り値
成功時に true、失敗時に false を返します。

◆ RemoveScene()

void FK_CLI::fk_Performer::RemoveScene ( fk_Scene scene)

シーン登録解除メソッド

キャラクターのシーン登録を解除します。 シーンに登録されていなかった場合は変化はありません。 シーンへの登録は fk_Performer::Scene プロパティを利用して下さい。

引数
[in]scene登録解除するシーン
参照
fk_Performer::Scene

◆ GetBaseModel()

fk_Model ^ FK_CLI::fk_Performer::GetBaseModel ( void  )

ベースモデル取得メソッド

そのキャラクターの全体的な位置・姿勢を制御するモデルのインスタンスを取得します。 この GetBaseModel() で制御できるのは、FK Performer 中での <base> ではなく、 <base> を子とした更に上位の親モデルです。あえて二重構造にしてあります。 <base> を直接制御したい場合は GetJointModel() メソッドで引数に 0 を代入して使ってください。

戻り値
ベースモデルインスタンス。
参照
GetObjectModel(), GetJointModel()

◆ GetObjectModel()

fk_Model ^ FK_CLI::fk_Performer::GetObjectModel ( int  id)

オブジェクトモデル取得メソッド

引数で指定した関節番号の fk_Model のインスタンスを返します。 オブジェクトモデルとは、実際に表示する形状がセットされているインスタンスを指します。 関節番号の順番は、Performer で読み込んだ時にリストに表示される順です。 0 が <base> に対応し、以降順番通りに 1,2,3... と割り振られます。 関節ごとの位置や姿勢を知りたいときに使えます。

引数
[in]id関節番号
戻り値
関節番号に対応するオブジェクトモデルインスタンス。 無効な関節番号を指定した場合は null が返ります。
参照
GetBaseModel(), GetJointModel()

◆ GetJointModel()

fk_Model ^ FK_CLI::fk_Performer::GetJointModel ( int  id)

ジョイントモデル取得メソッド

引数で指定した関節番号の fk_Model のインスタンスを返します。 ジョイントモデルとは、オブジェクトモデルをレイアウトするために利用している 形状を持たないインスタンスを指します。通常の場合は利用しませんが、 親子関係を辿ったり、座標系を可視化したりといった用途に用いると便利です。 関節番号の順番は、Performer で読み込んだ時にリストに表示される順です。 0 が <base> に対応し、以降順番通りに 1,2,3... と割り振られます。 関節ごとの位置や姿勢を知りたいときに使えます。

引数
[in]id関節番号
戻り値
関節番号に対応するジョイントモデルインスタンス。 無効な関節番号を指定した場合は null が返ります。
参照
GetBaseModel(), GetObjectModel()

◆ GetNowFrame()

int FK_CLI::fk_Performer::GetNowFrame ( int  id)

モーション再生位置取得メソッド

引数で指定したモーション番号が、現在何フレーム目まで進んでいるかを返します。

引数
[in]idモーション番号
戻り値
現在のフレーム番号。 無効なモーション番号を指定した場合は -1 が返ります。

◆ GetTotalFrame()

int FK_CLI::fk_Performer::GetTotalFrame ( int  id)

モーションのトータルフレーム数取得メソッド

引数で指定したモーション番号のトータルフレーム数を返します。

引数
[in]idモーション番号
戻り値
指定したモーションの総フレーム数。 無効なモーション番号を指定した場合は -1 が返ります。

◆ PlayMotion()

bool FK_CLI::fk_Performer::PlayMotion ( int  id)

モーション再生メソッド

引数で指定したモーション番号に対応するモーションの再生を行います。 終端まで到達した場合は、次の呼び出し時には自動的に先頭に巻き戻って再生します。

引数
[in]idモーション番号
戻り値
正常に再生がおこなれた場合は true を返します。 モーションが読み込まれていない時に再生しようとした場合 false を返します。 無効なモーション番号を指定した場合も false を返します。

◆ StillMotion()

void FK_CLI::fk_Performer::StillMotion ( int  motionID,
int  frameID 
)

姿勢制御付きフレーム頭出しメソッド

指定したモーションの、指定したフレームの姿勢を強制的に取らせます。 今再生しているモーションを強制的に巻き戻す場合などに便利です。 無効なモーション番号、及びフレーム数を指定した場合は何もしません。

引数
[in]motionIDモーション番号
[in]frameIDフレーム番号

◆ SetNowFrame()

void FK_CLI::fk_Performer::SetNowFrame ( int  motionID,
int  frameID 
)

姿勢制御無しフレーム頭出しメソッド

指定したモーションの再生位置を、指定したフレームにセットしますが、 実際にはその姿勢は取らせません。裏でこっそり巻き戻しておく場合に使えます。 無効なモーション番号、及びフレーム数を指定した場合は何もしません。

引数
[in]motionIDモーション番号
[in]frameIDフレーム番号

◆ IsMotionFinished()

bool FK_CLI::fk_Performer::IsMotionFinished ( int  id)

モーション再生終了状態取得メソッド

指定したモーション番号が、終端まで到達しているかどうかをチェックします。

引数
[in]idモーション番号
戻り値
終端に到達していたら true、していなかったら false が返ります。

プロパティ詳解

◆ ObjectNum

int FK_CLI::fk_Performer::ObjectNum
get

オブジェクト数プロパティ

そのキャラクターのオブジェクト数(関節数)を参照します。 <base> の分も含みます。

◆ LoopCount

int FK_CLI::fk_Performer::LoopCount
get

ループ回数プロパティ

現在再生しているモーションが、何回ループしているかを返します。

◆ Scene

fk_Scene^ FK_CLI::fk_Performer::Scene
set

シーン登録プロパティ

キャラクターをシーンに設定します。 既にシーンに登録されていた場合は変化はありません。 解除する場合は RemoveScene() を利用して下さい。