Node Controllerのすゝめ

CSL

本記事は2021年4月、同名にてRevueにて記事を投稿したものの、本サイトの発足により、記事投稿後にRevueの存在意義が消滅。そこで本サイトに転載し統合することとします。よって内容がやや古いです。ご了承ください。元記事:https://www.getrevue.co/profile/chemical_cities/issues/node-controller-issue-5-451709

残念ながら全然易しくないMOD
「Node Controller」

始めに

まず、この記事の執筆の経緯をお話させてほしい。

Node Controller、正式名称「Node controller V2.2 [Beta] 」は、2020年5月に登場した比較的新しいMODだが、当時から非常に革新的なMODとして界隈では大きな話題となった。

後述する様々な機能が今までにないものであったことはもちろん、それらが今までにないアプローチの工法であり、Node Controllerは、唯一無二の素晴らしい機能を多数備えたMODといえる。

ただし、登場当時からMOD使用者の間でささやかれていることがある。「MODの難易度が非常に高い」ということだ。この後、いかに難易度が高いかは存分に説明させて頂くが、これを理由に、私は今まで10ヶ月間、このMODについての解説動画を制作する気にもならなかった。

しかしつい先日、私にとって驚くべきことが起こった。

3月6日、神乃木リュウイチ師匠がライブでバイパス道を開発する際に、Node Controllerを使用してバス停を作れないかと難儀していたので、師匠のために何か役に立てればと思い、作成例の画像を添えてツイートしたのだ。

その結果、フォロワーさん以外からも反響をいただき、40いいね以上頂くことになった。(記事執筆時点)

「このMODのリリースから10ヶ月以上も経つにも拘わらず、これほどにいいねを頂けるとは。やはり私からこのMODの説明をする必要はある」と確信した次第である。

しかし、一本の動画を制作するのはかなりの労力を要することをご存じだろうか。それなのにも関わらず、このMODはBeta版であり、情報がいつ書き換えられるかも分からず、視聴者に誤解を与えかねないことを考えれば動画は非公開にせざるを得なくなる。あまりにも虚しいことだ。

そこでRevueの登場だ。

情報が書き換えられれば、この記事を書き換えればいい。動画よりもはるかに融通が利く。未確定要素を記事にすることは都合がいい、と知見を得た。

今更ではなく、Revueを知った今だからこそ、これを記事にしたい。

なぜ「Node Controller」の難易度が高いのか

何故私が今までこのMODの説明がしたくなかったのか。その理由の最たるものは「Node Controllerの前提MOD」である。

ここにNode Controllerの前提MODを列挙する。

  1. Harmony 2.0.4-2 (Mod Dependency)
  2. Hide TMPE crosswalks V3.0 [stable]
  3. TM:PE V11 STABLE (Traffic Manager: President Edition)

そして、Node Controllerが導入を推奨するMODを列挙する。

  1. UnifiedUI (UUI) 0.1 – Beta
  2. Intersection Marking Tool 1.7
  3. Mod Compatibility Checker
  4. Move It
  5. Elektrix’s Road Tools 2.93
  6. Fine Road Tool 2.0.4
  7. Duplicate Assembly Scanner (DAS)

つまるところ、Node Controllerの前提MOD・推奨MODがアベンジャーズ張りにラインナップがエグいのだ。

①Node Controllerの前提MOD①が難しい

まず、Node Controllerの動作にはTraffic Manager: President Edition STABLE(TM:PE)が必須である。TM:PEとは、交通系MODと呼ばれる車両制御に関するMODで、VehicleやCitizenの道路上の挙動制御ができる。Node ControllerにおけるTM:PEの役割は、Hide TM:PE crosswalksによって横断歩道を消去した際に、TM:PEの機能で、Citizenに実際に道路の横断を禁止させる為だと思われる。

②Node Controllerの前提MOD②が難しい

同じく、Node Controllerの前提MODにHarmonyがあるが、これはMOD同士の干渉を防ぐ、名の通り「調和MOD」である。

