Change-Texture

テクスチャを替えるには?

テクスチャを替えるのは、そんな難しい構文は必要ありません。
ある程度、定義ファイルを弄っている人なら簡単に出来るかと思います。
弄ったこともない人も、手軽に出来るので試してみて下さい。
ここでは、方向幕の変更を例として取り上げます…。

1.テクスチャを用意する

これがないと、テクスチャを替える意味が無くなってしまいます。
簡単でいいので、方向幕のテクスチャを用意しましょう。
下の画像は、参考例となります。

2.材質番号を数える

  • メタセコイヤ等で、方向幕のテクスチャが組み込まれているMQOファイルを開く。
  • 材質パネルで、方向幕テクスチャがある材質を数えながら探す。
あくまでも、この方法は一つの例です。他にもあらゆるやり方があると思います。
ここで注意しないといけないことは「材質番号は0から数える」と言うことです。
何故かというと、RailSimは数を1からではなく0から数えているからです。
このことはスイッチの選択肢の数を数えることにも関係します。

3.スイッチを作る

いよいよ、定義ファイルに触れることになります。定義ファイルはテキスト形式なのでメモ帳でも開くことは可能です。しかし、構文エラーなどのミスをしやすいので、強調表示が可能なテキストエディタをおすすめします。
その例として「MKEditor」や「TeraPad」などがあります。また、MKEditorにおいてはRailSim用の強調表示ファイルが有志の手によって公開されているので、こちらも活用する手もあります。

こちらでは、テクスチャを替えるのに必要な構文のみ解説を行います。よって、他の構文の解説は割愛させて頂きます。ご了承下さい。また、定義ファイルの解説はこちらにもありますので併せてご覧ください。
と言うことで、スイッチを作ります。しかし、スイッチだけでは何も起こらないので、動作するようにしないといけません。その点に関しては後ほど解説します。
それでは、次の構文を定義ファイルに打ち込みましょう。コピーではなく自分で打ち込むと覚えますよ。
なお、これは一例に過ぎないので、作る人によって搭載させる幕が違って当たり前です。参考程度でご覧下さい。
DefineSwitch "方向幕"{
GroupCommon = "方向幕";
    Entry = "回送";
    Entry = "団体";
    Entry = "普通";
    Entry = "RailSim新Wiki";
}

さて、1つづつ解説して参ります。
DefineSwitch "方向幕"{
この一文で「方向幕と言うスイッチを作る」と宣言されます。これがあることにより、1つスイッチが作られます。

次はこれです。
GroupCommon = "方向幕";
この一文があることで、編成全体にスイッチで指定した設定を適用させることが出来ます。ですが、""の中にある名前が完全一致して時だけ適用されますのでご注意下さい。また、車両PIだけの設定になります。
先ほどのDefineSwitchと似たような感じですが、混同しないようにして下さい。全く性質が異なります。

続いてはこちらです。
Entry = "回送";
この一文があることで、「回送という選択肢を作る」と宣言されます。つまり、スイッチの選択肢が作られると言うことです。また、DefineSwitchと対になっていますのでEntryだけでは構文エラーが発生します。

最後はこちらです。
}
一見、普通の中括弧ですが、とても重要な役割を果たしています。先に紹介したDefineSwitchの最後に{と言うのがありましたよね。この中括弧で「このスイッチは終わりましたよ」を意味します。つまり、これがないとスイッチ定義が続きますのでご注意下さい。

以上が、スイッチの解説になります。いよいよ、最後の手順になります。

4.スイッチを動作できるようにする+その中にテクスチャを替える構文を入れる

見出しが長いですが、気にしないように。これが最終段階です。頑張りましょう。
それでは、次のようにしてスイッチを動作される様にします。
こちらでは、画像形式をpngとしておりますが、特にこだわる必要性はありません。ただし、仕様上gif形式は使えませんので、その点に注意して使用する形式を選んで下さい。
ApplySwitch "方向幕{
Case 0:
    ChangeTexture = 0,"sidkaiso.png";
Case 1:
    ChangeTexture = 0,"siddantai.png";
Case 2:
    ChangeTexture = 0,"sidfutu.png";
Case 3:
    ChangeTexture = 0,"sidrsnw.png";
}

先ほどと同じように、1つづつ解説して参ります。
ApplySwitch "方向幕{
この一文で「方向幕というスイッチを呼び出す」という宣言をします。つまり、これにより使用するスイッチを定義することになります。

次は、この文です。
Case n:
nというのは仮にn(=number。日本語訳にすると「数字」)としました。nには数字が入ります。
これで、「nのとき」という意味になります。と言うことは、使う選択肢を指定する構文になります。なお、この構文はApplySwitchがあって初めて使える構文ですので、その点はご注意下さい。

続いて、この文になります。
ChangeTexture = 0, "sidkaiso.png";
この一文で「材質番号0のテクスチャを『sidkaiso.png』というテクスチャに替える」という意味になります。つまり、この文でテクスチャを替えることが出来ます。
この構文は単独で使用することが出来ますが、一つだけ条件があります。それは、「モデルファイルを定義している構文の前には置かない」と言うことです。例えば、目的のモデル名が「Body」だとします。車体モデルは大体が「Body "body.x";」のように指定されています。
この構文の前には絶対に置かない、と言うことになります。

最後はこの記号です。
}
先ほどの項で解説しましたが、全く同じ意味を持っています。つまり、ApplySwitchを閉じる記号になります。

この後、RailSimのプラグインビュアー機能を使いデバックを行います。
これで全ての手順がおわりました。最後までお読み頂き、ありがとうございました。
最終更新:2016年03月05日 23:40
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。
添付ファイル