FineKernelToolKit  3.1.0
公開メンバ関数 | プロパティ | 全メンバ一覧
FK_CLI::fk_Performer クラス

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

+ 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_Scene^  Scene [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_CLI::fk_Performer::fk_Performer ( )

コンストラクタ

FK_CLI::fk_Performer::~fk_Performer ( )

デストラクタ

FK_CLI::fk_Performer::!fk_Performer ( )

ファイナライザ

関数詳解

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

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

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

引数
[in]perfコピー元インスタンス
戻り値
クローン成功時に true を、失敗時に false を返します。
bool FK_CLI::fk_Performer::LoadObjectData ( String^  filename)

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

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

引数
[in]filename形状モデルファイル名。
戻り値
成功時に true、失敗時に false を返します。
bool FK_CLI::fk_Performer::LoadJointData ( String^  filename)

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

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

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

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

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

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

シーン登録解除メソッド

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

引数
[in]scene登録解除するシーン
参照
fk_Performer::Scene
fk_Model ^ FK_CLI::fk_Performer::GetBaseModel ( void  )

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

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

戻り値
ベースモデルインスタンス。
参照
GetObjectModel(), GetJointModel()
fk_Model ^ FK_CLI::fk_Performer::GetObjectModel ( int  id)

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

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

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

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

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

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

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

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

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

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

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

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

モーション再生メソッド

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

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

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

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

引数
[in]motionIDモーション番号
[in]frameIDフレーム番号
void FK_CLI::fk_Performer::SetNowFrame ( int  motionID,
int  frameID 
)

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

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

引数
[in]motionIDモーション番号
[in]frameIDフレーム番号
bool FK_CLI::fk_Performer::IsMotionFinished ( int  id)

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

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

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

プロパティ詳解

int FK_CLI::fk_Performer::ObjectNum
get

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

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

int FK_CLI::fk_Performer::LoopCount
get

ループ回数プロパティ

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

fk_Scene^ FK_CLI::fk_Performer::Scene
set

シーン登録プロパティ

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