Horizeon 基于GPU程序化场景

原因:

1.快速迭代

2.种类多

3.稳定

4.艺术家控制:数据驱动,位置,局部控制

实时程序化编辑

1.传统的是CPU计算

2.转成GPU处理

3.实时编辑

4.使用贴图记录位置

成果:

我们使用程序自动放置所有的自然场景Object

1.500+ 的资源类型

2.1000+的Objects

3.GPU处理 约250纳秒

多样性

资源结构介绍

包含:

资源类型

资源分配

资源颜色

天气

特效

音效  

动物

配置

创建一个真实世界

艺术家全部控制:数据,逻辑,手动修改

世界数据

收集2D视角地图

1.分块处理

2.同时加载

3.可编辑

约4MB每平方公里

绘制世界数据

手动修改

编码逻辑

数据列表

资源名字,资源大小,格式

生成世界数据

1根据场景中的模型生成植物mask

2根据场景中的路生成道路mask

高度分层

名字,大小,格式

世界数据:从地形提取数据

侵蚀的沟壑数据,侵蚀的痕迹

密度逻辑

艺术家全部控制

手动手动刷

程序生成

程序逻辑

合图,可以在nuke制作

资源生态

程序先生成,然后笔刷覆盖,权重

基础程序层

准备好资源

1.抹平层

2.转换编码

3.优化合并

世界数据和图层信息得出密度图,然后再离散生成模型

步骤一,密度数据
单一图层

可以缩放的密度

mipmap 数据

步骤2,生成

离散设置

基于抖动

碰撞检测

生成平铺

生成工具:生成方法、1,阈值均匀生成,最大化2D距离

规定阈值为2=w

缩放W =footprint

一组平铺

1.强度测试

2.阈值测试

3.位置生成

4.

5.stage to buffer

放置

需要根据RNG平铺

基础生成

包围盒生成

根据每层运行

独立的离散化

碰撞?

保存碰撞

不同的方法?

读取-bake,依赖关系   no

相同的方法?

分层

分层密度图

2个数值

2边的是阈值

分层

密度图的开销

单独的数值

可能需要非放置层

更多的工作,但是

稀疏制备关系到开销问题

用排列顺序法减少密度图生成

GPU Pipelining

实例化管线64次

每个管线多从采样密度图

每个管线处理一层

减少不必要的刷新

结论

程序化植被是广泛可以使用的

非常好的质量

适合艺术家创作

加载250纳秒,

强大的工具用于自然世界

自然资源三个人创建

生态圈1个人

转载于:https://www.cnblogs.com/cainiao001/p/10406202.html

GPU-BASED PROCEDURAL PLACEMENT IN HORIZON ZERO DAWN相关推荐

  1. 阅读笔记 - Horizon Zero Dawn 广袤世界中的玩家漫游

    最开始我是忽略了这篇演讲的,因为Player Traversal是啥并没看懂- -b 后来看到 @顾露 大神在技术选荐中推荐了它,才拖下来看了看. 没想到这篇讲角色Locomotion的演讲中信息量意 ...

  2. 程序化物件放置(procedural placement)之泊松硬盘采样(poisson disk sampling)

    程序化物件放置(Procedural Placement) 在开放世界游戏中, 很多小物件(物品箱子, 杂物, 草,木桶)的摆放是很耗费工作量的, 靠人工手动摆放是不现实的,为了节省工作量, 工程师探 ...

  3. 翻译:Player Traversal Mechanics in the Vast World of ‘Horizon: Zero Dawn‘

    介绍 GDC原文链接:GDC Vault - Player Traversal Mechanics in the Vast World of 'Horizon: Zero Dawn' During t ...

  4. 1. THE REAL-TIME VOLUMETRIC CLOUDSCAPES OF HORIZON ZERO DAWN

    摘要 游戏中的实时体积云通常以降低质量为代价获得快速性能.最成功的方法仅限于低空蓬松和半透明的层状云.对于地平线零黎明,Guerrilla 需要一种解决方案,该解决方案可以用不断变化的现实结果填充天空 ...

  5. 【GPU精粹与Shader编程】(七) 一篇文章读完《GPU Gems 3》

            本文由@浅墨_毛星云 出品,首发于知乎专栏,转载请注明出处           文章链接: https://zhuanlan.zhihu.com/p/44671434 本文是[GPU精 ...

  6. 【GPU精粹与Shader编程】 七 一篇文章读完 GPU Gems 3

            本文由@浅墨_毛星云 出品,首发于知乎专栏,转载请注明出处           文章链接: https://zhuanlan.zhihu.com/p/44671434 本文是[GPU精 ...

  7. 【GDC翻译】“地平线零之曙光”中基于GPU的程序化实时放置系统

    原视频:GDC Vault - GPU-Based Run-Time Procedural Placement in 'Horizon: Zero Dawn' PDF:https://www.gdcv ...

  8. GPU Gems1 - 3 Dawn Demo中的皮肤渲染(Skin in the Dawn Demo)

    该篇文章参照浅墨的这篇文章:https://zhuanlan.zhihu.com/p/35974789 Dawn是由NVIDIA创建的,用来介绍GeForce FX产品线的演示程序,它说明如何使用可编 ...

  9. opencv gpu cuda项目整理

    opencv cuda编译: Window编译Opencv CUDA_jacke121的专栏-CSDN博客_opencv编译cuda // C++ net.setPreferableBackend(c ...

最新文章

  1. 阅读10、11、12章
  2. 结构方程模型_简单易懂,结构方程模型思路总结
  3. 刘志勇:微博短视频百万级高并发架构
  4. 吉哥系列故事——恨7不成妻(数位 DP)
  5. uva 10479——The Hendrie Sequence
  6. 二手交易平台html代码,二手物品交易HTML5模板
  7. spring电子书_不懂Spring就彻底放Java吧
  8. JavaScript 操作剪贴板
  9. 全国计算机二级报名入口新疆,新疆2019年3月全国计算机等级(NCRE)考试(第54次)报名入口...
  10. 设计模式——组合设计模式
  11. 这5款功能强大、堪称最良心的浏览器,简直好用极了!
  12. 编写一个猜数字游戏程序。
  13. python 卡方分布函数_推断统计分析(二):python验证三大抽样分布
  14. JVM七大垃圾回收器上篇Serial、ParNeW、Parallel Scavenge、 Serial Old、 Parallel Old、 CMS、 G1【尚】
  15. 面向对象程序设计之类和对象初级试题
  16. 不同手机类型该如何更换手机IP
  17. MySQL 员工信息查询
  18. CAD梦想画图中的的“绘图工具——绘线命令”
  19. 路由的导航守卫过渡动效transtion导航守卫 路由懒加载 路由元信息 @stage3---wee2--day7
  20. Windows 11 下 Virtualbox 6.1.34 出现 End kernel panic - not syncing: attempted to kill the idle task

热门文章

  1. 在户外头发竖立起来是遭雷击的先兆
  2. RFID无人仓库是如何工作的?
  3. 华为哪款手机将用鸿蒙系统,鸿蒙系统终于来了!这几款华为手机都可以升级了...
  4. php cs fixer.bat,使用 PHP-CS-Fixer 自动规范化你的 PHP 代码
  5. 「镁客·请讲」慧川智能康洪文:打造一个“AI+视频云平台”的中央厨房
  6. Vue ,Element-ui中el-menu使用阿里图标
  7. MATLAB保存当前视图的图像为PDF
  8. eclipse和java的关系
  9. 爬虫入门(一):爬虫简介
  10. 程序员修炼之路(十)程序员必读经典书籍和成长路线