UNET基礎介紹

本篇使用的是UNITY 5.4的版本
目的:使用UNITY內建的UNET (5.3 or up)實現多人連線的功能

1.創建一個NetworkManager object

  • 開新專案→儲存場景(名稱自訂:本篇使用UNET-demo)
  • 創建一個空遊戲物件→命名NetworkManager→掛上Component>Network>NetworkManager
    unet001
  • 掛上Component>Network>NetworkManagerHUD→執行畫面可以看到一個簡易的連線介面
    unet002


2.創建一個Player object

  • 創建一個PLAYER物件→GameObject>3D Object>Cube→改名為Player→掛上Component>>Network>NetworkIdentity
    unet-003
  • 撰寫簡易控制程式
    unet-005 unet-006
  • 將Local Player Authorit勾選,讓本地端可以控制該物件;並且將整個player物件做成預製物(Prefab)
  • 註冊Player物件,選取之前的NetworkManager物件,NetworkManager的Component內展開Spawn Info→將剛剛的Player預製物放入PlayerPrefab欄位內
    unet-004
  • 如此一來執行後就可以移動我們的方塊玩家

3.網路同步設置

  • 做到這步即使連線後依然無法讓兩個畫面上的物件同步顯示,因此修改移動的程式碼為網連版本
    unet-008
    加入using UnityEngine.Networking;
    改繼承MonoBehaviour→NetworkBehaviour
    以及非本地端玩家禁止控制 (直接return)
    加入本地用戶變色識別
  • 加入Network>NetworkTransform 用來同步位移資訊
  • BULID & RUN之後連線就可以看到成果
    unet-010

Leave a Reply