ここで、Harmonyがなければ調和が取れない、Harmonyを前提MODとするMODを羅列しておく。

【調和の取れないMODの一例】

  • Node Controller
  • UnifiedUI (UUI) 0.1 – Beta
  • Intersection Marking Tool 1.7
  • Hide TMPE crosswalks V3.0 [stable]
  • Hide Crosswalks V3.0 [EXPERIMENTAL]
  • Hide TM:PE Unconnected Tracks
  • Network Skins (Sunset Harbor compatible)
  • Ploppable RICO Revisited 2.4.1
  • CSUR ToolBox
  • Find It! 2

リストを見ればわかると思うが、Node Controllerとの併用が推奨されているMODがHarmonyを要求していることはもちろん、Node Controller本体とNode Controllerの前提MODであるHide TMPE crosswalksの調和がとれない時点でHarmonyが必要なことは言わずもがなだ。

③Node Controllerの推奨MODはもっと難しい

前提MODの時点で何かと恐ろしいNode Controllerだが、何より恐ろしいのは、推奨MODの一つとして Move It が挙げられていることだ。Move Itといえば、先日「Move Itの易しいすゝめ」としてYoutubeにて動画化を果たした。全5回、動画の総時間は1時間を超える超大作だ。気になる方は見てほしい。ただ、私は説明が下手なので、どうしても説明に時間がかかってしまう。動画にしようとすると時間がかかるので、というのが筆者の本音だ。

  • Node Controller自体が難しい
  • Node Controllerの前提MODも難しい
  • Node Controllerの推奨MODも難しい
  • (+通常のMODに発生するさまざまな問題点)

Networkについて簡単に説明

今後の説明には「Network」「Node」「Segment」の認知が必須なので、先に説明する。「Move Itの易しいすゝめ 第4回」で解説した内容程度の簡単なものであればよいので、3つの言葉を知っている人はこの見出しを読み飛ばしてくれて構わない。

Networkとは、道路・線路・歩道・フェンス・送電線など、始点と終点を決めて引くように敷設するアセットの総称だ。

Networkを配置する際に敷設オプションに「ガイドライン」の項目があり、これをオンにすることで、既にあるNetworkから点線が出て、敷設のガイドとなる。この時Network上の〇(ガイド線の出る点)のことを特にNodeと呼び、これらNodeを繋ぎ、直線・曲線をなすもののことを特にSegmentと呼ぶ。

Node Controllerの起動(初級編)

Node Controllerの挙動としては、Networkを敷設する際に敷設オプションに近い場所にUIが出る仕様になっているが、キーバインドを入力することで、Network敷設画面以外のどこからでも起動することができる。

Node Controllerの起動はCtrl+Nで行う。

ただ、私の環境では起動を頻繁に行うために、キーバインドの変更をしている。MODのオプションから起動のキーバインドを「Ctrl+N」を押し→「4」と変更している。あまり押さないキーをワンクリックすればMODが起動できる設定にするというのもよいだろう。

先述のMOD「UnifiedUI (UUI) 0.1 – Beta」を使うという手もある。Node Controller以外にも、Network敷設画面のみUIが表示されるMODがある。例として、これも先述の「Intersection Marking Tool」が挙げられる。UUIは、これらのMODのUIを通常の画面でも表示しようというMODである。IMT(Intersection Marking Tool)などと併用してNode Controllerを使用する場合は、こちらの導入も検討したい。

Corner Offsetの変更(初級編)

Node Controllerを起動すると、NodeとSegmentを選択できるようになるが、Nodeを選択した時とSegmentを選択した時で挙動が違う。またNodeの中でも交差点を選択した時の挙動も違う。

交差点を選択した時、Corner Offsetの設定ができるようになる。

Corner Offsetの数値を大きくすればするほど、交差点の面積が大きくなり、交差点のコーナーが緩やかになる

