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/
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)