【CSLMod】信号機アセットとBOBのすゝめ

CSLMOD

先日公開しました日本の信号機アセットの使い方について解説します。

アセットを公開しました

Twitterではコソコソ匂わせてきましたが、16日に日本の横型/縦型信号機を更新/公開しました。

名前を「JPTLNS」と言います。

CSLに縦型信号機がないことに気付いてから、他の制作プロジェクトを止めて作業にかかりました。とりあえず実装したかった縦型信号機は公開できたので、一旦JPMSやアーケードなど、進行中の制作プロジェクトにも戻りたいと考えています。

進捗は65%(23日時点)で信号機関連で作りたいものがまだ沢山残っています。第3陣の信号機アセットに関するプロジェクトも、他プロジェクトと並行で進捗を上げていきますのでお楽しみに。

さて、制作した信号機はプロップパックであり、MODではありません。従って、これを導入すると直ちに街中の信号機が皆切り替わる訳ではなく、手動で信号機を変更せねばなりません。この記事では、信号機の変更などができる前提MOD「BOB, the Tree and Prop Replacer」の紹介と解説を行います。

前提MOD「BOB, the Tree and Prop Replacer」とは

2020年8月にα版として、2023年3月29日に正式に公開された本MODは、マップ上のプロップや樹木を自由に置き換えることができます。

マップ上にある(スタンドアロンの)プロップや樹木のみならず、建物やネットワーク上にあるプロップ・樹木についても選択して取り替えることができます。以降の項では主にネットワーク上にあるプロップの置換について扱います。

BOBは「Prop It Up!」「Prop Scaling」「Prop Remover」「Prop Switcher 2」「Japanese Road Arrows」などの移行先になるほか、「Hide It!」「Hide it, Bobby!」などのプロップ除去機能も代替可能です。

BOBにより、ネットワーク上にある全てのプロップを置換する場合は、先述のMODをアンサブスクライブしてください。Hide It!など、ネットワーク上にあるプロップに一部機能が作用するMODは、アンサブスクライブが必須ではありませんが、一部機能を無効化し忘れませんようお気を付けください。

Propや樹木に変更を与えるMODは、シティーズの歴史上において何度も開発されているため、ここで全てを取り上げられません。市長様ご自身のMOD環境に『プロップを除去する』『プロップに変更を与える』『プロップを置き換える』機能を持つMODがないかよく確認の上導入をご検討ください。

なお、以下に列挙するパッケージについては特に後述しますので、最後までご覧ください。

また、上記のいずれかのパッケージを動作前提としているアセットや、「Konno’s Japanese road(“KR2101″などKonno Model氏による日本の道路ネットワークアセット)」を使われている方についても特に後述しますから、最後までご覧ください。

なお先述したMODの内、特に列挙したMODはそのほとんどが現状正常に動作します。あくまでも機能拡充やアップデート対応目的での推奨であり、移行を急かす意図はないことを予めお伝えしておきます。

基礎:ネットワーク上にあるプロップの置換

ネットワーク上にあるプロップ、例えばバス停、速度制限標識、マンホール、電灯。そして信号機。BOBを使えば、これら全てを好きなプロップに置き換えられるのです。

ショートカットキーによる起動も可能ですが、「UnifiedUI」のサブスクライブを推奨します。UUIでBOBのマークをクリックすると、画像のようなパネルが出てきます。機能の紹介がてらJapanese Road Arrowsの機能をBOBで代替していきます。Japanese Road Arrowsの前提アセットであるJapanese Road Markings Packは引き続きサブスクライブしておいてください。

パネル左上の「置換モード」の一番右にある「全てのネットワーク内から、このタイプのProp全て」を予め選択しておきます。これにより、バニラの路面標示を一括で切り替えることができます。

画像は既に切替済みですが、左側のリストから「[v]Road Arrow LF」を、右側のリストから「JP Arrow Forward Left」を選択すると、下の画像のように、マップ上でプレビューされます。おそらく向きが逆かと思いますので、中央のパロメーターから角度を180度に設定し、緑に点いたチェックのボタンをクリックすると、これに置き換えることができます。

オフセットパロメーターを無邪気に動かしたところエラーを吐きましたのであまり無理はしないように
(画像は置き換えたものを分かりやすく無邪気に動かしている様子)

同様にして、路面標示1つ1つを置換することで、マップ上のすべての道路標示を切り替えられるはずです。ちなみに、置換先である日本風の路面標示デカールパックには、左/直進/右の三方向矢印のデカールが存在しません。そこで「[v]Road Arrow LFR」だけは非表示にしてしまいましょう。右のリストで置換先を指定しないか「[v]Road Arrow LFR」を置換先に指定し、出現率のパロメーターを0にしてチェックボタンをクリックすることで表示を消すことができます。

