植被的随机生成

植被蓝图概览。

Choose your operating system:

Windows

macOS

Linux

Foliage.png

植被(Foliage) 蓝图显示了如何使用蓝图来创建随机生成的植被(或其他结构),它们会被自动放置以便贴合表面。用户可以控制特效的范围以及系统尝试生成的网格体数量。随着蓝图的移动,网格体会更新以重新适应新环境。

可以一目了然的是,系统采用了固定的半径,然后选择该半径内随机生成的点作为潜在的生成点来使用。随后,它会执行向下的轨迹检查,以便查看每个点下方的表面位置,并将其作为可能的位置来使用。系统还会检查每个网格体的单独半径以防止网格体过度重叠,并将在当前无网格体的空间的任意位置处选择新的随机位置。

蓝图设置

此蓝图的组件列表、构造脚本和事件图表执行以下任务:

蓝图部分

用途

组件列表(Components List)

添加公告板组件(BillboardComponent)代表中心,添加框组件(BoxComponent)帮助将半径可视化。

构造脚本(Construction Script)

构建脚本 执行以下任务:

  • 缩放盒体组件以辅助可视化效果。

  • 使用循环从而在半径内的随机位置处创建植被网格体,生成指定数量的网格体。

  • 检测一系列情况以便查看是否以及如何生成网格体。

事件图表(Event Graph)

此蓝图不含 事件图表 ,意味着一旦设置其属性后,便会在游戏进程中保持不变。

这张图片展示了如何用蓝图脚本生成植被。如需了解脚本的完整内容,请参见Epic Games启动程序中学习(Learn)选项卡内的蓝图示例项目。

可编辑变量

你可能已经想到了,此蓝图的大多数工作在 构造脚本(Construction Script) 中完成,十分全面。以下是显示的关键公开属性及其作用。

MyBlueprintNoVar.jpg Properties_Foliage.png

属性

用途

网格体数量(Number of Meshes)

这个整数值代表了蓝图将要生成的网格体数量。在构造脚本中,此值决定了 ForLoop 节点触发的次数。每个来自于 ForLoop 节点的执行都会经过负责创建静态网格体的脚本部分。

半径(Radius)

控制特效的半径,植被将被随机散布于其中。

碰撞检测范围(Collision Trace Range)

查找在有效表面生成植被的的垂直距离(系统在垂直方向上需要查看的距离)。

待生成的网格体(Meshes To Spawn)

这是数组变量,可将来自内容浏览器的网格体添加到此数组。构造脚本生成网格体组件后,它被变更为来自于数组的随机网格体。

垂直偏移(Vertical Offset)

控制生成的网格体的表面 深度 ,可以让网格体看起来更贴近地面。

对齐至表面(Align To Surface)

这个布尔值变量会让由蓝图生成的网格体自适应,这样它们可以与其所处的表面角度相匹配。从内部来说,这个变量影响确定植被网格体放置方式的构造脚本中的一个分支。启用变量后,脚本会在尝试生成每个网格体前描画线形轨迹。当此轨迹撞击表面时,获取冲击点的角度和高度并以此确定生成的网格体的角度和高度。

最大缩放(Scale Max)

生成的网格体所允许的最大缩放。这个百分比值在0.0-1.0之间,1.0代表100%。

最小缩放(Scale Min)

生成的网格体所允许的最小缩放。这个百分比值在0.0-1.0之间,1.0代表100%。

中心周围的群集(Cluster Around Center)

此布尔值变量确定网格体的随机位置是否主要位于半径中心的周围。启用该选项后,可由中心点生成的距离网格体的数量将随机减少,会造成生成更少远离系统(从半径处观察)的网格体。

缩放衰减(Scale Falloff)

这个布尔值变量确定了当网格体远离中心点时,生成的网格体是否会越来越小。 布尔值决定了网格体的缩放是否会与网格体和中心位置的距离值相乘。如果我们使用蓝图来生成植被网格体,那么当花草的大小在群组的外部边缘周围逐渐减小时,网格体群集看起来更为自然。

随机种子(Random Seed)

控制应用的种子以创建随机数量。变更此值来改变你的运算结果。

欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消