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/

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity多人联机实时对战技术》是一份详细介绍Unity引擎中实现多人在线对战功能的技术指南。该文档主要包括以下内容: 首先介绍了多人联机实时对战技术的概念和特点。多人联机对战技术是指多个玩家通过网络实时进行游戏对战,具有实时性、互动性和可扩展性等特点。在这种技术下,玩家可以实时与其他玩家进行交互,共同参与游戏活动。 接着,文档详细介绍了Unity引擎中实现多人联机对战的方法和技术。其中包括网络通信技术、服务器架构和数据同步等方面的内容。通过网络通信技术,玩家可以实时收发游戏数据,保证游戏的实时性。服务器架构则是用来管理游戏的各项功能和数据,确保多个玩家之间的同步和协作。数据同步技术是保证不同玩家之间游戏数据一致性的重要手段,确保每个玩家在各自游戏客户端上看到的游戏状态是一致的。 此外,文档还介绍了其他相关的技术和工具,如游戏内购系统、反作弊机制等。游戏内购系统是指在游戏中添加虚拟商品,使玩家可以通过购买来获取更好的游戏体验。反作弊机制则是为了保证游戏的公平性和完整性,在游戏中防止作弊行为的发生。 总结起来,《Unity多人联机实时对战技术》是一份全面介绍Unity引擎中实现多人在线对战功能的技术文档,内容包括了多人联机实现的概念、技术方法和相关工具等,对于有需要的游戏开发者来说,是一份非常实用的参考资料。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值