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

相关推荐
lvcoc15 分钟前
unity 接入火山引擎API,包括即梦AI
windows·unity·ai·火山引擎
一线灵1 小时前
跨平台游戏引擎 Axmol-2.8.1 发布
junit·游戏引擎
程序猿多布1 小时前
Lua和C#比较
c#·lua
m0_571372822 小时前
嵌入式学习——ARM 体系架构1
arm开发·学习
Rhys..3 小时前
python + Flask模块学习 2 接收用户请求并返回json数据
python·学习·flask
nightunderblackcat4 小时前
新手向:Python制作贪吃蛇游戏(Pygame)
python·游戏·pygame
2501_926227944 小时前
.Net程序员就业现状以及学习路线图(四)
学习·.net
滴滴滴嘟嘟嘟.5 小时前
Qt自定义列表项与QListWidget学习
开发语言·qt·学习
Yvonne爱编码5 小时前
零基础学习数据采集与监视控制系统SCADA
学习·信息可视化·信息与通信·数据可视化
肥肠可耐的西西公主5 小时前
后端(JDBC)学习笔记(CLASS 1):基础篇(一)
笔记·学习