定義ファイル作成はPI製作で言うと最後の段階になります。
Metasequoiaなどでモデリングしたファイルを定義ファイルで指定して
RailSimに読み込ませます。まずは定義ファイルの基本についてです。
定義ファイルの基本
・C言語に近い文法で設計されている。
・必要な設定は決められた書式の関数で指定する。
・文の終わりには";"をつける。(C言語同様)
・ファイル名は車輌PIの場合「Train2.txt」固定
基本的な文法は施設PIで習得することをお勧めします。
ではまず基本的な情報を設定するブロックです。
PluginHeader{
RailSimVersion = 2.xx;
PluginType = Train;
PluginName = "xxx";
PluginAuthor = "xxx";
IconTexture = "path";
Description = "xxx";
}
施設PIなど、他のPIの製作経験があればこの辺りは知ってますよね?
ということで各文に対する説明は割愛します。
次に車輌PI用の設定のブロックです。
TrainInfo{
FrontLimit = x.x;
TailLimit = x.x;
MaxVelocity = x.x;
MaxAcceleration = x.x;
MaxDeceleration = x.x;
DoorClosingTime = x.x;
}
ここでは、車輌長や最高速度など、車輌PIならではの設定を行います。
連結面の位置をm単位で設定します。
これらに設定する値は必ずFrontLimit >= TailLimitでないといけません。
車輌長20mで中央寄せした場合、FrontLimitは10.0、TailLimitは-10.0が妥当です。
車輌の最高速度をkm/h単位で設定します。
- MaxAcceleration文 & MaxDeceleration文
車輌の加速度・減速度を設定します。
場面の広さが限られているRailSimでは、実際より少し大きめの値を設定するのも
かなり有効な手段のようです。
ドアの閉まり始めから列車が走り始めるまでの時間を設定します。
必要ない場合この文は省略可能です。
ここまではOKですか?本題はここからです。いよいよモデルの設定にはいります。
PrimaryAssemblyブロックですべて設定します。
このブロックは大きく分けて4つの要素で構成されています。
PrimaryAssembly{
Axle{
~~
}
Body{
~~
}
Object3D/ObjectZY/TriangleZY/CrankZY/PistonZY{
~~
}
FrontCabin/TailCabin{
~~
}
}
それぞれの要素をひとつずつ解説していきましょう。
1.車輪を設定しよう! (Axleブロック)
さて、鉄道車両ですから、もちろん車輪が無ければ走れません。
このブロックでは、その車輪を定義します。
この構文は、以下のような構成になっています。
Axle "xxx"{
ModelFileName = "path";
ModelScale = x.x;
Turn = yes/no;
CastShadow = yes/no;
[customizer]
Diameter = x.x;
Symmetric = xx;
Coord = (x.x,x.x);
WheelSound = yes/no;
}
それでは、要素を一つ一つ解説していきましょう。
ここで車輪を定義するぞ、という印です。
直後の""の中にはオブジェクト名を書きます。
オブジェクト名は、台車や車体を載せるときに、重要な役割を果たします。
絶対に書いてください。
使うオブジェクトのXファイルを指定します。
""の中には、"../../Train/common/XX.x"の様に、パスを作成することもできます。
この要素は省略できます。
Xファイルを使用する際の、スケールを指定します。
未記入の場合、自動的に1.0が設定されます。
この要素は省略できます。
オブジェクトの配置時に、上下が逆転してしまった際に使用します。
yes指定で、上下が逆転します。
未記入の場合、自動的にnoが設定されます。
この要素は省略できます。
このオブジェクトが影を落とすかどうかを指定します。
省略すると、ここではyesがセットされます。
影に関してはさらに詳しい設定も出来ます。
詳しくはshadow-inhibitorカスタマイザを参照して下さい。
外観や、動作に関する、さまざまな設定ができます。
詳しくは、
こちらを参照してください。
車輪の直径を、m単位で指定します。
指定した直径に応じて、車輪の回転する速さが決まります。
なお、0.0を指定すると回らなくなります。
車輪が対称な多角形であるとき、角の数を書きます。
これは、車輪が高速で回転している時に逆回転して見えるのを防ぐ機能です。
車輪が対称な多角形でない時は、1を書き込みます。
車輪の位置を、m単位で指定します。
センターからの距離を、前後方向、上下方向の順で書きます。
上下方向は、車輪の半径を指定すると、丁度いいです。
この要素は省略できます。
レールプラグインにセットされた継ぎ目の音を鳴らすかどうか設定します。
省略すると、yesがセットされます。
Axleブロックは、車軸の数だけ記述します。
電車が線路の上を走る為のとても大切な部分ですので、しっかり設定して下さいネ。
2.台車と車体を設定しよう! (Bodyブロック)
車輪ができたら、その上に載る台車、そして車体を設定します。
このブロックは次のような構成になっています。
Body "xxx"{
ModelFileName = "path";
ModelScale = x.x;
Turn = yes/no;
CastShadow = yes/no;
[customizer]
JointZY "xxx"{
AttachCoord = (x.x,x.x);
LocalCoord = (x.x,x.x);
}
JointZY "xxx"{
AttachCoord = (x.x,x.x);
LocalCoord = (x.x,x.x);
}
Tilt{
~~
}
}
Bodyの後ろの""にはやはりオブジェクト名を書きます。
たとえば、Bogie1、Body、などなど。
ModelFileNameからcustomizerまではAxleブロックと同様です。
ここでは、主にJointZYについて解説しましょう。
オブジェクトを支える点を、前後方向と上下方向で指定します。
点がひとつでは当然支えられませんので、2つ指定します。
直後の""の中には固定先のオブジェクト名を書きます。
気をつけてください。
先ほど指定したオブジェクトから見た点の位置を、m単位で前後、上下の順で記述します。
今設定しているオブジェクトから見た点の位置を、m単位で前後、上下の順で記述します。
この要素は省略できます。
オブジェクトの振り子運動について記述します。
長くなるので
こちらを参照して下さい。
2軸車なら直接車体を、ボギー車ならまず台車を、その上に車体を載せるなどします。
※ここから先、編集中です。しばらくお待ちください※
※編集協力者募集!※
3.付属パーツを設定しよう! (Object3D/ObjectZY/TriangleZY/CrankZY/PistonZYブロック)
4.運転台視点を設定しよう! (FrontCabin/TailCabinブロック)
最終更新:2018年11月03日 10:11