介绍
PCG(程序化生成系统)是一种程序化生成系统,主要是地编美术使用,用于制作量大但重复性高的场景。
PCG系统中核心部分是被称之为PCG图表的编辑器,这个工具是一种类似于蓝图系统的工具。
概览
基础使用案例
在这个案例中,我们需要使用PCG系统制作一个树木生成的PCG图表
达成的效果
1.案例PCG节点逻辑
使用的节点类型
- 采样器(Sampler):包含从空间数据源(例如体积、表面和网格体)生成点的节点。
- 空间(Spatial):包含能在数据之间创建空间关系、更改其内部空间数据或检索数据的节点。
- 筛选器(Filter):包含基于条件或按点筛选数据的节点。
- 生成器(Spawner):包含在给定点位置创建新数据或放置Actor的节点。
2.节点介绍
表面采样器(Surface Sampler):
,,
简单来说采样器就是生成物生成点的布置方式,
而表面采样器就是说,这个采样器会在物体的表面生成各种物体,这在不规则地形(如山体)的情况下特别好用在常规网格模式中,对表面数据上的点取样。此节点包含以下选项:
- 点范围(Point Extents) :定义表面上的基本网格单元大小。
- 松散度(Looseness) :定义允许变化的单元大小。在实践中,单元大小是点范围 * (1 + 松散度)。
- 每平方米点数(Points Per Square Meter) :计算保留的单元的比率。此属性可在网格很大时避免过度拥挤。
法线转为密度(Normal To Density):
基于点法线和提供的设置( 法线(Normal) 、 偏移(Offset) 、 强度(Strength) 、 密度模式(Density Mode) )计算点数据密度,类似于点积,但更灵活。
密度过滤器(Density Filter)
,
简单来说就是筛选密度范围的节点基于密度和提供的筛选范围筛选点。
变换点
,使用基本随机规则更改点变换(就地更改,或通过 应用于属性(Apply to Attribute) 更改为属性)。 变换的每个组成部分(平移、旋转、缩放)可以设置为绝对而不是相对,以允许更多控制权。
它包含以下选项:
- 均匀缩放(Uniform Scale) :将点数据缩放到相同的X、Y、Z比率。
- 重新计算种子(Recompute Seed) :强制点种子根据其新世界位置更新。
- 示例(Example) :使用带有绝对旋转且旋转Z为0的Transform Points节点,将确保点在Z中向上指。这会确保点在从地形取样后向上。
静态网格体生成器
就是生成对应网格体的节点,
相关链接
官网链接:https://docs.unrealengine.com/5.3/zh-CN/pcg-development-guides/参考链接: