PCG 究竟是如何运作的呢?游戏场景PCG的应用

PCG 究竟是如何运作的呢?游戏场景PCG的应用

在介绍如何使用PCG之前,我们需要先了解3个重要的的概念Point、Volume、Attribute。

1.1Point

Points(点):3D空间中的坐标点,由PCG图表生成,常用于生成网格体。点包含变换、边界、颜色、密度、陡度和种子等信息。可以为它们分配由用户自定义的属性值。

举例介绍Point在程序化生成的用法:

例1 . 场景中创造一片森林

1.在地面撒点

2.过滤点

3.点替换成Mesh

把点想象成树的种子,过滤点相当于种子的存活率,最终成为森林。

例2. 利用点在样条线上的分布,制作围栏

1.绘制一条曲线并在曲线上每2米生成一个点

2. 点替换成Mesh

1.2Volume

Pcg Volume(体积)用于在特定范围内程序化地生成内容。常用于自动生成森林、城市等大规模环境。

举例介绍Volume在程序化生成的用法:

例1 .利用Volume表现植物之间的竞争关系

植物之间的竞争关系,包括对光照、水分、土壤养分等资源的争夺。当植物无法在这些竞争中获得足够的生存资源时,它们的生长会受到限制,导致生长缓慢、叶片变黄、最终枯死。

(参考:https://www.youtube.com/watch?v=7yXJRswO5Oc)

首先,植物从种子慢慢生长成大树

树木强劲的生长阻止了附近植物的生长

结果的大树的根部不会开花

利用Volume去除树下面的点

例2 . 利用Volume去除形状的点群

首先在场景中标识曲线,然后在曲线内生成点群,最后使用Difference去除重叠的部分。

1.3Attribute在程序化生成的用法

点只有位置信息,没有体积和大小。点颜色深浅代表存活的概率。点在Pcg中点包含了位置、旋转、缩放、密度、距离等等很多信息,非常有用。

举例介绍Attribute在程序化生成的用法:

比如河中的石头,靠近上方的石头大而粗糙,下方的小而圆。这里用到了距离(Distance)属性。首先 将距离的属性添加到每个点上。然后,根据距离改变资产的大小,或者改变不同的模型资产。

例1.通过距离属性剔除围栏附近的点。

利用Point Filter 将超过指定距离的点删除。

使用 PCG

要从插件设置中启用以下插件。启用插件后重新启动引擎。

创建PCG

要创建 PCG,要从内容浏览器中点击右键选择“PCG”>“PCG Graph”。

双击打卡PCG Graph,空白处点击右键输入Landscape,然后将 Landscape 项目连接到 Surface Sampler。右键单击“Surface Sampler”并启用“调试”。

将刚才创建的PCG Graph,拖放到一个带有地形的初始关卡。在PCG接触的地形中会放置一个黑白盒子。这个盒子只是一个预览,同时每个盒子都有自己的坐标值,可以在属性(Attributes)中查看。

下面将黑白的盒子替换成实际的mesh网格体。创建一个静态物体生成器(Static Mesh Spawner)在PCG Graph 中。

调整HierarchicallnstancedStaticMesh,选择树的模型。

调整树的位置和大小,使它看起来更随机一些。

添加变化点节点(TransformPoints)添加随机值来变换属性.

这样,PCG的基础就是添加各种不同的属性来改变mesh放置的信息。

PCG 允许使用来自各种物体(如地形、样条线和网格)的信息进行复杂的放置。返回搜狐,查看更多

相关推荐

如何使用远程打印机?简单3步就可以做到!
365bet正网注册

如何使用远程打印机?简单3步就可以做到!

07-15 👁️ 9205
唯爱美牙仪有副作用吗?常见问题解析!
365bet盘口官网

唯爱美牙仪有副作用吗?常见问题解析!

07-08 👁️ 3322
世界杯进球记录帽子戏法 世界杯上共有多少次帽子戏法