Unity Integrations
Quantum高爾夫範例也提供一個號碼一個指令碼,以在Unity中協助平順的遊戲遊玩互動及檢視。
相機控制器
CameraController
處理主要相機移動。它有一個_dummy
Transform
,其是代表實際的相機所朝向的位置及旋轉值。_target
它跟隨的是相機目前正在觀看的附有一個EntityPrefabRoot
元件的遊戲物件;當更新全域CurrentTurn
的Active
實體時,自動更新這個遊戲物件參照。
控制器讀取玩家輸入,以平移、傾斜及縮放相機。
Relative Position
:相對於目標實體的相機位置;Relative Rotation
:當相機定位在相對位置,並且正在觀看目標實體之後,新增到相機的旋轉量;Follow Target
:確定相機是否將在目標實體移動時跟隨它;Lerp velocity
:當將實際的相機朝向虛擬轉換時,使用的步驟因數;Zoom Sensitivity
:當縮放目標實體時,使用的比例因數;Closest Distance
:當放大目標實體時,允許的最近距離;Farthest Distance
:當縮小目標實體時,允許的最遠距離;Rotation Sensitivity
:當玩家平移或傾斜相機時,使用的比例因數;Invert Rotation
:在平移或傾斜相機之前反轉滑鼠拖放值;Target clickable area radius
:在目標實體周圍的,當按一下時被視為按一下實體的圓半徑。
回合鐘
當CurrentTurn
使用一個計時器並且更新在中央時鐘面板上顯示的時間時,UITurnClock
指令碼負責從模擬來輪詢全域CurrentTurn
的剩餘回合持續時間。
公平計時器
FairTimer
指令碼呈現一個模式,用於向本機玩家顯示一個比起更真實的計時器來的更公平的計時器。它考慮了 客戶端的RTT和/或它的輸入偏移。
注意事項: 這 不會 干擾模擬側的任何事情。目前的回合計時器在所有客戶端上同步運行,只是 顯示 給玩家的值與他們的延遲成比例改變。這是一個可設置及可選的功能,並且應該進行調整以達到所需的行為。
在Quantum高爾夫範例中呈現的FairTimer
解決方案,是可用於跨平台的遊戲遊玩,並且稍微更改即可用於任何基於計時器的回合制遊戲。
開始倒數計時
UIStartCountdown
指令碼在第一個回合開始之前處理在畫面中央的視覺效果計時器倒數計時顯示。
玩家檢視
UIPlayerView
負責針對一個給定玩家來輪詢TurnData
資訊,並且相應地啟用/停用/更新視覺效果元素。這包含:
- 當一個玩家的回合已經結束時,增加回合
Number
- 當玩家的狀態改變時,改變狀態文字
- 當回合不在啟用中或玩家不是本機時,讓略過按鈕成為不可互動
- 更新玩家的可填入環計時器
得分
UIScore
指令碼負責在模擬引發一個GameplayEnded
事件時,以玩家的得分資訊來啟用一個得分面板。