これにて、いずれのネットワークにも「[v]Road Arrow LFR」だけは非表示となり、すべてのネットワークの路面標示は日本風のものへと置換されたはずです。


BOBの使い方は少しわかりましたか?では、本題である信号機の置換作業に取り掛かりましょう。今回は例としてJPTLNSを使います。

信号機を置換モード「全てのネットワーク内から、このタイプのProp全て」を使って置き換えます。設定ミスはあるあるなので、もし間違えて置換してしまった場合は、上の画像の操作から「選択した置換を元に戻す」を押して操作をやり直してください。うまく置換できない場合にもリセットは有効ですから試してみるといいですよ。

この機能を使い、以下5種の信号プロップを置き換えます。(リストはあくまで例です)

  • [v]Traffic Light 01 → JPTLnsMainP_A1
  • [v]Traffic Light 01 Mirror → JPTLnsSubH_A01 or JPTLnsSubV_A01
  • [v]Traffic Light 02 → JPTLnsSubH_A01 or JPTLnsSubV_A01
  • [v]Traffic Light 02 Mirror → JPTLnsMainP_A1
  • [v]Traffic Light Pedestrian → JPTLnsSubH_A01 or JPTLnsSubV_A01

※道路の運用によってはすべての信号プロップを置換しなくてよい場合もあります。

これにより、信号機を全て置換することができるはずです。

応用:ネットワーク上にあるプロップの置換

「全てのネットワーク内から、このタイプのProp全て」は基礎的な置換ですが、他の置換モードを使うことで、さらに高度に信号機を配置できます。

例えば上の画像では、高規格道路の信号機全てに車両用灯器がついていますし、横断歩道に当たる部分にしっかりと歩行者灯器が向いていますね。では実際にこれの通りに置換してみましょう。

先述したリスト通りに信号機を置換すると、ネットワークから交差点を見て左側にある信号機は上の画像通りにはなっていないはずです。右側にある信号機をぐるっと180度回転させたような見た目になっているはずです。右側は画像と同じ信号になっているはずですから、左側の信号だけを置換したいですね。

そこで置換モード「これらのネットワーク内にある、個々のProp」を使います。種類が一気に増えたように見えますが、これまでまとめて表示していた項目が1つずつ全て表示されて数が増えたにすぎませんから、実際は増えていません。既に置換を適用しているものには左側にマークが出ますので、これを頼りに再度置換したい信号機を選択します。

選択しているものが分かりにくかったり、プレビューが明らかにおかしいときは、「全てのネットワーク内から、このタイプのProp全て」置換モードのさらに右に追加されるレーン選択をもとに、レーンごとに検索して置換しましょう。

[v]Traffic Light Pedestrian
→ JPTLnsSubH_A01 or JPTLnsSubV_A01
→ JPTLnsMainH_A01 or JPTLnsMainV_A01

このようにして、予め置換しておいた右または左の信号機と対の信号機だけを切り替えることにより、信号機を一部だけ切り替えることができます。

JPTLnsの命名規則について

BOBは交差点の信号機を個々に切り替えることができる為、左右それぞれに別種の信号プロップを配置することを設計段階から予め想定しています。

“ノード(交差点)とセグメント(道路)の境界に”、”セグメントからノードを見て”、左側においてふさわしい信号機を「Main」、右側においてふさわしい信号機を「Sub」と命名しています。

Main・Subに続くH・V・Pはそれぞれ横型灯器・縦型灯器・歩行者灯器を指します。アンダースコアに続く「A」は全体の仕様、特に塗装に関する内容で、Aは白色、Bには環境配慮型・ブラウンが割り当てられています。

応用:「環境配慮型信号機」を使う

ブラウン色の環境配慮型信号機……は実はJPTLNSには実装されていません。ではどのようにして環境配慮型の信号機を使えばいいのでしょうか。答えは『Japanese traffic Lights の信号機を使う』です。

「Japanese traffic Lights」「Railway Replacer」「Japanese Railway Crossing」「Catenary Replacer」といったパッケージは、アンサブスクライブを推奨したMODとは少し事情が違います。

BOBが登場する以前も、ネットワーク上に乗ったプロップや樹木を変更するためにはMODが必要でした。しかし今と決定的に違うことがあります。それは、作ったアセットを実装するだけのためにMODの開発やメンテナンスを行っていたことです。つまりJapanese Traffic Lightsには、信号を動作させるためのMODがあり、またRailway Replacerには、RwyPropを動作させるためのMODがあるのです。このようなプロップと置換用のMODをセットにしたアイテムをパッケージと呼びます。

もうお分かりですね?

パッケージに入っているプロップ置換MODを全て無効化し、これらをBOBに代替できれば、パッケージに入っている信号機や踏切を従来のまま使い続けることができるということです。

