UE5.7 PCG从入门到精通系列课程【第二课:使用PCG制作草地系统】
2026/7/14 5:37:42 网站建设 项目流程

视频地址:https://www.bilibili.com/video/BV1hyoGBcEbj?spm_id_from=333.788.player.switch&vd_source=707ec8983cc32e6e065d5496a7f79ee6

第二课:使用PCG制作草地系统

  • PCG有两种生成方式

离线静态 - CPU
数百个点
离线生成
始终存在
在边界内生成
运行时 - GPU
数百万个点
在游戏中实时生成
围绕玩家生成
在网格瓦片中生成

  • 使用实时草地PCG模板

  • PCG内容

    一旦使用了GPU,后面的节点就最好都使用GPU,若使用了CPU,在2个处理器里切换,会非常慢
    把PCG图表拖到场景里,发现是这样的,生成了很多个点,而且目前是静态的

  • 为了和地形的网格瓦片一起工作,我们先打开 Is Partitioned (为分区)

  • 生成方式有3种

    改成运行时生成,运行程序,看看效果

  • 接下来,扩大PCG

    并在PCGWorldActor里设置,将编辑器视口为生成源,这样在编辑器里,也可以看了

  • 修改图块大小


    这个值越大,图块越大,在PCG Graph里,对应的图块有生成半径的设置,这里先设置3200

    可以为独立的网格体设置剔除距离

  • 现在看到加载草地时,会有锯齿的方块状,下面解决这个问题
    在Static Mesh Spawner里,设置Instance End Cull Distance比3200少一点,比如2900

  • 调整下生成草的数量

    生成5000个草

  • 加入草,如果调高草的数量,可以把nanite开启

  • 优化1,关闭阴影,搜索shadow

  • 优化2,设置停止摆动的距离,远处的草就不需要摆动了,输入world,进行设置

  • 优化3,搜索lighting,关闭光照影响,这些参数控制PCG资产的光照通道、间接光反弹、隐藏时贡献及距离场阴影、OA等效果。

    表现效果

  • 通过Outliner里的PCG对象,快速设置点的大小、密度等

    调整这些值,达到满意的水平
  1. 基础分布与随机性

Density Filter
(密度过滤):控制最终保留点的密度阈值(0-1)。值越高,生成的草越少;通常用于配合后续的密度噪声或坡度过滤,剔除不需要的点 。

Random Noise Scale
(随机噪声缩放):控制随机噪声图案的大小。数值越大,噪声的“斑块”越大,草丛的宏观分布越稀疏/集中;数值越小,细节变化越多 。

Random Position Offset
(随机位置偏移):控制草在生成位置基础上随机晃动的范围。数值越大,草的位置越不规则,能打破整齐的网格感 。

Random Noise Seed / Spatial Noise Seed
(随机种子):整数种子,用于固定随机分布的模式。相同的种子会生成完全相同的随机结果,方便复现和调试 。

  1. 尺寸与缩放控制

Points Scale Min / Max (点缩放范围):控制生成草模型的基础大小范围。图中设为 0.7到
1.3,意味着草的高度/大小会在这个区间内随机变化,模拟自然生长的差异 。

Scale by Density Min / Max (基于密度的缩放范围):根据点自身的
$Density属性(通常由地形法线或噪声计算得出)来进一步调整大小。

图中设为 0.4到 0.7。

作用:通常密度高的地方(如平地)草长得更大/更密,密度低的地方(如坡地边缘)草更小/更稀疏。这能让过渡更自然 。

  1. 空间噪声与细节

Spatial Noise Size (空间噪声大小):控制空间噪声(Spatial Noise)影响范围的尺度。类似于 Random
Noise Scale,但通常用于更宏观的集群分布,数值越大,草丛的“团块”感越强 。

Spatial Noise Strength (空间噪声强度):控制噪声对密度影响的强度。数值越大(图中为
0.45),噪声造成的疏密对比越明显,能制造出斑驳的草地效果 。

  • 设置网格体的淡入淡出
    设置cull的Start和End距离
  • 另外,如果材质上有这样的配置,可以根据Start和End,进行物体透明度的淡入淡出。


需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询