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开发技巧,觉得有用记得一键三连哦。么么哒!

相关推荐
奶茶精Gaaa几秒前
工具分享--json在线转换工具
学习
天人合一peng14 分钟前
unity 通过代码修改button及其名字字体的属性
unity·游戏引擎
wdfk_prog17 分钟前
[Linux]学习笔记系列 -- [drivers][I2C]I2C
linux·笔记·学习
2501_9307077819 分钟前
使用 C# .NET 从 PowerPoint 演示文稿中提取背景图片
c#·powerpoint·.net
盐焗西兰花28 分钟前
鸿蒙学习实战之路-Reader Kit自定义字体最佳实践
学习·华为·harmonyos
初级代码游戏1 小时前
套路化编程 C# winform 自适应缩放布局
开发语言·c#·winform·自动布局·自动缩放
近津薪荼1 小时前
dfs专题5——(二叉搜索树中第 K 小的元素)
c++·学习·算法·深度优先
灵狐数据FoxData2 小时前
QQ农场今日回归,我们想“偷”回的到底是什么?
游戏·社交电子·业界资讯·娱乐·玩游戏
敏叔V5872 小时前
AI智能体的工具学习进阶:零样本API理解与调用
人工智能·学习
大空大地20262 小时前
流程控制语句--switch多分支语句使用、while循环语句的使用、do...while语句、for循环
c#