GPU-BASED PROCEDURAL PLACEMENT IN HORIZON ZERO DAWN

 

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个人

 

posted on 2019-02-21 17:32  cainiao001  阅读(324)  评论(0编辑  收藏  举报

导航