CG 數位學習網 > Photon 教學



製作一個 Menu 登入選單場景與 Game 遊戲場景,熟悉 Photon 後可自行加入需要功能。

先建立 Menu 場景提供玩家登入的功能,並隨機產生玩家名稱,玩家可以自行修改。

~

建立一個 C# 腳本並命名為 NetworkManager ,用於登入 Photon Unity 網路,程式碼如下:

~

建立空物件並命名為 NetworkManager 套用剛才建立的腳本,使用滑鼠拖曳指定場景中的輸入名稱欄位與登入按鈕。

從 Hierarchy 視窗選取場景中的 InputField 輸入欄位,在 Inspector 的 OnClick () 按下 + 按鈕,

將 NetworkManager拖曳到下方欄位,然後選擇 NetworkManager > OnChangeNickname 設定玩家修改名稱時執行的動作。

~

選取場景中的 Button 按鈕,在 Inspector 的 OnClick () 按下 + 按鈕,再將 NetworkManager拖曳到下方欄位。

然後選擇 NetworkManager > OnLoginButtonClicked 設定按鈕按下後執行的動作。

~

建立 Game 場景,這是玩家連線後進入的遊戲場景。

建立一個 C# 腳本並命名為 UIManager ,用於提供 UI 互動功能,程式碼如下:

建立一個空物件並命名為 UIManager 套用剛才建立的 UIManager 腳本。

建立 C# 腳本並命名為 GameManager 用於管理遊戲,目前先加上動態生成玩家角色功能,程式碼如下:

建立一個空物件並命名為 GameManager 套用剛才建立的 GameManager 腳本,稍後會再指定玩家的預製物件與生成點。

建立 C# 腳本並命名為 CameraController 用於控制攝影機跟隨玩家的功能,程式碼如下:

製作玩家角色

建立一個膠囊物件,套用 Rigidbody 剛體元件,套用 Photon View 與 Photon Rigidbody View 元件。

建立 C# 腳本並命名為 PlayerController 套用到玩家角色,程式碼如下:

建立 C# 腳本並命名為 PlayerData 用於儲存玩家資料,套用到玩家角色,程式碼如下:

將玩家角色重新命名為 "Player" 並轉成預製物件,不過…

注意需要建立一個 Resources 資料夾,放置玩家角色預製物件,而不是一般常用的 Prefabs 資料夾。

因為 Photon 連線時玩家角色將會使用 PhotonNetwork.Instantiate 動態生成,請參閱 Photon 官方網站的 [ 相關資訊 ] 。

選取 GameManager 物件,將製作完成的遊戲角色拖曳 Player Prefab 欄位。

 

完成以上步驟後儲存場景,若需測試多人連線功能,可將製作的 Menu、Game 場景加入發佈設定清單。

發佈遊戲並同時開啟多個視窗來模擬多人同時連線的情況,確認 Photon 連線功能是否正常執行。