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