Japanese Traffic Lights MODをBOBに置き換えるためには、以下のように置換します。

  • [v]Traffic Light 01 → JPTLmainNormalL
  • [v]Traffic Light 01 Mirror → JPTLsubNormalL
  • [v]Traffic Light 02 → JPTLsubNormalL
  • [v]Traffic Light 02 Mirror → JPTLmainNormalL
  • [v]Traffic Light Pedestrian → JPTLsubNormalL、180度回転

これらパッケージのサブスクライブを解除せず、パッケージ内のプロップ置換MODだけをコンテンツマネージャーやLOTによって無効化すれば、Ako_Ako氏の信号機やRonyx69氏の踏切をBOBで一括して使うことができます。そして、動作するプロップすべてに「これらのネットワーク内にある、個々のProp」置換モードが適用できるということは……?

発展:信号機を複数パターン配置する

「これらのネットワーク内にある、個々のProp」置換モードや「これらのネットワーク内にある、このタイプのProp全て」置換モードを使うと、ネットワークの種類ごとに置換する信号機を設定する必要があり面倒にみえますが、裏を返せばネットワーク毎に設定を変えられるということでもあります。

ネットワーク右左ごとの信号機の違いのみならず、ネットワークを複数用意することで、縦型信号機/横型信号機/環境配慮型信号機を状況に応じて自由に組み替えることが技術的に可能です。JPTLNSのバージョン違いが増えれば(筆者が増やせば)、さらに自由度の高い信号設計が可能となるはずです。

ただし、Konno Model氏(以降紺野氏)の道路に対する置換が特殊ですので、詳細は最後に記述します。

発展:ネットワーク上にプロップを追加する

「これらのネットワーク内にある、個々のProp」置換モードでレーンを指定して表示すると、中央の操作パネルにプラスマイナスのボタンが増えるはずです。これにより、ネットワーク上に配置するプロップや樹木を別途追加することができます。

とはいえ、IMT/従来の手置きなどありますから機能の実用性は限定的です。どの機能を使うかは「同じ種類のネットワーク上全てに追加すべきプロップ/樹木なのか」で判断するとよいでしょう。

こちらは特に、ありえない数値のオフセットでエラーメッセージを多数確認していますから、操作は慎重に行いましょう。ちなみにエラーメッセージが出てもどんな問題が起きているのか筆者は認識していません。マップ上のプレビューが上手くいかないこと以外は不具合もないので、エラーメッセージを無視してそのまま使っています。何か問題が起きましたら報告していただけると嬉しいです。

その他、BOBの使い方については、公式のBOB Basic Guideをご覧ください(英語)。

MOD置換リスト

記事冒頭で特記したMODのほとんどは現状安定したMODですから、以降の内容がBOBへの移行を急かすものではないことを重ねてご理解の程よろしくお願いします。

また、特記したパッケージについてはアンサブスクライブせず、同梱のMODのみ無効にしてください。特に、Ronyx69氏の線路ネットワークは、Railway Replacer同梱のプロップパックを前提アセットとしていますから、必ずアセットを有効にして置換作業を開始してください。

Japanese Road Arrows

  • [v]Road Arrow L → JP Arrow Left
  • [v]Road Arrow LF → JP Arrow Forward Left
  • [v]Road Arrow F → JP Arrow Forward
  • [v]Road Arrow FR → JP Arrow Forward Right
  • [v]Road Arrow R → JP Arrow Right
  • [v]Road Arrow LFR → (出現率を0にして削除)

Japanese traffic Lights / (JPTLNS)

  • [v]Traffic Light 01 → JPTLmainNormalL (JPTLnsMainP_A1)
  • [v]Traffic Light 01 Mirror → JPTLsubNormalL (JPTLnsSubH_A01 or JPTLnsSubV_A01)
  • [v]Traffic Light 02 → JPTLsubNormalL (JPTLnsSubH_A01 or JPTLnsSubV_A01)
  • [v]Traffic Light 02 Mirror → JPTLmainNormalL (JPTLnsMainP_A1)
  • [v]Traffic Light Pedestrian → JPTLsubNormalL、180度回転 (JPTLnsSubH_A01 or JPTLnsSubV_A01)

Railway Replacer JP / (Japanese Railway Crossing) / (Catenary Replacer) /

  • [v]Railway Crossing Short → R69 RwyJP Barrier 1 (→JPRC-S1-Tiny)
  • [v]Railway Crossing Medium → R69 RwyJP Barrier 2 (→JPRC-S1-small)
  • [v]Railway Crossing Long → R69 RwyJP Barrier 3 (→JPRC-S1-Large)
  • [v]Railway Crossing Very Long → R69 RwyJP Barrier 4 (→JPRC-S1-Rarge38)
  • [v]RailwayPowerline Singular → R69 RwyJP Catenary Single (→CR_JP1A)
  • [v]RailwayPowerline → R69 RwyJP Catenary Double (→CR_JP2A)
  • [v]Railway Buffer → R69 RwyJP Buffer

