Unity之NetCode多人网络游戏联机对战教程(2)--简单实现联机

文章目录

    • 1.添加基本组件
    • 2.创建NetworkManager组件
    • 3.创建Player
    • 4.创建地面
    • 5.创建GameManager
    • 6.编译运行
    • 7. 测试联机
    • 后话


1.添加基本组件

  • NetworkManager
  • Player
  • Scene

2.创建NetworkManager组件

创建一个空物体,命名为NetworkManager

Unity之NetCode多人网络游戏联机对战教程(2)--简单实现联机_第1张图片

选择刚刚创建的NetworkManager, 添加NetworkManager脚本

Unity之NetCode多人网络游戏联机对战教程(2)--简单实现联机_第2张图片
选择 UnityTransport

Unity之NetCode多人网络游戏联机对战教程(2)--简单实现联机_第3张图片
Unity之NetCode多人网络游戏联机对战教程(2)--简单实现联机_第4张图片

最后保存一下即可完成配置


3.创建Player

创建一个胶囊,命名为Player, 并添加一个Network Object组件

Unity之NetCode多人网络游戏联机对战教程(2)--简单实现联机_第5张图片

Unity之NetCode多人网络游戏联机对战教程(2)--简单实现联机_第6张图片

Assets目录下创建一个Prefabs文件夹,把刚刚创建的物体拖进去

Unity之NetCode多人网络游戏联机对战教程(2)--简单实现联机_第7张图片

然后按Delete删除在场景中的Player

Unity之NetCode多人网络游戏联机对战教程(2)--简单实现联机_第8张图片

在点击NetworkManager,把Player拖进去Player Prefab

Unity之NetCode多人网络游戏联机对战教程(2)--简单实现联机_第9张图片

创建个prefabs Lists, 命名为PrefabLists,双击打开把Player拖进去

Unity之NetCode多人网络游戏联机对战教程(2)--简单实现联机_第10张图片
Unity之NetCode多人网络游戏联机对战教程(2)--简单实现联机_第11张图片

创建好后在NetworkManager中导入这个

Unity之NetCode多人网络游戏联机对战教程(2)--简单实现联机_第12张图片

这个后续可以在创建一个角色,让每个Client可以选择角色加载


4.创建地面

Unity之NetCode多人网络游戏联机对战教程(2)--简单实现联机_第13张图片

打开编译设置,添加场景

Unity之NetCode多人网络游戏联机对战教程(2)--简单实现联机_第14张图片
Unity之NetCode多人网络游戏联机对战教程(2)--简单实现联机_第15张图片


5.创建GameManager

Scripts文件夹创建一个GameManager脚本

using UnityEngine;
using Unity.Netcode;

public class GameManager : MonoBehaviour
{
    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.O))
        {
            NetworkManager.Singleton.StartHost();
        }

        if (Input.GetKeyDown(KeyCode.P))
        {
            NetworkManager.Singleton.StartClient();
        }
    }
}

挂载到NetworkManager下面


6.编译运行

Unity之NetCode多人网络游戏联机对战教程(2)--简单实现联机_第16张图片

设置窗口化运行

Unity之NetCode多人网络游戏联机对战教程(2)--简单实现联机_第17张图片

然后点击Build即可


7. 测试联机

一个程序按下O键创建主机,另外一个按下P键加入主机

Unity之NetCode多人网络游戏联机对战教程(2)--简单实现联机_第18张图片

虽然两个角色重叠了在一起,但还是运行成功了。

Unity之NetCode多人网络游戏联机对战教程(2)--简单实现联机_第19张图片


后话

这边讲的很粗略,后面会慢慢更新教程

官方教程:https://docs-multiplayer.unity3d.com/netcode/current/tutorials/get-started-ngo/

你可能感兴趣的:(Unity,unity,NGO,Netcode,联机,多人)