このMODが登場した今だからこそ笑い話にできるが、バイパス・幹線道路などの再現は非常に難しかったものだ。少し僕の思い出話をしたい。

かつて僕は、Infrastructurist氏の動画を見て衝撃を受けたものだ。

彼のどの動画かは忘れてしまったが、彼は4差路の交差点のコーナーを緩やかにするために、わざわざ4差路を8差路に改修していたのである。

しかしこのままではただの8差路交差点になってしまうため、追加した4本の道路に車両が侵入し、折り返しや店舗への搬入・搬出などをする可能性がある。しかし、TM:PEを使って追加した道路へのVehicleの侵入を禁止したり、Propを使って追加した道路を隠すことで、道路を追加→物理的に削除をし、半ば強引にCorner Offsetを大きくしているのだ。

旧来の手法では交差点のコーナーの緩やかさを決めるのは、交差点に接続された道路の数と形式のみであり、私もInfrastructurist氏に倣い、8差路交差点を疑似的に十字の交差点とみなし、現実的な大型の交差点の制作をしていたが、この方式は労力と時間だけでなく、一つのマップで制限されているプロップ・ネットワークの数を圧迫することになる。

Node Controllerは、Citiesの常識を変える革命的なMODの一つに違いない。

Node Controllerで試作した8車線+路面電車2車線道路の交差点。中核都市にあるかも。

交差点に使える各種機能について(初級編)

Corner Offset

各種機能に共通していることだが、数値の入力とスライダーでの入力、数値入力のボックスの上でマウスホイールをスクロールさせて入力の3種類の入力が可能だ。

Make flat/Make Sloped

ボタン一撃でで交差点がフラット/スロープにできる。かなり神機能。

No junction markings

交差点のマーキング(主に横断歩道)が消せる機能。前提MOD必須。

交差点の操作機能からTM:PEの操作も可能。

交差点以外のNodeに使える各種機能について

Nodeの種類変更

Bend/Stretch/Middle/Crossing/UTurn/Customの6種類がある。

  • Bend:Nodeの区間を残さず、Segmentを伸縮させながら補完する。
  • Stretch:Nodeの区間を残して、Segmentを伸縮させながら補完する。
  • Middle:Nodeの区間を残さず、ぶつ切り状態でNodeとする。同種の2つのSegment間にあるNodeの種類は基本的にすべてMiddle Nodeとなる。
  • Crossing:横断歩道を付ける。
  • UTurn:Uターンを許可するNodeにする。
  • Custom:自由にカスタム可能なNodeとする。異種の2つのSegment間にあるNodeの種類は、Corner Offset・Embankment・Slopeが0で、Stretchが100%のCustom Nodeとなる。

Corner Offset (Stretch/Crossing/Customのみ)

ここでいうCornerは「Nodeの区間」になる。Segmentの前後方向にNodeの区間を伸ばすことができる。交差点のCorner Offsetと同様、数値とスライダー、スクロールの3種類の変更ができる。

Embankment

Embankmentは、バンク、或はカントである。Segmentの左右方向に角度を与えられる。

Slope

Slopeは、Embankmentに対して、Segment前後方向に角度が与えられる。

Stretch

Stretchは、Segmentの左右方向、つまり道幅を伸縮させられる。Nodeの区間だけでなく、道路幅を含めて伸縮させることになる。

Node用機能の操作画面。

「Segment End Controller」について(中級編)

Segment End Controllerとは、Segmentの末端の2点の移動ができる機能である。そもそもNode Controllerの本質は、Segmentの末端2点を動かそうということにあり、今までに紹介した交差点・Nodeで使用した機能はショートカットのようなもので、Segment End Controllerは、今まで紹介してきた機能全てを網羅した機能である。SegmentごとにCorner Offset / Embankment / Slope / Stretch を指定できるが、割愛する。

Segment End Controllerは、Altキーを押し込みながら選択すると、Segmentの一方の末端が選択できる。通常の円形の選択ハイライトとは明らかに見た目が異なるので、すぐにわかるはずだ。

