Unity 多人游戏框架学习系列一

系列文章目录

unity知识点


文章目录


前言

博客将会介绍多人游戏学习。希望这篇博客对Unity的开发者有所帮助。

大家好,我是心疼你的一切,不定时更新Unity开发技巧,觉得有用记得一键三连哦。

欢迎点赞评论哦.下面就让我们进入正文吧 !


提示:以下是本篇文章正文内容,下面案例可供参考

一、多人游戏概述

网络功能有两种用户:

使用 Unity 制作多人游戏的用户。这些用户应从 NetworkManager 或高级 API 开始。

构建网络基础设施或高级多人游戏的用户。这些用户应从 NetworkTransport API 开始。

二、高级脚本 API

Unity 的网络功能有一个"高级"脚本 API(我们称之为 HLAPI)。使用此 API 意味着可以访问满足多用户游戏大多数常见要求的命令,而无需担心"较低级别"的实现细节。HLAPI 提供以下功能:

  • 使用 Network Manager 来控制游戏的联网状态。

  • 操作"客户端托管的"游戏,这种情况下的主机也是玩家客户端。

  • 使用通用序列化程序来序列化数据。

  • 发送和接收网络消息。

  • 将联网命令从客户端发送到服务器。

  • 执行从服务器到客户端的远程过程调用 (RPC)。

  • 将联网事件从服务器发送到客户端。

三、引擎和 Editor 集成

Unity 的联网系统集成在引擎和 Editor 中,因此便于使用组件和视觉辅助工具来构建多人游戏。该系统具有以下功能:

  • 用于联网对象的 NetworkIdentity 组件。
  • 用于联网脚本的 NetworkBehaviour。
  • 可配置的对象变换自动同步。
  • 脚本变量自动同步。
  • 支持在 Unity 场景中放置联网对象。
  • 网络组件

四、互联网服务

Unity 提供互联网服务,以在游戏的开发和发布过程中为您提供支持,其中包括:

  • 配对服务
  • 创建比赛和通告比赛。
  • 列出可用的比赛和加入比赛。
  • 中继服务器 (Relay Server)
  • 基于互联网但无专用服务器的游戏。
  • 比赛参与者的消息传送。

五、NetworkTransport 实时传输层

我们包含了实时传输层,其具备以下功能:

基于 UDP 的优化协议。

多通道设计可避免线头阻塞问题

每个通道支持各种级别的服务质量 (QoS)。

灵活的网络拓扑可支持对等架构或客户端/服务器架构。

六、身份验证

Unity 的网络系统实现了简单的内置身份验证功能,这些功能为验证会话提供了基本支持,但并不是可靠的身份验证解决方案。

可靠的身份验证可能是开发多人游戏项目的重要因素,因为它有助于防止恶意用户劫持玩家会话、冒充其他用户、使合法玩家与游戏断开连接或其他针对游戏或应用程序的恶意行为。

由于 Unity只提供了简单的内置认证功能,如果你希望在您的游戏或应用程序中对恶意行为进行严格防护,那么网应当使用第三方认证和加密解决方案,或者自行使用诺如此参考实现以及NebonkTransort API 这样的插件来实现这些功能。

七、示例项目

下载链接

壁纸分享


总结

书接上回,承接下回,一系列的。欲知后事如何,且听下回分解。

本次总结的就是简介, 有需要会继续增加功能

如能帮助到你,就帮忙点个赞吧,三连更好哦,谢谢

你的点赞就是对博主的支持,有问题记得留言评论哦!

不定时更新Unity开发技巧,觉得有用记得一键三连哦。么么哒!

相关推荐
xiezhr1 天前
米哈游36岁程序员被曝复工当晚猝死出租屋内
游戏·程序员·游戏开发
Scout-leaf3 天前
WPF新手村教程(三)—— 路由事件
c#·wpf
用户298698530143 天前
程序员效率工具:Spire.Doc如何助你一键搞定Word表格排版
后端·c#·.net
mudtools4 天前
搭建一套.net下能落地的飞书考勤系统
后端·c#·.net
玩泥巴的4 天前
搭建一套.net下能落地的飞书考勤系统
c#·.net·二次开发·飞书
唐宋元明清21884 天前
.NET 本地Db数据库-技术方案选型
windows·c#
lindexi5 天前
dotnet DirectX 通过可等待交换链降低输入渲染延迟
c#·directx·d2d·direct2d·vortice
西岸行者5 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意5 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
qq_454245035 天前
基于组件与行为的树状节点系统
数据结构·c#