-
モーションファイル ( *.mot ) のフォーマットリファレンスです。
Version 1.0.0.0
- 最初のフォーマット
ファイルヘッダ |
情報ヘッダ |
ルートトランスフォーム |
ボディトランスフォーム |
-
ファイルヘッダは、モーションファイルを識別するためのものになります。
- MOT_FILE_HEADER
ファイルヘッダ ( MOT_FILE_HEADER ) |
名前 | 型 | 説明 | 値 |
---|---|---|---|
magic | UInt32 | マジック値 | 0x5F544F4D |
version | UInt32 | バージョン | 0x01000000 |
情報ヘッダ
-
情報ヘッダはモーション全般の情報を記述します。
- MOT_INFO_HEADER
情報ヘッダ ( MOT_INFO_HEADER 構造体 ) |
名前 | 型 | 説明 |
---|---|---|
name | wchar_t[32] | 名前 |
framesPerSec | Float32 | 1秒間のフレーム数 |
lastFrame | Float32 | 最後のフレーム |
speed | Float32 | 再生速度 |
blendRatio | Float32 | ブレンド率 |
startLoopFrame | Float32 | ループを開始するフレーム |
endLoopFrame | Float32 | ループを終了するフレーム |
numRTCurve | UInt32 | ルートトランスフォームのカーブの数 |
numBTCurve | UInt32 | ボディトランスフォームのカーブの数 |
ルートトランスフォーム、ボディトランスフォーム 共通の定義
- MOT_QUATERNION_KEY 構造体
- MOT_VECTOR_KEY 構造体
名前 | 型 | 説明 |
---|---|---|
frame | Float32 | フレーム |
reserve | UInt32 | 予約領域 |
value | Float32[4] | クォータニオン { X, Y, Z, W } |
名前 | 型 | 説明 |
---|---|---|
frame | Float32 | フレーム |
value | Float32[3] | ベクトル { X, Y, Z } |
ルートトランスフォーム
-
ルートトランスフォームはルートにのみ影響を与えるため、カーブは最大で一つになります。
- MOT_ROOT_CURVE_DESC
そのため、MOT_INFO_HEADER::numRTCurve の値は、0 もしくわ 1 になります。
また、MOT_INFO_HEADER::numRTCurve の値が 0 の場合は存在しません。
ルートトランスフォーム
|
カーブ
-
ルートトランスフォームは、ローテーション、トランスレーションのみをサポートします。
カーブの記述 | MOT_ROOT_CURVE_DESC |
ローテーションキーの配列 | MOT_QUATERNION_KEY [ MOT_RT_DESC::numRotationKey ] |
トランスレーションキーの配列 | MOT_VECTOR_KEY [ MOT_RT_DESC::numTranslationKey ] |
名前 | 型 | 説明 |
---|---|---|
numRotationKey | UInt32 | ローテーションキーの数 |
numTranslationKey | UInt32 | トランスレーションキーの数 |
ボディトランスフォーム
-
ボディトランスフォームは複数のノードに対して影響を与えるため、カーブは MOT_INFO_HEADER::numBTCurve の値の数だけ存在します。
- MOT_BODY_CURVE_DESC
また、MOT_INFO_HEADER::numBTCurve の値が 0 の場合は存在しません。
ボディトランスフォーム
|
カーブ
-
ボディトランスフォームは、スケーリング、ローテーション、トランスレーションの全てをサポートします。
カーブの記述 | MOT_BODY_CURVE_DESC |
スケーリングキーの配列 | MOT_VECTOR_KEY [ MOT_BT_DESC::numScalingKey ] |
ローテーションキーの配列 | MOT_QUATERNION_KEY [ MOT_BT_DESC::numRotationKey ] |
トランスレーションキーの配列 | MOT_VECTOR_KEY [ MOT_BT_DESC::numTranslationKey ] |
名前 | 型 | 説明 |
---|---|---|
name | wchat_t[32] | 名前 対象となるアクターモデルのノードの名前になります。 |
numScalingKey | UInt32 | スケーリングキーの数 |
numRotationKey | UInt32 | ローテーションキーの数 |
numTranslationKey | UInt32 | トランスレーションキーの数 |
reserve | UInt32 | 予約領域 |