MSQファイルフォーマット

▲INDEX にもどる   ▼MSQファイルのサンプルはこちら


MSQファイルは、モーションエディタで作成したモーションを保存するためのファイル形式で、テキストデータとして以下の様に分類、記述されています。

I,HEADERセクション

1,MSQキーワード
2,KeyFramesキーワード

II,PLUG_INSセクション

1,PlugInキーワード

III,MESHセクション

1,Meshキーワード
2,Objectキーワード
3,OriginalNameキーワード
4,Colorキーワード
5,Modulationキーワード
6,Keyframeキーワード
7,Glossキーワード
8,Emissiveキーワード
9,Specularキーワード
10,Textureキーワード
11,Qualityキーワード
12,ShadingAngleキーワード
13,Pivotキーワード
14,KeyFrameキーワード
15,HLimitsキーワード
16,UseHキーワード
17,PLimitsキーワード
18,UsePキーワード
19,BLimitsキーワード
20,UseBキーワード
21,IKAnchorキーワード
22,ObjectPlugInキーワード
23,Skeletonキーワード
24,Boneキーワード
25,ParentBoneキーワード
26,Lengthキーワード
27,Rangeキーワード
28,RangeXキーワード
29,RangeYキーワード
30,Attributeキーワード
31,Orientationキーワード
32,LastScaleキーワード
33,LastMatrixキーワード
34,Tensionキーワード
35,PrevHPBキーワード
36,IgnoreRangeキーワード
37,Activeキーワード
38,ActiveCoordsキーワード

IV,LIGHTセクション

1,Lightキーワード
2,Colorキーワード
3,Typeキーワード
4,RGBキーワード
5,Rangeキーワード
6,Umbraキーワード
7,Penumbraキーワード
8,Attenuation0キーワード
9,Attenuation1キーワード
10,Attenuation2キーワード

V,DUMMYセクション

1,Dummyキーワード
2,Colorキーワード

VI,CAMERAセクション

1,Cameraキーワード
2,Colorキーワード
3,Fieldキーワード
4,Focusキーワード

VII,HIERARCHYセクション

1,Parentキーワード
2,Childキーワード

VIII,DEVICEセクション

1,Deviceキーワード
2,Backgroundキーワード
3,Imageキーワード

IX,RENDERセクション

1,RenderSettingsキーワード
2,Attributesキーワード
3,BGImageキーワード
4,Reflectionキーワード
5,Fogキーワード



I,HEADERセクション
HEADERセクションには、MSQファイルフォーマットのバージョン情報と、最大フレーム数が記述されます。HEADERセクションのサンプルはこちら。

1,MSQキーワード
MSQファイルのバージョンを表します。モーションエディターVer2.5で使用されるMSQファイルのバージョンは2003です。

記述例:

MSQ  2003 

(MSQのバージョンは2003です。)

2,KeyFramesキーワード
最大フレーム数を表します。

記述例:

KeyFrames  110 

(最大フレーム数は110です。)


II,PLUG_INSセクション
PLUG_INSセクションには、モーションエディターに読み込まれたプラグイン名が記述されます。PLUG_INSセクションのサンプルはこちら。

1,PlugInキーワード
読み込まれたプラグインが記述されます。

記述例:

PlugIn "C:\Program Files\3da25\programs\Plug-ins\Explode.mep"

(使用しているプラグインファイルは"C:\Program Files\3da25\programs\Plug-ins\Explode.mep"です。)


III,MESHセクション
MESHセクションには、使用されているモデルデータの情報(元の3DAファイル名、キーフレーム、ボーン等の情報)がオブジェクト毎に記述されます。MESHセクションのサンプルはこちら。

1,Meshキーワード
モデルデータが含まれている3DAファイル名が記述されます。これ以降は、ここに記述されている3DAファイル内のモデルデータの情報がオブジェクト毎に記述されます。

記述例:

Mesh "C:\Program Files\3da25\modeldata\Heri.3da"

(使用している3DAファイルは"C:\Program Files\3da25\modeldata\Heri.3da"です。)

2,Objectキーワード
3DAファイル内における、オブジェクト名とオブジェクト番号が記述されます。これ以降は、ここに記述されているオブジェクトの情報が記述されます。

