角色移動差異化

在上一章節,移動角色不是很完全,會造成全部的角色都移動到。現在要講解怎麼解決它。

  1. 首先打開 Player Controller 腳本。
  2. 引用 UnityEngine.Networking 命名空間。
  3. 把原本的基底類別 Mono Behaviour 改為 Network Behaviour
  4. 在Update 方法(或是類似的 Late Update等不斷更新的方法)內新增判斷式:

    if (!isLocalPlayer)
    {
     return;
    }
    
    1. Networking 命名空間包含有關多人連線的類別和相關型別。
    2. Networking Behaviour 繼承至 Mono Behaviour 。被掛載的遊戲物件需要使用到多人連線的屬性或成員時,就需要使用。
    3. IsLocalPlayer 為Networking Behaviour 內的成員。
  5. 現在再測試伺服器,發現只有伺服器的角色會移動。但在客戶端控制移動,伺服器端的畫面中客戶端角色卻不會移動!

  6. 上述的問題需要在角色Prefab上,掛載 Network Transform

    1. 此Component是用來同步角色的Transform。
    2. 調整 Network Send Rate (Second) 回傳位置給伺服器同步的頻率。
      1. 注意,適當的拿捏頻率是重要的地方。同步頻率太快會影響到遊戲效能,太慢會影響到遊戲體驗。
      2. 可藉由內插和外插來彌補同步移動時不順的問題。
  7. 這時再測試,會解決畫面移動同步的問題。

results matching ""

    No results matching ""