Railway Replacer → Railway Replacer JP(Railway Replacerを前提MODとするアセット用の置換)

  • r69rwp-cat1e → R69 RwyJP Catenary Single End
  • r69rwp-cat1n → R69 RwyJP Catenary Single
  • r69rwp-cat1t → R69 RwyJP Catenary Single Tunnel
  • r69rwp-cat2e → R69 RwyJP Catenary Double End
  • r69rwp-cat1n → R69 RwyJP Catenary Double
  • r69rwp-cat2t → R69 RwyJP Catenary Double Tunnel
  • r69rwp-buff → R69 RwyJP Buffer

「Network Skins」を使用されている市長様方へ

BOBとの併用が可能です。BOBでマスター変更をし、そのうえでNetwork Skinsを使って一部を変更することを推奨します。

「Traffic Light Replacer」環境の市長様方へ

日本風の街を作られている市長様で、かつTraffic Light Replacer(TLR)を意図的に使用されているならば、无心听雨_SUN氏(以降SUN氏)の「[JPTL]小糸工業·日本交通信号機(LHT) | 電球式」もお使いになられているのではないでしょうか?残念ながらTLRは左側通行に対応しておらず、起動時にエラーメッセージが出るなど報告も聞かれます。また開発者も失踪してしまったので、今後問題が修正される見込みもありません。ではBOBに移行すればよい、と案内できないのが実情です。残念ながらTraffic Light Replacer用に設計された信号機アセットはBOBに転用できませんまだ挙動を完全に把握していませんが、BOB側のID自動読み上げロジックが一部対応していないものと思われます。既存の読み上げロジックに適合する部分は限定的に転用可能です。2023/05/01追記:「全てのネットワーク内から、このタイプのProp全て」による置換を行わず、「これらのネットワーク内にある、個々のProp」置換のみを使い、マップ上にあるネットワーク全種類に対して1つずつ信号を置換すれば行けると報告が上がっています。そんなゴリ押しな……。

SUN氏の信号機の質は素晴らしいものなので、是非BOB版を制作したいと思いWSにコメントしましたが現状お返事はありません。誰かBOB対応の古めの灯器作って欲しいな……。

2023/05/01追記:どうにかしました。。→リンク

2023/07/04追記:公開しました。

Steam Workshop::JPTL Koito for BOB, the Tree and Prop Replacer

日本風道路を使用されている市長様方へ

紺野氏の日本風道路には、左右どちらも個別に信号機が取り付けられないものがあります。原因は同じレーンに複数の信号機が配置されていることです。4車線以上の高規格道路が該当します。ただし「全てのネットワーク内から、このタイプのProp全て」置換→「これらのネットワーク内にある、個々のProp」置換を実施することで、右側もしくは左側の信号機の種類を固定して左右別々の信号機が実装できるはずです。ただこの手法では、通常横型信号と環境配慮型信号機を併用するといった実装ができません。まさか信号パターンを複数実装ができないのがよりによって実装を一番したい高規格道路とは……。うーん、次制作するアセットは道路なのかもしれない(底なし沼)

2023/07/04追記:どうにかしました。

Steam Workshop::【JPR】Japanese Roads (over 4 lanes)

備考:信号機設計上の制約について

『「Traffic Light Replacer」環境の市長様方へ』で説明した通り、BOB対応の古い信号機アセットに対する需要はそれなりにあるはずです。誰か作ってほしい。ということで少しノウハウを共有しておきます。英語が分かる人は下の動画を観てください。

設計上大きな障害となるのがIlluminateテクスチャのみならず、AlphaとColorテクスチャも信号機の挙動のために割り当てられることでしょう。街灯一体型の信号機やポリの軽量化が難しくなるはずです。また、LODも漏らさず a, c, i テクスチャを発光部分のみに割り当ててください。信号処理に合わせて信号全体が発光してしまいます。

そして最も注意すべきことは、信号機の向きです。JPTLNSに沿う形で実装すれば問題ないはずですが、SUN氏の信号の向きと同じになっていないか、何度も確認してください。2023/05/01追記:JPTLNSの信号の向きも間違っているのではないかと自分自身疑問に感じてきました。Ako_Ako氏のJPTL、または筆者のJPTLNSと同じアセットの向きになるように設計するとよいでしょう。

終わりに

筆者自身、BOBのことを完全に理解できていないのであれですが、現時点で把握していることを分かりやすく書いたつもりです。情報受け付けておりますので気軽にご連絡ください。最後までご覧いただきありがとうございました。

コメント

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