[Unity] Visual Scripting でつくる電車ゲーム No.1 電車&路線を作る

11月 7, 2023 | ALL, Unity, ビジュアルスクリプティング

教室で一人は必ずいると言っても過言ではない鉄道好きの子、そしておそらく「電車ゲーム」を作りたいと言われたことがあるでしょう。そんなときのためにUnity Visual Scripting使った鉄道ゲーム制作例を紹介いたします。

Cinemachineを使った線路を作る

まず、線路を作っていきます。今回はCinemachineをつかって線路をつくります。Unity Cinemachineといえば、カメラ制御で有名ですが、そのカメラ制御機能の一部 [ Dolly Cart ] を使って線路を作ります。

環境

・Intel Mac
・Unity 2022.3.12f1

1.アセットなどで線路を作って見かけの線路を作ります。
線路の見かけを作る
2.次に見かけの線路に合わせてCinemachineのDolly Cartを作っていきます。
Cinemachine Dolly Cart を作る
まず、HierarchyのCreate Emptyで空のゲームオブジェクトを作ります。
Cinemachine Dolly Cart を作る
今回は作ったオブジェクトの名前を[CinemachinePath01]とします。
Cinemachine Dolly Cart を作る
Inspectorで作ったオブジェクトにCinemachinePathコンポーネントを加えます。
CinemachinePath add compornent
Add CinemachinePath Compornent
↓のようにChinemachinePathができます。
Add CinemachinePath Compornent
CinemachinePathを目的の形にしていきます。
CinemachinePathはWaypoints(ウェイポイント)と呼ばれるもので形を作っていきます。
Add CinemachinePath Compornent
まず一周回転する線路を作ってきます。全部で8このウェイポイントを作って形をつくます。今回は↓のように設定してきます。
Add CinemachinePath Compornent

ゲームオブジェクトをPathにそってはしらせてみる

このCinemachin Pathを使うと簡単にオブジェクトを線路に合わせて動かすことができます。Cubeなどのゲームオブジェクトを作成しCinemachine Dolly Cartコンポーネントを追加し設定します。それだけでげーオブジェクトが線路に合わせて動き出します。
それでは、実際に動かしてみましょう。

Cubeなどのゲームオブジェクトを作り、Cinemachine Path上におきます。
Add CinemachinePath Compornent
Add CinemachinePath Compornent
Path上においたオブジェクトにCinemachine Dolly Cartコンポーネントを追加します。
Add CinemachinePath Compornent
Pathオプションに作ったCinemachine Pathを設定します。また、Speedを10(お好きな数字)にします。
Add CinemachinePath Compornent
Cinemachine Dolly Cartを走らせてみた

電車をコントロールする

Visual Scriptingを使って電車をプレイヤーががコントロールできるようにしましょう。

電車のスピードをスライダーを使ってコントロールできるようにします。
まず、UIスライダーを追加しましょう。
Add UI Slider UIスライダーを追加
インスペクターで位置を調整します。
Add UI Slider UIスライダーを追加
邪魔にならない位置に配置します。
Add UI Slider UIスライダーを追加
今回は↓のように右下に配置されるようにします。
Add UI Slider UIスライダーを追加
つぎに電車(Cube)にVisual Scriptingを追加します。

まず、Cubeを選択します。

selected Cube キューブを選択する
インスペクタ(Inspecter)でScript Machineコンポーネントを追加します。
selected Cube キューブを選択する
インスペクタ(Inspecter)にScript Machineコンポーネントの他にVariablesというコンポーネント自動的に追加されます。
次に、Newボタンをおして新しいGraphを作ります。
*Visual ScriptingではプログラムファイルのことをGraphとよびます。
selected Cube キューブを選択する
表示されたウィンドウにGraph名(TrainController)を入力して保存します。
Saved Train Controller
Edit Graphボタンを押すとGraphエディタが起動して編集できるようになります。
Saved Train Controller
Sliderを代入するための変数(Variable)を作成します。
How to add Variable
変数のValueにSliderを設定します。
Inspector setting Variable
スライダーを使ってスピードをコントロールしてきます。まずは、単純にスライダーの値をDolly Cartのスピードに代入して動かしてみましょう。
Train Visual Scripting
■もう少しだけ本格的な制御を作ってみましょう
【機能】
1.ワンハンドルマスコン風の操作をSliderで仮再現する
2.空気抵抗などの抵抗を簡易的に実装する
Add UI Slider UIスライダーを追加