跳到內容

方向幕

本頁內容尚未翻譯。

このページでは、RealTrainMod(RTM)のモデルパック制作で、方向幕(行先表示器)の実装方法について説明します。

方向幕を実装するには、以下の2つのファイルが必要です。

  • 方向幕テクスチャ:方向幕に表示する画像データ
  • JSONの設定:方向幕をどこに表示するか、どの画像を使うかなどの設定

JSON設定には、以下の3つの項目が必要です。

  • "rollsignTexture":方向幕テクスチャの場所
  • "rollsignNames":行先の名前(ゲーム内で選ぶときの名前)
  • "rollsigns":表示する位置やサイズの設定

方向幕テクスチャは、1枚の画像にすべての行先(コマ)を縦に並べたものです。

前面と側面で違う幕を使用する場合など、複数枚の方向幕を使いたい場合は、1枚の画像の中にすべてのパターンを配置して設定で使い分けます。

JSONファイルに記述する設定項目について説明します。

方向幕テクスチャの画像ファイルがどこにあるかを指定します。

"rollsignTexture": "textures/train/N700S/rollsign.png"

それぞれのコマの名前を配列で設定します。ここに記載した名前が、ゲーム内で列車のインベントリで行先を選ぶ際に表示されます。

"rollsignNames": [
"None", // 1番上のコマ(例:消灯)
"Not_In_Service", // 2番目のコマ(例:回送)
"Out_Of_Service", // 3番目のコマ(例:試運転)
"Nozomi_Tokyo", // 4番目のコマ(例:のぞみ 東京)
"Nozomi_Shinosaka",
"Nozomi_Hakata",
"Hikari_Tokyo",
"Hikari_Shinokasa",
"Hikari_Hakata",
"Kodama_Tokyo",
"Kodama_Shinokasa",
"Kodama_Hakata"
]

方向幕を「どこに」「どの大きさで」「画像のどの部分を使って」表示するかを設定します。

"rollsigns" の中は、複数の設定のオブジェクトをまとめた配列になっています。前面幕、側面幕など、種類ごとに設定を追加します。

"rollsigns": [
{ // ---- 1つ目の方向幕の設定(例:前面幕) ----
"uv": [0.0, 1.0, 0.5, 1.0],
"pos": [
[[-1.5, 2.3, -7.7], [-1.5, 2.2, -7.7], [-1.5, 2.2, -8.4], [-1.5, 2.3, -8.4]],
[[1.5, 2.3, -8.4], [1.5, 2.2, -8.4], [1.5, 2.2, -7.7], [1.5, 2.3, -7.7]]
],
"doAnimation": false,
"disableLighting": false
}, // -------------------------------------
{ // ---- 2つ目の方向幕の設定(例:側面幕) ----
"uv": [0.5, 1.0, 1.0, 1.0],
"pos": [
[[-1.5, 2.3, -7.7], [-1.5, 2.2, -7.7], [-1.5, 2.2, -8.4], [-1.5, 2.3, -8.4]],
[[1.5, 2.3, -8.4], [1.5, 2.2, -8.4], [1.5, 2.2, -7.7], [1.5, 2.3, -7.7]]
],
"doAnimation": false,
"disableLighting": false
} // -------------------------------------
]

それぞれの設定項目の意味は以下の通りです。

用意した方向幕テクスチャのうち実際にどの範囲を使用するかを指定します。

"uv": [/*横の開始位置*/, /*横の終了位置*/, /*縦の開始位置*/, /*縦の終了位置*/]

開始位置、終了位置の数値は画像の端から端までを0.0~1.0の範囲で表した割合で指定します。ピクセル数(px)ではないので注意する必要があります。

  • 0.0:左端 / 上端(0%, 0.1
  • 0.5:真ん中  (50%, 0.5
  • 1.0:右端 / 下端(100%, 1.0

例えば、画像の左半分を使いたい場合は、以下のように指定します。

"uv": [0.0, 0.5, 0.0, 1.0]

この場合には、「横は0.0(左端)から0.5(真ん中)まで、縦は0.0(上端)から1.0(下端)まで使う」という意味になります。

図解(アスキーアート)

これは、実際の画像と指定する値の関係を表した図です。

青色で囲まれた部分が、指定された範囲(左半分)です。
また、緑色と赤色で囲まれた数値がそれぞれ、開始位置と終了位置を示しています。

横:0.0 (左端) 横:0.5 (真ん中) 横:1.0 (右端)
縦:0.0┌───────────┼───座標軸────┼→ U方向(横)
(上端)│┏━━━━━━━━━━┳━━━画像━━━━━┓
┃ ┃
┃ Out of Service ┃
┃ Not in Service ┃
┃ Nozomi Tokyo ┃
┃ Nozomi Shinokasa┃
┃ Nozomi Hakata ┃
~~~~~~~~~~~~~~中略~~~~~~~~~~~~~~
┃ Kodama Hakata ┃
縦:1.0┗━━━━━━━━━━┻━━━━━━━━━━┛
(下端) ↓
V方向(縦)

この図の各数値は、以下のように対応します。

"uv": [横:0.0, 横:0.5, 縦:0.0, 縦:1.0]

方向幕をモデルのどこに配置するかを指定します。
"pos" の中は、さらに配列になっており、左右の側面など複数の場所に同じ方向幕を配置できます。

"pos": [
// 1箇所目の座標(4つの点で1セット)
[[-1.5, 2.3, -7.7], [-1.5, 2.2, -7.7], [-1.5, 2.2, -8.4], [-1.5, 2.3, -8.4]],
// 2箇所目の座標
[[1.5, 2.3, -8.4], [1.5, 2.2, -8.4], [1.5, 2.2, -7.7], [1.5, 2.3, -7.7]]
]

座標指定の方法

  • 1つの場所につき、4つの点(四隅)の座標が必要です。
  • 4つの点は、方向幕を正面から見て 「右上→右下→左下→左上」 の順番(反時計回り)で指定します。
  • 座標は [X, Y, Z] の順で指定します。
  • 単位はメートル(またはMinecraftの1ブロック分)です。
    • Metasequoia 4の場合には、デフォルトの単位がセンチメートル(cm)なので、数値を1/100 にする必要があります。
      例:150cm→1.5

幕回しのアニメーションをするかどうかです。

  • true:アニメーションする(普通の方向幕)
  • false:アニメーションしない(LEDや液晶など、パッと切り替わるもの)
"doAnimation": true

"disableLighting" (発光の無効化)

Section titled “"disableLighting" (発光の無効化)”

方向幕を光らせないようにするかどうかです。

  • false:光らせる(通常の用途 夜間やトンネルでも明るく表示されます)
  • true:光らせない(ヘッドマークや方向幕以外の用途 光る必要がない場合)
"disableLighting": false