RS用構文の基本

PI製作において詰まりやすいところを簡単に解説しちゃうシリーズ第二弾

PI製作において、結構ハードルが高いのが構文。私も一度か二度ここら辺で挫折しています。
ですが、英語の単語の意味が分かれば情報科学の知識が全くなくともなんとな~くですが書いていけるので、モデルはできたけど構文が組めないからPI製作諦めたぜって方は勿体ないので書いちゃいましょう。

1.まずは大原則
・機械は命令に忠実に動く
機械に融通は通用しません。書かれた構文に忠実に作動する、それだけです。
なので、構文が少しでも違うとエラーとなり動きません。
基本となる構文と少しも違わず書くことが何より重要です。

・中括弧{}は必ず閉じる
この括弧閉じのミスが構文エラーの9割を占めます。ソースは私w
ちゃんと閉じてるか逐一確認していきましょう。

・「;」を忘れずに
構文エラーランキング第二位。ちっさいですけど重要みたいです。忘れずに。

2.大まかな構成
構文の大まかな構成を紹介しておきます。
・「PluginHeader」
いわゆるプラグインビュワーの説明書きです。
基本となる構文は以下の通り
/////////////////////////////////////
PluginHeader{
RailSimVersion = 2.00;
PluginType = Train;
PluginName = “東武8000系先頭車”;
PluginAuthor = “kokuden101”;
IconTexture = “../Common_k101/tokyu/circleK.png”;
Description = “私鉄の103系と呼ばれ、20年余りに渡って700両近く大量生産された東武を代表する通勤車です。”;
}
///////////////////////////////////
「RailSimVersion」というのは見ての通りバージョンです。
2012年始現在では2.13までリリースされていますが、よほど高度なギミックを組み込まない限り2.00で全く問題ないと思います。
「PluginType」とはプラグインの種類です。
車両プラグインなので「Train」です。
「PluginName」はプラグイン名。ここでは「東武8000系先頭車」となっています。
(事業者名)+(形式)+(α)という形がビュワー上で一番見やすいかと。
プラグインによって変えましょう。
「PluginAuthor」はプラグイン作者名。
お好きなように・・・
「IconTexture」はプラグインの左に表示されるアイコンのテクスチャ
アイコンの場所を相対パスで入力してください。別になけりゃそれでいいですけどね。
私はテキトーに東急車に使うサークルKマークをそのまま使っています。
「Description」は車両についての説明。
できるだけ簡潔にわかりやすく書きましょう。
私は一度たりとも書いたことがないのですがw

・「TrainInfo」
TrainInformation、つまり車両についての情報です。
基本となる構文は以下の通り
/////////////////////////////////////////////
TrainInfo{
FrontLimit = 9.9;
TailLimit = -10.2;
MaxVelocity = 120.0;
MaxAcceleration = 3.2;
MaxDeceleration = 4.5;
DoorClosingTime = 2.5;
}
/////////////////////////////////////////////
「FrontLimit」は、車両中心から前方の連結器までの距離です。
東武8000系は20m級なので10m前後になりますね。
「TailLimit」は車両中心から後方の連結器までの距離です。
この二つの数値によって、車両の連結面間隔が決まります。
「MaxVelocity」は最高時速です。
最近の電車なら100から110くらいが普通かな。
東武8000系の数値は東急8500系から数値を変えてないので正直高すぎました。反省していますw
「MaxAcceleration」は所謂起動加速度。
ここら辺はWikipediaさんの方に載ってますので、そのまま写したらいいかと思います。
これも東急8500系から数値変えてないので性能高すぎですw
「MaxDeceleration」は所謂最大減速度。
常用最大を設定するか非常を設定するかはお好みで。
「DoorClosingTime」はドアの閉まるのに要するトータルの時間。
あまり詳しくはないのですが、設定された開閉時間よりも停車する時間が長かったらドアを開きます。
まあ、そんな目安なので1から2秒くらいを設定しておけば問題ありません。
もっと詳しい設定は後にしますので。

・「DefineSwitch」
みんな大好きスイッチの定義(作成)を行います。
ただ、作成するだけで、詳細な設定は後の「ApplySwitch」スイッチで行いますので、ここではあくまで名前付けくらいだと思ってください。
基本となる構文は以下の通り
/////////////////////////////////////////////
DefineSwitch “形態”{
(GroupCommon = “東武8000系形態”;)
    Entry = “後期修繕車”;
    Entry = “後期修繕車(HID)”;
    Entry = “初期修繕車”;
    Entry = “初期修繕車(LED)”;
}
/////////////////////////////////////////////
「DefineSwitch」の横はスイッチ名です。
適当な名前を入れてください。
「GroupCommon」はオプションです。編成の一括設定を行う場合には入れておきましょう。(もちろん括弧を外して)
これを使用するのは例えば方向幕。編成全体で連動させようと思った場合、これを入れておくと、どこか一つの車両のスイッチを操作したときに、他の車両のスイッチも連動します。
編成を組む上でかなり便利になる機能ですが、あまり使いすぎると逆に自由度が落ちるので、ご利用は計画的に。
私は方向幕、パンタグラフ上げ下げ、時に車番設定で使用しています。
「Entry」以下はスイッチの項目です。増やしたければいくらでもどうぞ。ただ、ありすぎても・・・って感じですのでいくつかの項目の少ないスイッチを組み合わせて多くのパターンを生み出すのも一つの手です。発展的ですけどね。

・「PrimaryAssembly」
ようやく車両モデルを設定する段階になりました。
基本となる構文は以下の通り
/////////////////////////////////////////////
PrimaryAssembly{
(車輪に関する設定)
(台車に関する設定)
(車体に関する設定)
(ドアなど付帯部品に関する設定)
(サウンドに関する設定*オプション)
(レンズフレアに関する設定)
(運転台視点に関する設定)
}
/////////////////////////////////////////////
構文の核となる3Dモデルを扱う設定は、全てこの「PrimaryAssembly」内で行います。
詳しい説明はまた後日?

タイトルとURLをコピーしました