鉄道ワールドをつくってみよう⑤

ワールド作成

自分はうまくいきましたが、もっといい方法あるかも…。あくまで独自の方法です。

RBURというシステムを使用した鉄道ワールドです。

RBUR(RigidBodyUdonRailway)は曙松線建設事務所 frou01様が作成している製品です。

© 2025 frou01. Released under the MIT license.

前回の記事からの続きになりますので、最初に①~④の記事をご覧ください。

今進んでいるところ

・FBX Exporterの導入

・必要アセットのimport

・レールの下準備

・線路の敷設

・車両を配置する。

今回進むところ

・線路をつなぐ

線路の敷き方 応用

応用

ここまでの解説では「rail」の「CinemachinePath」内の「PathDetails」を調整することで、線路を敷設してきました。

これだけでもレイアウトは作成できますが、ポイントを設置するときや、よりスムーズなカーブを作ろうとすると、ひとつの「rail」だけではできません。

ここでは線路の接続について解説していきます。

環状線路

環状に線路を作る場合、「CinemachinePath」の「Looped」にチェックを入れると、自動的に環状線路を敷設することができます。

線路の複製

手順を最初からする方法で「railsystem」を選択した状態で、右クリック→CreateEmptyをして、「Add Component」で「Rail_Script」と「CinemachinePath」を追加する方法もありますが、「rail」をコピーする方法が簡単なので、コピーして敷設する方法を解説します。

「rail」を選択した状態で、Ctrl+Dでコピーしてください。名前は変えても変えなくてもいいです。今回は「rail2」という名前で解説します。

コピーした方(rail2)の小さい▷を押すと「senro」が入っていると思います。場合によっては、senro1、senro2、senro3・・・・と続いていると思います。なければスルーしてください。

「rail2」の「senro」を削除します。一つずつ削除すると時間がかかるので、一番上の「senro1」を右クリックします。次に、shiftを押しながら一番下の「senro」を押してください。すると途中のsenroがすべて選択されると思うので、Deleteキーを押して削除してください。

削除出来たら「rail2」を選択し、「Inspector」の「PathDetails」横の▷を押してください。

経路順の数字があると思いますが、数字の横の=を押しながら移動させることで、経路の順番を変えることができます。一番下の数字(大きい数字)を一番上に持ってきて、それ以外を削除することで「rail」と同じ位置に「rail2」の起点を作ることができます。

Tangentについて

「rail2」の方も線形を調整しましょう。

重要なポイントとして「PathDetails」の「Waypoints」のTangentにはX.Y.Zのいずれかに必ず数字を入れる必要があります。

つまり X:0 Y:0 Z:0には設定してはいけません。X:2 Y:0 Z:0や

X:2 Y:1 Z:2など、何かしらの数字を入れる必要があります。

この数字についても決まりがあり、進行方向側に線が伸びるようにしてください。例えば、⓪の「Tangent」を変更する時は①のほうに線が伸びるようにしてください。

↓いい例(黄色い線が①のほうに伸びている)

↓悪い例(黄色い線が次の「Waypotins」とは反対に伸びている

↓いい例(黄色い線が、線路の進行方向に向かって伸びている)

↓悪い例(黄色い線が反対側に伸びている。)

ここの設定がうまくいってないと、脱線してしまいます。

線路の接続設定

「rail2」に線路を敷設しましょう。「rail husetu」をコピーして、内容を少し変えれば、「rail2」にも線路が敷設できると思います。

敷設出来たら「rail」を押してください。「Inspector」の「Rail_Script」に「Next」と「Prev」という項目があると思います。ここに「Next」(次に向かう線路)と「Prev」(前に来た線路)を入れる必要があります。

今回の事例だと「rail」の「Next」に「rail2」を設定する必要があります。また、同様に「rail2」でも「Rail_Script」を確認し「Prev」に「rail」を選択してください。

基本的に「PathDetails」の0側に来ている線路が「Prev」になり、1や2・・・・の次に向かう線路が「Next」になります。

この「Next」「Prev」の設定を間違えると、車両が線路を見失い、脱線します。

CinemachineSmoothPathを使ってみる

カーブを作る際に「CinemachinePath」を使用すると、「Tangent」がやたら長くなったり、線路がきれいに敷設できないことが多々あります。

「CinemachineSmoothPath」を使用することで、キレイにカーブを作ることができます。

設定方法は基本的に「CinemachinePath」と同じですが、「Tangent」を設定する必要がありません。そのため「Tangent」の向きなどを意識することなく使えます。

使用方法として、「rail2」等をコピーして、「Add Component」から「CinemachineSmoothPath」を入れてください。

「CinemachinePath」の⓪の数値を「CinemachineSmoothPath」に入力し、「CinemachinePath」は削除してください。

あとは使いながら慣れていくと思います。「CinemachineSmoothPath」と「CinemachinePath」は使いやすい方を使用してください。

「Next」「Prev」の設定は「CinemachineSmoothPath」から「CinemachinePath」に接続したり逆に「CinemachinePath」から「CinemachineSmoothPath」に接続することができるので、通常通り「Next」「Prev」の設定を行ってください。

注意点と補足

補足

上り坂を作る場合は、「Waypoints」のY軸を調整することで傾斜のある線路を作ることができます。

Unityでは大した傾斜に見えなくても、実際はかなり傾斜になっていることが多いので、定期的に再生ボタンを押して、傾斜を確認することをお勧めします。

また、あまりに長い傾斜を作ると車両に負荷がかかるうえ、下りで異常なスピードが出るため、ほどほどの距離にしておくことを推奨します。

注意点

線路の敷設時の注意点です。

「PathDetails」の「Waypoints」の距離は開けすぎないこと。

特に直線で「Waypoints」の距離を開けすぎると、車両走行時に脱線する可能性があります。

Tnagentの数値を大きくしすぎないこと

これも不具合の原因になることがあります。長いカーブでは「CinemachineSmoothPath」を使うのがおすすめです。

Loopedで円形に線路を敷設する際も「Next」「Prev」の設定が必要になります。

例えば「rail2」という名前だったら「Next」「Prev」も「rail2」を設定してください。

レールの高さと車輪の高さがあわない

可能であれば、blenderの項目に戻って調整したほうが後々楽になります。

もし修正が面倒であれば、平面で線路を引いている場合、「rail2」の「senro1、senro2・・・・・」をすべて選択し、Transformに数値を入力することで調整することができます。

坂を作っている場合は、同様にすべて選択し、Scene上にあるX・Y・Zの矢印を操作することで、高さの調整ができます。

鉄道ワールドをつくってみよう⑥へ

コメント

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