介绍
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/
参考链接:
- https://www.bilibili.com/video/BV1Xm4y167U7/?spm_id_from=333.788&vd_source=0b48a4de5d48210298dd8b91fa633329
- https://blog.csdn.net/HoChin_/article/details/134476516