大场景streaming加载

发布于 2017-01-19 07:21:26 字数 40 浏览 970 评论 1

想问下,关于大场景streaming 加载有什么好的可行性方案么?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

虐人心 2019-03-06 03:10:14

之前做过一些大地形的工作(PC端,流程可能不太一样),简单地说下个人了解的一些,仅供参考

1.大场景分块:
分割之后对每个分块进行编辑(刷地表、加模型、加光照信息等),每个块包含的信息有块索引、lightmap及物体的光照信息(lightmap对应的UV)等

2.Terrain转Mesh:
Mesh Terrain Editor这个插件支持,Mesh处理是为了高空大视野等需求支持地形的LOD

3.块的拼接:
模型拼接——每个块调整之后Terrain的接缝可以用SetNeighbors拼接,如果是使用Mesh的话参考一下这个,实现一个合适的拼接算法

纹理拼接(包含LightMap)——不同块的纹理要求有相同的基础纹理、基础纹理重复度相同,接缝处使用差值自定义一个过渡的范围,注意UV采样(LightMap同理),需要自己写Shader实现

4.加载策略:
至此数据就全了,加载策略可使用四叉树,参考QuadTreeTerrainDemo_Unity,LOD层次对应四叉树的深度,地形较大的情况要考虑性能和深度的权衡,策略需要调整,[若存在玩家原地高速旋转等操作,动态卸载不能是即时的,要有一定的驻留策略]

可参考的文章:
3D无缝大世界手游开发经验
基于Unity3D引擎的大地形加载研究

插件:
WorldStreamer

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文