記述例:

Object "cockpit"  0 

("cockpit"オブジェクトは、3DAファイル内では0番です。)

〔ファイル>3DAの読込み〕コマンドで「1個のオブジェクトとして読込み」ボックスにチェックを入れて読込むと、オブジェクト名の部分には"3DAファイル名_3da"、オブジェクト番号の部分には-1が記述されます。

記述例:

Object "Heri_3da"  -1 

(Heri.3daファイル内のオブジェクトを1つにまとめて読込んでいます。)

3,OriginalNameキーワード
モーションエディター上のオブジェクト名が記述されます。通常は3DAファイル内における名前と同じですが、〔ファイル>3DAの読込み〕コマンドで「1個のオブジェクトとして読込み」ボックスにチェックを入れて読込むと、"!_ALL_!"と記述されます。

記述例:

OriginalName  "!_ALL_!"

(3DAファイル内のオブジェクトを1つにまとめて読込んでいます。)

4,Colorキーワード
オブジェクトのスクリーン上の色がRGB値で記述されます。

記述例:

Color  204   204   204 

(このオブジェクトのスクリーン上の色は赤 = 204、緑 = 204、青 = 204です。)

5,Modulationキーワード
この直前に記述されたデータに対してモジュレーションの設定がされている時に記述されます。この直後に続くKeyframeキーワードは、モジュレーションのキーフレーム上における各種数値を表しています。なお、このModulationキーワードは、MESHセクションの他にLIGHTセクションCAMERAセクションにも記述されますが、それらは全てここで説明された物と同一です。

6,Keyframeキーワード
モジュレーションの、キーフレーム上における各種数値が記述されます。オブジェクトの位置や角度などを表すKeyFrameキーワードとは違いがある事に注意してください。
また、Modulationキーワードの直前に何のキーワードが記述されているかによっても違いが生じます。

記述例:(色のモジュレーションの時)

Keyframe  0 
0.0  0.8  0.8  0.8 
 2  0.0  0.0  0.0  0.0  0.0 

(キーフレーム番号0の時、

R = 0.8、G = 0.8、B = 0.8

です。)

記述例:(「距離」のモジュレーション(LIGHTセクション)の時)

Keyframe  0 
256.0  0.0  0.0  0.0 
 2  0.0  0.0  0.0  0.0  0.0 

(キーフレーム番号0の時、

距離 = 256.0

です。)

記述例:(「中心の広がり」のモジュレーション(LIGHTセクション)の時)

Keyframe  0 
0.40003  0.0  0.0  0.0 
 2  0.0  0.0  0.0  0.0  0.0 

(キーフレーム番号0の時、

中心の広がり = 0.40003

です。)

記述例:(「周囲の広がり」のモジュレーション(LIGHTセクション)の時)

Keyframe  0 
0.185878  0.0  0.0  0.0 
 2  0.0  0.0  0.0  0.0  0.0 

(キーフレーム番号0の時、

周囲の広がり = 0.185878

です。)

記述例:(アッテネーションのモジュレーション(LIGHTセクション)の時)

Keyframe  0 
0.0  1.0  0.0  0.0 
 2  0.0  0.0  0.0  0.0  0.0 

(キーフレーム番号0の時、

アッテネーション1 = 1.0
アッテネーション2 = 0.0
アッテネーション3 = 0.0

です。)

記述例:(「ズーム倍率」のモジュレーション(CAMERAセクション)の時)

Keyframe  0 
1.093332  0.0  0.0  0.0 
 2  0.0  0.0  0.0  0.0  0.0 

(キーフレーム番号0の時、

Field = 1.093332

です。)

7,Glossキーワード
8,
Emissiveキーワード
9,
Specularキーワード
10,
Textureキーワード
これらは、古いバージョンのMSQファイルにおいて、レンダリング用データとして使用されていましたが、現在のバージョンでは使用されていません(これらのデータはRSMファイルに記述されています)。

記述例:

Gloss 100.0 
Emissive 0.0  0.0  0.0 
Specular 1.0  1.0  1.0 


11,Qualityキーワード
オブジェクトのスクリーン上の表示モードが記述されます。ここに記述される番号は、以下の様に分類されます。

