自2024年5月16日起,中文课堂仅支持使用UnityID登入,如遇问题,请在开发者社区发帖说明情况,我们会尽快帮您解决。
原价 ¥1778
优惠剩余:0天0时0分

MMO开放世界(Netcode for GameObjects)

教程
高级
60 小时
概述
作者信息
教程资料
互动讨论
课程评价
175人收藏,150人学习
摘要

该课程已经完结,总共212节,提供全部素材与源码

技术选型

  • 客户端:Unity,使用了JKFrame(由于基于Netcode for GameObjects,所以双端都适用)、Addressables
  • 服务端:基于Unity的Netcode for GameObjects双端同步框架,周边系统(登录、背包、聊天等)也基于Netcode实现了自定义网络消息系统。
  • 数据库:MongoDB

主要内容

  1. 热更新:HybridCLR +Addressables的客户端热更新,游戏一开始一个下载进度条,下载完进游戏。如果下载中断下次启动继续下载。
  2. 注册登录:使用Mongodb保存用户数据,账号信息、游戏数据等
  3. 背包:物品数量较少,主要是武器、药剂、材料等
  4. 商店:专门的NPC,用于购买武器、药剂、材料等
  5. 打造:专门的NPC,用于将材料转为药剂
  6. 任务:杀X个怪物、需要X个材料、找XXNPC对话
  7. NPC对话:游戏中常见的,点一下进行下一条对话,剧本固定的
  8. 聊天:在UI上进行全服聊天
  9. 服务端九宫格AOI:客户端只同步相近的其它客户端,客户端只同步较近的其他服务端对象(如NPC)
  10. 客户端空间管理:开放世界大地形的流式加载,准备的素材是12000 x 12000的地形,基于摄像机的视椎体,对空间进行四叉树划分来实现按需加载
  11. 真实服务器部署上线(此上线并不是指商业盈利行为的上线,只是学员部署在自己的服务器上测试)
  12. 战斗系统:并不复杂的战斗系统,简单的怪物AI、玩家只有普通攻击(如果您考虑或已经购买ARPG系列,其中的技能编辑器与战斗系统运行时可以比较方便的移植(本课程不包含此移植),这也是得利于Netcode for GameObjects实际上就是在服务器上运行一个特化的Unity应用)
  13. 第三人称控制:比较常规,有跳跃,相机基于Cinemachine
  14. 游戏设置:音量控制、语言设置,保存在本地
  15. 本地化:基于JKFrame的本地化系统,主要对UI进行了本地化(实际上内容并不多,没多少UI)
  16. 配置:部分涉及转表,部分 ScriptableObject 即可

可能劝退的部分

  1. Mirror、Netcode for GameObjects这类同步方案都是状态同步,如果你期望学习的是帧同步,并没有太多参考意义。
  2. 性能较好的同步方案一定是自己实现的同步方案,而不是Mirror、Netcode for GameObjects这类方案,但是这类方案具有非常强的开发效率,但是也会导致你的服务器成本更高,但我不认为这是小团队/个人需要考虑的事情,游戏的失败一般出于没有用户。
  3. 只是想开发一个房间制游戏,MMO在网络游戏里面应该是最复杂的品类,所以涉及到的知识会较多的覆盖到其他网游类型,但房间制游戏有一个较为关键的“房间管理”是本课程不具备的,但是我认为这是基于Netcode for GameObjects做房间制游戏的关键技术。
  4. 课程属于进阶课程,需要对Unity和C#都一定的经验,至少可以独立完成休闲单机游戏的程度。

源码与资源

本页面-选择教程资源后下载即可,其中源码文件解压后是git项目, 可以使用GithubDesktop或其他类似软件打开使用

价格与优惠

春节、618、双11、国庆等重要节日会进行打折,作此说明的原因是因为笔者其他课程仅刚上线时做早鸟价折扣,此课程例外,折扣比例参考:7~8折

其他

交流群:885222391,无加入条件,属Unity交流群
课程群:151449496,加入时需填写LearnID (点击头像 选择我的学习,即可看到LearnID ) ,属课程答疑群
售前咨询:QQ739554159
建议的Unity版本
2022.3
教程
MMO开放世界(Netcode for GameObjects)
电脑配置不足?
Unity云桌面,为Unity而生的云开发平台。
即可体验