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


1.添加基本组件

  • NetworkManager
  • Player
  • Scene

2.创建NetworkManager组件

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

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


选择 UnityTransport


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


3.创建Player

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

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

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

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

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


创建好后在NetworkManager中导入这个

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


4.创建地面

打开编译设置,添加场景



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.编译运行

设置窗口化运行

然后点击Build即可


7. 测试联机

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

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


后话

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

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

猜你喜欢

转载自blog.csdn.net/a924282761/article/details/132910734