0…ワイヤーフレームモード
1…フラットシェーディングモード
2…スムーズシェーディングモード
3…テクスチャーつき
5…ボックス表示モード

記述例:

Quality  3 

(このオブジェクトは、テクスチャーが貼られた状態で表示されます。)

12,ShadingAngleキーワード
シェーディング角度が弧度法で記述されます。シェーディング角度とは、「スムーズシェーディング時に何度未満の角度の場合にスムーズ処理を行うか」を決定する角度です。

記述例:

ShadingAngle 1.57 

(シェーディング角度は、1.57 X 180 / 3.14 = 90度です。)

13,Pivotキーワード
オブジェクトの中心点が、オブジェクト座標系の座標で記述されます。

記述例:

Pivot 0.0 0.0 0.0

(このオブジェクトの中心点の座標は、X = 0.0、Y = 0.0、Z = 0.0です。)

14,KeyFrameキーワード
オブジェクトのキーフレーム上における位置や角度などが記述されます。Modulationキーワードの直後に記述されるKeyframeキーワードとは違いがある事に注意してください。ここに列挙される数字は順に「キーフレーム番号」「オブジェクトの位置(X,Y,Z)」「オブジェクトの拡大率(SX,SY,SZ)」「オブジェクトの回転角(H,P,B)」「リニア(1)/非リニア(0)」「バイアス」「連続性」「テンション」「イーズトゥ」「イーズフロム」を表します。

記述例:

KeyFrame       0 
0.0 2197.819336 1047.459961 0.246978 0.246978 0.246978 
0.0 -0.01 0.0      1 0.0 0.0 0.0 0.0 0.0 

(キーフレーム番号0の時、

X = 0.0、Y = 2197.819336、Z = 1047.459961
SX = 0.246978、SY = 0.246978、SZ = 0.246978
H = 0.0、P = -0.01、B = 0.0
リニア、バイアス = 0.0、連続性 = 0.0、テンション = 0.0、イーズトゥ = 0.0、イーズフロム = 0.0

です。)

なお、このKeyFrameキーワードは、MESHセクションの他にLIGHTセクションDUMMYセクションCAMERAセクションにも記述されますが、それらは全てここでの説明と同一のものです。

15,HLimitsキーワード
インバースキネマティックス(以下、IK)の、ヘディング(H)の最小角度と最大角度が度数法で記述されます。

記述例:

HLimits -180.0 180.0 

(IKの、ヘディングの最小角度は-180.0度で、最大角度は180.0度です。)

16,UseHキーワード
IKの、ヘディングの最小、最大角度を有効にするかどうかが記述されます。この値が1の時が有効で、0の時が無効です。

記述例:

UseH  1 

(IKの、ヘディングの最小、最大角度は有効です。)

17,PLimitsキーワード
IKの、ピッチング(P)の最小角度と最大角度が記述されます。

記述例:

PLimits -180.0 180.0 

(IKの、ピッチングの最小角度は-180.0度で、最大角度は180.0度です。)

18,UsePキーワード
IKの、ピッチングの最小、最大角度を有効にするかどうかが記述されます。この値が1の時が有効で、0の時が無効です。

記述例:

UseP  1 

(IKの、ピッチングの最小、最大角度は有効です。)

19,BLimitsキーワード
IKの、バンキング(B)の最小角度と最大角度が記述されます。

記述例:

BLimits -180.0 180.0 

(IKの、バンキングの最小角度は-180.0度で、最大角度は180.0度です。)

20,UseBキーワード
IKの、バンキングの最小、最大角度を有効にするかどうかが記述されます。この値が1の時が有効で、0の時が無効です。

記述例:

UseB  0 

(IKの、バンキングの最小、最大角度は無効です。)

21,IKAnchorキーワード
IKを禁止するかどうかが記述されます。この値が1の時、IKは禁止され、0の時はIKが有効になります。

記述例:

IKAnchor  1 

(IKを禁止します。)

22,ObjectPlugInキーワード
オブジェクトに使用されているプラグインの番号と、設定されているパラメーターが記述されます。この時のプラグイン番号は、PLUG-INSセクションの記述順に0、1、2…と割り当てられた番号です。