「Segment End Controller」(Alt降下時)は通常と異なるハイライト表示となる。

Segmentの中央から向かって右側/左側にある末端の点ごとにそれぞれ座標を指定できる。Shiftを押し込みながら数値入力のボックス上でスクロールすると、細かく操作でき、Ctrlを押し込みながら数値入力のボックス上でスクロールすると、2点同時に同じ数値を割り当てることができる。そして、直接末端の点をドラッグすれば点を直接移動することができ、Ctrlを併用することで、幅を揃えたまま2点を同時に掴んで移動することができる。

「Segment End Controller」の操作画面。

Node Controllerの応用(上級編)

さて、機能面の紹介は大まかに終わったので、具体的にこのMOD「Node Controller」があれば一体何ができるのか考えていこう。

改めて、Twitterに投稿したバス停の作例を作ってみよう。

非常に自然に車線が拡張されているが、これはNode Controllerの恩恵あってのものである。ツイート本文にもある通り、使用したアセットは紺野つかさ(Konno Model)さんが制作された6車線道路と3+4車線道路を使用して制作されている。しかし通常通り6車線道路と3+4車線道路を接続すると、下の画像のように上手く接続されない。これはどのようにして制作されているのだろうか。

下側2段が完成品。上側の道路は中央分離帯が道路の中央から乱れているように見える。

6車線道路と3+4車線道路が上手く接続できない最大の問題は、3+4車線道路の中心が道路の中央分離帯上にないことだ。もし、3+4車線道路の中心が道路の中央分離帯上にあれば、6車線道路と3+4車線道路の中央分離帯とが一直線になり、違和感は全くないはずだ。そこで、Node Controllerの出番だ。

先ず最初に、道路の幅をあらかじめ測っておく。今回使用する紺野式6車線道路・3+4車線道路の一車線の道路の幅は、どちらも3.2mとなっている。「3+4車線道路は6車線道路の片側に1車線追加したもの」と考えられるので、Segment End Controllerを使って、Segmentの両端の点を1.6mずつずらし、合わせて追加された一車線分だけズレるようにする。すると、3+4車線道路と6車線道路の中央分離帯が、ほぼ一直線上に集まるのだ。ここからBend / StretchなどのNodeの種類を変更するとかなりいい感じになる…のだが、私からお勧めしたいのがIntersection Marking Toolの併用だ。

Intersection Marking Toolとの併用(上級編)

Intersection Marking Toolは、Node Controllerと特に相性がいいMODだ。

実は、Twitterに投稿した画像はCustom Nodeで、そこにデカールの貼り付けをしている。そしてこの貼り付けはIntersection Marking Toolで置き換えることができる。

詳細な説明は省くが、このMODも NodeかSegmentかを選択してデカールを貼り付けることができ、デカールの配置は車線ごとに設けられた点を基準に直線・曲線上に線描され、基準点を動かせばいつでも移動させることができる。通常通り引けば破線、Shiftを押しながら引けば実線、CtrlとShiftを押しながら引けば二重線のデカールを線描できる。線の色はもちろん、破線の間隔、二重線の間隔も自由に操作できる。下の画像のように、Segmentのカラー舗装も思いのままだ。

今回は中央分離帯のみプロップで配置したが、いずれIntersection Marking Toolですべて作り込めるようになるかもしれない。2つのMODは様々な場面での併用した活用が見込まれる。これらの機能をどう使いこなすかは、あなた次第だ。

この交差点もIntersection Marking ToolによるMarkingがなされている。

「Intersection Marking Tool ver2.7(記事執筆時最新バージョン)」により、さらなる革命が…。

終わりに

今回はMOD「Node Controller」を紹介した。非常に有用なMODでありながら、知見の共有が薄いMODの一つだと思う。何でも出来過ぎて逆に困るようなMODなので、是非あなたなりの使い方を見つけてほしいと思う。

Node controller V2.2 [Beta]

コメント

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