Unity多人遊戲簡單實例(一)快速入門

Unity官方例子爲:Simple Multiplayer Game

1.新建場景,創建一個空實體NetworkManager,添加NetworkManager、NetworkManagerHUD組件。NetworkManager管理遊戲狀態、實體同步生成等,NetworkManagerHUD是界面輔助組成,測試時不用自己寫界面了。

2.創建一個實體Player(如膠囊體),添加NetworkIdentity(身份組件)、NetworkTransform(同步位移和旋轉)。NetworkIdentity選中Local Player Authority。

3.將Player拖入Assets,生成Player.prefab,然後將Player.prefab拖入NetworkManager的NetworkManager組件【Spawn Info】【Player prefab】。

4.在場景中刪除Player,保存場景。發佈並測試。運行兩個客戶端,一個爲LAN Host(H),一個爲LAN Client(C),發現可以連接了。但是Player還不能動。

5.創建C#腳本PlayerController.cs並附加到Play.prefab上。代碼如下

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;

//注意繼承至NetworkBehaviour
public class PlayerController : NetworkBehaviour {

    void Update()
    {
        //只操作屬於自己的Player,如果沒有這個判斷,其他的Player也會跟着動
        if (!isLocalPlayer)
            return;

        var x = Input.GetAxis("Horizontal") * Time.deltaTime * 150.0f;
        var z = Input.GetAxis("Vertical") * Time.deltaTime * 3.0f;

        transform.Rotate(0, x, 0);
        transform.Translate(0, 0, z);
    }
}

6.發佈測試,多個客戶端之間Player可以同步移動了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章