記述例:

ObjectPlugIn 0 "82 110 100"

(プラグイン番号0番のパラメーターは、順に「82」「110」「100」です。)

23,Skeltonキーワード
オブジェクトにボーンが設定されている時に、このキーワードが記述されます。このキーワード以降は、ボーンに関する設定を記述します。

24,Boneキーワード
ボーン番号と、そのボーンの名前が記述されます。

記述例:

Bone 0 "BodyBone"

(ボーン番号0番の名前は"BodyBone"です。)

25,ParentBoneキーワード
親オブジェクトがボーンである時、親ボーンのボーン番号が記述されます。

記述例:

ParentBone     0 

(親ボーンのボーン番号は0番です。)

26,Lengthキーワード
ボーンの長さが記述されます。

記述例:

Length        42

(このボーンの長さは42です。)

27,Rangeキーワード
古いバージョンのMSQファイルにおいてボーンの範囲を示すために使用されていましたが、現在のバージョンでは後述するRangeXRangeYキーワードが作成されたことにより、古いバージョンとの互換性を保つためだけに存在しています。

記述例:

Range         50

(このボーンの効果範囲は50です。)

28,RangeXキーワード
ボーンの座標系における、X方向のボーンの効果範囲(範囲2)が記述されます。

記述例:

RangeX  18 

(このボーンの、X方向のボーンの効果範囲は18です。)

29,RangeYキーワード
ボーンの座標系における、Y方向のボーンの効果範囲(範囲1)が記述されます。

記述例:

RangeY  14

(このボーンの、Y方向のボーンの効果範囲は14です。)

30,Attributeキーワード
ボーンに設定されているアトリビュート番号が記述されます。

記述例:

Attribute  0 

(このボーンに設定されているアトリビュートの番号は0番です。)

31,Orientationキーワード
ボーンが、水平ボーンであるか垂直ボーンであるかが記述されます。この値が0の時が水平ボーンで、1の時が垂直ボーンです。

記述例:

Orientation    0 

(このボーンは水平ボーンです。)

32,LastScaleキーワード
ボーンが最後にアクティブになった時のX、Y、Z方向の拡大率が記述されます。この数値をテキストエディタなどで変更しようとするのは避けてください。

記述例:

LastScale 16.39383 16.39383 16.39383


33,LastMatrixキーワード
ボーンが最後にアクティブになった時の移動量を示す4 X 4マトリクスのパラメーターが記述されます。この数値をテキストエディタなどで変更しようとするのは避けてください。

記述例:

LastMatrix 
 6.099857E-02   0   0   0  -4.074245E-16   6.099858E-02   1.108853E-10   0  -1.355713E-18   4.410139E-12   6.099857E-02   0   4.391897E-05  -2.015747  -11.8231   1  


34,Tensionキーワード
ボーンのVRレートの設定が記述されます。この数値は、VRレートを5倍した数値になっています。

記述例:

Tension 0.5 

(このボーンのVRレートは0.5 / 5 = 0.1です。)

35,PrevHPBキーワード
ボーンが最後にアクティブになった時の回転量をヘディング、ピッチング、バンキングの順に記述されます。この数値をテキストエディタなどで変更しようとするのは避けてください。

記述例:

PrevHPB 0.0  0.0  0.0 


36,IgnoreRangeキーワード
ボーンの効果範囲を無視するかどうかを記述します。この値が0の時、ボーンの効果範囲は有効で、1の時は無効になります。

記述例:

IgnoreRange  0 

(このボーンの効果範囲は有効です。)

37,Activeキーワード
ボーンがアクティブになっている時に、このキーワードが記述されます。

38,ActiveCoordsキーワード
ボーンが最後にアクティブになった時の移動、回転、拡大・縮小量が(それぞれX、Y、Zの順に)記述されます。この数値をテキストエディタなどで変更しようとするのは避けてください。

記述例:

ActivateCoords 143.7465 -3.603681 1071.937 -1.284137 -16.21169 -2.071168 8.54264 -2.436954 13.77832


IV,LIGHTセクション
LIGHTセクションには、ライトに関する情報がライト毎に記述されます。LIGHTセクションのサンプルはこちら。

