Repository navigation
RailSnapTool
各機能はデフォルトではオフになっています。各項目の"Enable"をオンにすることで、機能を有効にして使います。 手っ取り早く操作例を見たい場合はRBUR RailTools レイアウト作成デモを見るのも良いでしょう
WaypointSnap,Visualizeなど、一部機能によっては常時オンでは使いにくいことがありますので、その場合は適時オンオフ切り替えて使ってください
本ツールのメイン機能、鉄道模型のようにレールをポトペタで配置&接続を可能にする機能です。ゲームオブジェクト単位でレールをドラックした時に、近くにいるレール終端(CinemachinePath終端)にスナップ(吸着)させます。
単一選択だけでなく、同一階層上での選択、レールを子に持つオブジェクトの選択などで一括移動も出来ます。例えば、「複線の直線レールの束」「ポイントレール周辺を纏めたprefab」や「ポイントを含めた留置線丸ごと」など、複数のレールを纏めたゲームオブジェクトを一括して移動&移動先レールへ接続ができます。
Auto Connect&Disconnectがオンの場合は、移動開始時とスナップ後にレールのprev,nextを自動的に設定し、レールを接続します。
CinemachineのWaypoint編集時に、近くのレール終端にスナップ(吸着)させる機能です。GameObject Snap同様にAuto Connect&Disconnectがあり、自動的にレールを接続します。
Waypoint Snapをオンにしていると、接続済みレールのWaypointを編集する時に相手レールに引っ張られてWaypointが動かせなくなります。適時オフにするなどしてください。このあたりの振る舞いは要検討だとは思っていますが、悩みどころです
CinemachineのWaypointを一括調整/編集する機能群です
終端のWaypoint Tagentを揃え、接続点をスムーズにする機能です
- 選択中の、prev/next側Tangentを接続先に合わせる
- CinemachinePath(Smoothではない)の時、接続先レールにTangentをあわせて接続を滑らかにします。Tangent長さは維持されます
勾配区間を作るツール群です
- 全WaypointのTangent.Yを整え、滑らかな坂にする。スムース化(単純)
- 登り/下り坂生成をアシストするツールです。各Waypointの高さYをいい感じすることで、坂がなだらかになります。上から見た線形(XZ平面)をだいたい維持したまま、滑らかなスロープにします。
- 上から見た線形を編集し、各Waypoint.Y座標を編集した後、このボタンを押す、というワークフローを想定しています。
- 下のボタン「始点と終点のY座標に基づいて、中間Waypoint.Yを編集して、均一なスロープにする(単純)」との違いは、「こちらはWaypoint.Y座標を維持する、Tangentのみを書き換える点」です
- 始点と終点のY座標に基づいて、中間Waypoint.Yを編集して、均一なスロープにする(単純)
- 登り/下り坂生成をアシストするツールです。始点と終点の高さを均一なスロープでつなげるよう、途中のWaypoint.YとTangent.Yを編集します。
- 上の操作と異なるのは、中間Waypoint.Yを編集し、なだらかにすることです。始点と終点高さだけ編集して、単調な登り/下りセクションを作りたい時向けです
- 上のボタン「全WaypointのTangent.Yを整え、滑らかな坂にする。スムース化(単純)」との違いは、「こちらはWaypoint.YもTangentも書き換える点」です。
カント(カーブ区間において、内側にレールを傾ける)を設定します。Waypoint.Roll値を、線形に合わせて一括編集します
- カントを設定する(簡易)。Waypointの中間点全てで、Waypoint.Roll値を設定します
- Cant Angle Roll値です。レール左右の高さで設定する実際の鉄道と異なり、度で指定します。現実の在来線では左右の差60mm~100mm程度=Roll値では3~5°ぐらいですが、VRで見ると遠心力がないせいかかなり傾きを感じ、VR酔いも心配になります。個人的には1~2°ぐらいがおすすめです
- Cant Threthold Waypointでカーブと判定する角度です。前後のWaypointを見て、この度数以下であれば直線とみなし、カントなし/Rollを0にします。
- Roll設定はCinemachinePathの都合上、Waypoint上でしか設定できません。途中にWaypointのないS字カーブなどではうまく設定できないことがありますが、その場合は途中のWaypointを増やして分割してください
- 簡易実装のためWaypoint始点終点は常にRoll 0になります
雑多な機能群です。
SceneViewで常時有効なレール可視化機能です。選択レールのハイライト、オブジェクト名、長さ、勾配(‰表記)、終端の高さ表示(グローバル座標基準)があります
勾配表記は簡易です。途中がうねっていても平均勾配として算出しています(Waypointの両端の高さと長さのみから算出する単純仕様です)
レールまたは配下にレールを持つオブジェクト選択時に、レールの統計情報を表示します。
現時点ではレール本数と累計長さがあります