当前位置: 首页 > news >正文

Unity手游开放大世界解决方案

        开个新坑了,分享一个手游开放大世界的解决方案,也算是我开发研究了一年多的结果吧。之前项目需要,做了一整套的手游开放大世界解决方案,这里做一个总结归纳,将所需要的技术栈和解决方案等汇总。

        这篇文章只是起头一个目录,后续更新了具体内容会补充链接到这里。

项目介绍

        在介绍技术栈之前,需要先了解下项目需求(因为有不少方案都是基于需求而定制的)。我们这个项目是一个海洋主题的项目,整个大世界是由一片大洋和星罗棋布的岛屿组成。最大的岛屿占地 2048*2048 米,最小的岛屿占地 256*256 米,整个世界大大小小岛屿总量约 1万。评估下来,总世界面积超过 4000 平方公里,总陆地面积约 922 平方公里。
        其中,岛屿有上岛玩法,即玩家可以扮演一个 NPC 登陆游玩,类似 RPG 游戏,可以进行解谜、战斗、探索等。玩家岛屿固定大小,可以在地图上迁移。整个大世界需要网络同步,同服设计人数上限为 5000 。
        在岛屿设计上,需要做到 “千岛千面” ,各个岛屿需要根据气候、文明等游戏设定进行变化。玩家可以驾驶船只在大世界航行,在各个岛屿之间进行探索。
        总体来讲,就是 MMORPG+开放大世界+SLG,可以说是难度相当大的。基于需求,我计划了一整套解决方案(当然也有依据项目定制的),在理论上可以实现上述要求。

技术栈整理

渲染

  • GpuTerrain(RVT):开放大世界的 GpuTerrain + RVT-CSDN博客
  • GpuDriven 海量静态物体渲染:GPU驱动的大规模静态物件渲染-CSDN博客
  • Dots + Gpu Instance
  • 多线程草海系统
  • 大规模特效解决方案

游戏逻辑

  • 数据结构、流式加载方案
  • 碰撞方案
  • 寻路方案
  • 网络同步方案
  • 大量单位的管理,AI、GPUSkin

开发流水线

  • 工程结构、资源导出、管理流程
  • 以白模为基础的开发流程
  • 基于 Houdini 的程序化生产管线

其他

  • 负反馈性能调节系统
  • 调试工具
  • 自动化测试与预计算


        由于技术水平有限,所以有的方案并不具备通用性,也不是最佳方案。欢迎大家探讨更好的解决方案。

http://www.lryc.cn/news/425038.html

相关文章:

  • mysql B+ 树
  • Sublime Text常用快捷键大全
  • 中成科信票务管理系统 TicketManager.ashx接口SQL注入漏洞复现 [附POC]
  • 设计模式六大原则之:依赖倒置原则
  • 06_Linux中如何让程序重启后自动启动
  • 优化业务流程的关键:深入探讨BPA流程设计
  • qt工程中调用sdl的流程
  • ECMAScript性能优化技巧与陷阱
  • c++实现B树(上)
  • 【机器学习】深度强化学习–RL的基本概念、经典场景以及算法分类
  • 【git】将本地文件上传到github
  • 安卓应用开发学习:手机摇一摇功能应用尝试--摇骰子和摇红包
  • HTML中的<fieldset>标签元素框的使用
  • Linux驱动入门实验班——SR501红外模块驱动(附百问网视频链接)
  • windows C++- Com技术简介(上)
  • Jenkins持续集成工具学习
  • Redis:查询是否包含某个字符/字符串之三
  • 【Redis】数据类型详解及其应用场景
  • PARA-Drive:设计并行模型实现端到端自动驾驶
  • vs2022 x64 C/C++和汇编混编 遇到的坑
  • PHP概述、环境搭建与基本语法讲解
  • 实现信创Linux麦克风摄像头录制(源码,银河麒麟、统信UOS)
  • 深度学习9--目标检测
  • 第131天:内网安全-横向移动Kerberos 攻击SPN扫描WinRMWinRSRDP
  • 微信小程序的四种弹窗使用
  • 我的第一个CUDA程序
  • workerman下的webman路由浏览器跨域的一种问题
  • Windows11 -MASKRCNN-部署测试
  • 函数(子程序)的常见、易混淆概念详解【对初学者有帮助】
  • TiDB-从0到1-DM工具