1,Lightキーワード
ライトの名前が記述されます。これ以降は、ここに記述されているライトの情報が記述されます。

記述例:

Light "light1" 

(このライトの名前は"light1"です。)

2,Colorキーワード
このライトのスクリーン上の色がRGB値で記述されます。

記述例:

Color  204   204   204 

(このライトのスクリーン上の色は赤 = 204、緑 = 204、青 = 204です。)

3,Typeキーワード
ライトの種類が番号で記述されます。ここに記述される番号は、以下の様に分類されます。

1…点光源
2…スポットライト
3…平行光源
4…平行点光源

記述例:

Type  4 

(このライトは平行点光源です。)

4,RGBキーワード
ライトが発している色がRGB値で記述されます。

記述例:

RGB 204  204  204 

(このライトが発している色は赤 = 204、緑 = 204、青 = 204です。)

5,Rangeキーワード
ライトの光が届く距離が記述されます。なお、平行光源および平行点光源の時には、この値は適用されません。

記述例:

Range 256.0 

(このライトの光が届く距離は256.0です。)

6,Umbraキーワード
ライトの「中心の広がり」の設定が弧度法で記述されます。なお、スポットライト以外の時には、この値は適用されません。

記述例:

Umbra 0.40003 

(このライトの「中心の広がり」は、0.40003 X 180 / 3.14 = 22.93166度です。)

7,Penumbraキーワード
ライトの「周囲の広がり」の設定が弧度法で記述されます。なお、スポットライト以外の時には、この値は適用されません。

記述例:

Penumbra 0.500038 

(このライトの「周囲の広がり」は、0.500038 X 180 / 3.14 = 28.664599度です。)

8,Attenuation0キーワード
9,
Attenuation1キーワード
10,
Attenuation2キーワード
3つのアッテネーションの値が記述されます。

記述例:

Attenuation0 0.0 
Attenuation1 0.0 
Attenuation2 0.00001

(このライトのアッテネーションは、順に「0.0」「0.0」「0.00001」です。)


V,DUMMYセクション
DUMMYセクションには、ダミーオブジェクトに関する情報がダミーオブジェクト毎に記述されます。DUMMYセクションのサンプルはこちら。

1,Dummyキーワード
ダミーオブジェクトの名前が記述されます。

記述例:

Dummy "Dummy1"

(このダミーオブジェクトの名前は"Dummy1"です。)

2,Colorキーワード
ダミーオブジェクトの、スクリーン上の色がRGB値で記述されます。

記述例:

Color  204   204   204

(このダミーオブジェクトのスクリーン上の色は、赤 = 204、緑 = 204、青 = 204です。)


VI,CAMERAセクション
CAMERAセクションには、カメラに関する情報がカメラ毎に記述されます。CAMERAセクションのサンプルはこちら。

1,Cameraキーワード
カメラの名前が記述されます。これ以降は、ここに記述されているカメラの情報が記述されます。

記述例:

Camera "camera1"

(このカメラの名前は"camera1"です。)

2,Colorキーワード
カメラの、スクリーン上の色がRGB値で記述されます。

記述例:

Color  204   204   204 

(このダミーオブジェクトのスクリーン上の色は、赤 = 204、緑 = 204、青 = 204です。)

3,Fieldキーワード
「ズーム倍率」の設定が記述されます。この数値は、「ズーム倍率」の逆数になります。

記述例:

Field 1.093332 

(このカメラの「ズーム倍率」は、1 / 1.093332 = 0.914635です。)

4,Focusキーワード
カメラのターゲットオブジェクトの名前が記述されます。

記述例:

Focus         "cockpit"

(このカメラのターゲットオブジェクトの名前は"cockpit"です。)


VII,HIERARCHYセクション
HIERARCHYセクションには、オブジェクトの親子関係が記述されます。HIERARCHYセクションのサンプルはこちら。

1,Parentキーワード
2,
Childキーワード
親オブジェクトと、その子オブジェクトが記述されます。

記述例:

Parent cockpit Child window Child tail Child side Child propeller Child wing

("cockpit"の子オブジェクトは"window"、"tail"、"side"、"propeller"、"wing"です。)


