Unity 飛輪健身車遊戲

極速飛輪派對是一套針對健身中心與學校設計的客製化遊戲,支援多位玩家同時競賽,搭配飛輪車或健身車控制遊戲,達到運動與娛樂的目的。此教學介紹極速飛輪派對遊戲的系統基本設定、競速場景製作、遊戲選單修改的步驟。

極速飛輪派對遊戲的系統需求為 Intel i7 處理器、NVIDIA RTX3060 以上等級顯示卡。

 

螢幕輸出設定

極速飛輪派對採用單機連接多個螢幕的方式,例如以 NVIDIA RTX-3060 版本為例,參考輸出設定如下:

HDMI = 遊戲主持人(選擇關卡、顯示全地圖、切換不同玩家畫面)

Display Port 1 = 1 號玩家

Display Port 2 = 2 號玩家

Display Port 3 = 3 號玩家

注意!設定不正確將會出現遊戲主持人與玩家的畫面對調,無法進行遊戲!

透過 Menu 選單場景的 ShowAllDisplay 讓遊戲執行立即開啟所有顯示器!

 

極速飛輪控制器

極速飛輪控制器提供 2 種不同的版本:使用 Arduino 核心或使用 Arduino + Joy-Con 版本。

controller-Joycon

controller-Arduino

 

遊戲場景設定

[ 瀏覽設定教學 ]

 

遊戲關卡選單

遊戲預設收錄 2 個賽道,前面章節示範自行製作遊戲關卡,接著說明如何將製作的關卡加入選單。

[ 瀏覽設定教學 ]

 

修改開始遊戲的功能

開啟 Menu 場景,選取場景中的 Button_GoScene-1 按鈕物件,目前的 OnClick 事件可開始遊戲。

開啟 UIManager_Menu.cs 腳本,此功能來自 OnStartGameButtonClicked 方法,原始程式碼如下:

public void OnStartGameButtonClicked(int sceneInd){

sceneIndex = sceneInd;

foreach (var item in SelectScene_Quad){
item.SetActive(false);
}

panel_SelectScene.SetActive(false);

var effect = FindObjectsOfType<FadeEffect>();
foreach (var fade in effect){
fade.DoFadeIn(true);

}
Invoke("OnChangeScene", 1);
}

 

增加以下程式碼:

private void Update(){

if (Input.GetKeyDown(KeyCode.F11)){
OnStartGameButtonClicked(1); //飛輪控制器 F11 開始遊戲
}

 

玩家起身功能

當玩家同時按下 L 鍵與 R 鍵即可回到賽道的上一個檢查點,此功能於 MykeyboardControls.cs 腳本控制。

增加以下程式碼:

//當 F11 按鈕壓的時候,就會出現重置倒數

if (Input.GetKeyDown(KeyCode.F11)){
outsideControls.restartBike = true;
onLiftAndRightButtonDown_Timer = 0;
}