VIII,DEVICEセクション
DEVICEセクションには、DirectXに関する情報や、モーションエディターの設定などが記述されます。DEVICEセクションのサンプルはこちら。

1,Deviceキーワード
モーションエディターが内部的に使用する情報が記述されます。この数値をテキストエディタなどで変更しようとするのは避けてください。

記述例:

Device
0.033064  -0.012779  0.0 
-351.42099  2015.246948  -277.993286 
700.0 
 2 
672.249817  338.596069 
2861.434326  249.100296 
1091.231079  665.112244 
20.57242 


2,BackGroundキーワード
エディットスクリーンの背景色のRGB情報を記述します。この数値は、RGB値をそれぞれ255で割った値になります。

記述例:

Background
0.070588  0.0  0.431373 

(背景色は、赤 = 0.070588 X 255 = 204、緑 = 0.0 X 255 = 0、青 = 0.431373 X 255 = 110です。)

3,Imageキーワード
エディットスクリーンの背景イメージとして使用するファイル名を記述します。

記述例:

Image "C:\Program Files\3da25\texture\black.bmp"

(使用している背景画像は"C:\Program Files\3da25\texture\black.bmp"です。)


IX,RENDERセクション
RENDERセクションには、レンダリング時の設定などが記述されます。RENDERセクションのサンプルはこちら。

1,RenderSettingsキーワード
「レンダリング設定」ウィンドウで設定される各種数値や設定が記述されます。ここに列挙される数字は順に「開始フレーム番号」「終了フレーム番号」「フレームサイズ」「アンチエイリアシング」「選択したカメラ番号」「出力ファイル名」「カラーモード」「両面表示の有無(両面表示の時1、両面表示をしない時0)」を表します。

記述例:

RenderSettings 0 110 0 3 0 2 1 0

(開始フレーム番号…0
終了フレーム番号…110
フレームサイズ…320 X 240
アンチエイリアシング…高
選択したカメラ番号…0
出力ファイル名…Name001
カラーモード…32768色
両面表示の有無…両面表示しない)

「フレームサイズ」「アンチエイリアシング」「出力ファイル名」「カラーモード」の番号は、それぞれ以下の様に分類されます。

フレームサイズ

0…320 X 240
1…640 X 480
2…800 X 600
3…1024 X 768

アンチエイリアシング

0…なし
1…低
2…中
3…高

出力ファイル名

0…Name1
1…Name01
2…Name001
3…Name0001

カラーモード

0…256
1…32768
2…ディザA.
3…ディザB.
4…フルカラー


2,Attributesキーワード
レンダリング時に使用するRSMファイルの数とRSMファイル名が記述されます。通常は、使用している3DAファイルと同じ数だけ記述されます。

記述例:

Attributes 2
"C:\Program Files\3da25\programs\RendME\HERI5.RSM"
"NONE"

(1番目の3DAファイルに適用するRSMファイルは"C:\Program Files\3da25\programs\RendME\HERI5.RSM"です。
2番目の3DAファイルはレンダリング設定がされていません。)

3,BGImageキーワード
レンダリング時に背景イメージを使用するかどうか、および使用するBMPファイル名が記述されます。背景イメージを使用するときは1、使用しないときは0が記述されます。

記述例:

BGImage 1
"C:\Program Files\3da25\texture\black.bmp"

(使用している背景イメージは"C:\Program Files\3da25\texture\black.bmp"です。)

4,Reflectionキーワード
反射マッピングが有効かどうか(有効の時1、無効の時0)、反射マッピングの時に使用するBMPファイル数(1、2、6)、および使用するBMPファイル名が記述されます。

記述例:

Reflection 1 1
"C:\Program Files\3da25\texture\black.bmp"

(反射マッピングに"C:\Program Files\3da25\texture\black.bmp"1枚を使用します。)

5,Fogキーワード
フォグが有効かどうか(有効の時1、無効の時0)、何色に設定するか、およびフォグ効果の距離が記述されます。

記述例:

Fog 1 255 89 84 50

(赤 = 255、緑 = 89、青 = 84、フォグ効果の距離50のフォグに設定します。)


↑Top

Copyright (c) 1999____

Micronet co.,Ltd
  Micronet Software Manila Inc.