您需要 登录 才可以下载或查看,没有账号?注册
x
名称:Flat Area Detector 功能:Flat Area Detector 子图表用于确定表面是否足够平坦,以放置给定大小的点,并避免资产错位的情况(如资产部分悬浮在地面上)。Flat Area Detector 通过在每个源点周围的4个不同位置对表面进行取样,从而实现对水平表面或倾斜表面的处理。在4个采样位置中,如有任何一个不与由输入点位置和方向定义的平面相交,输入点将被丢弃。在上面的图片中,这些平面显示为蓝色矩形。此外,在4个采样位置中,如有任何一个的表面方向偏离输入点的方向,输入点也将被丢弃。 路径:/Game/PCG/Graphs/Forest/DiscardPointsInBumpyAreas 使用:要将Flat Area Detector 作为PCG图表中的节点使用,在 内容浏览器 中将此图表拖放至 PCG图表 编辑器
引脚 | 类型 | 说明 | In | 点 | 针对ProjectionTarget表面测试的输入点 | InNoProjection | 点 | (可选项) 此引脚是一种优化措施,如果输入点已经在表面上,可以用它代替In引脚来输入 | ProjectionTarget | 表面 | 把这个引脚连接到你需要评估平整度的表面上,它可以是一个Get Landscape Data或World Ray Hit节点生产的表面。 | SampleDistance | 特性集 - Double | ▪这个引脚需要一个浮点或双精度浮点的属性输入,比如由创建属性节点提供的属性
•这个引脚控制每个用于探测表面的源点和采样点之间的距离
•从视觉上来讲,这些点由上图中蓝色线框的X-Y延伸部分表示 | HeightThreshold | 特性集 - Double | •这个引脚需要一个浮点或双精度浮点的属性输入,比如由创建属性节点提供的属性
•与蓝色线框表面的距离大于这个值的采样点会被认定为偏离平面,随后被用来弃用输入点
•平面外的点显示为上图中的红色方框 | NormalThreshold | 特性集 - Double | •这个引脚需要一个浮点或双精度浮点的属性输入,比如由创建属性节点提供的属性
•这个引脚控制在放弃输入点之前,采样点的上行矢量能与输入点的上行向量相差多少
•这个值必须是负数。它越接近于零,被弃用的点数就越多 | Out | 点 | 通过HeightThreshold和NormalThreshold测试后剩余点的集合。 |
名称:LookAt
功能:LookAt 节点可根据作为vector3特性提供的目标,重新指定点的方向。该特性可通过特性的数学运算和距离节点创建。 在Electric Dreams场景中,该节点用于: - 在地面规则中,对照大型Assembly样条线重新调整点的方向,以实现理想的河床视觉效果。
- 在雾卡和森林图表中,朝区域中心旋转雾卡的点
路径:/Game/PCG/Assets/PCGCustomNodes/LookAt
使用:LookAt节点会遍历单个点的数据输入,并期望接收一个vector3特性,作为每个点要看向的目标坐标 要使用LookAt节点,请执行以下步骤 - 创建点数据。
- 使用设置为 From Source Param 的 AddAttribute ,向点数据添加新的 LookAt 特性。
- 使用以下任意选项覆盖 特性 :
- 向量类型的 Create Attribute 节点以及你看向的坐标。
- 由一个可被公开以进行自定义的蓝图vector3变量提供的 Get Actor Property 。
- 在 Graph Settings 中创建一个PCG vector3图表参数,并在图表中获取参数名称,该参数名称将在每个图表实例中公开,供每个PCG组件编辑。
- 设置 LookAt 节点的设置:
- 将 LookAt Target 设置为要使用的特性名称。
- 2D LookAt 设置将忽略Z分量。
- Forward X 会在 LookAt 中使用X轴而非Y轴。
#标签工具Actor Tagger 名称:Actor Tagger编辑器工具控件
功能:Actor Tagger Editor Utility Widget 将帮助你在关卡中的资产上编写Actor标签。该工具控件可以为要导出到PCG设置资产的关卡加快标记工作流程。虽然虚幻引擎拥有一个合格的工作流程可用于添加、编辑、删除资产上的Actor标签,但是它目前并不适合大规模编辑。这方面的一个例子是,当你要为几个选中的Actor应用不同的Actor标签时,这会导致Actor标签在 细节(Details) 面板中出现混淆。创建Actor Tagger编辑器工具控件的目的之一,就是缓解当前编辑器Actor标签表现出来的这种问题,同时它还提供了一个本地化的操作控制板,使用户能够在3D视口中专注于标签的编写 路径: Actor Tagger编辑器工具控件的内容文件路径为: /Game/PCG/Utilities/ActorTagger/EUW_ActorTagger
使用:
使用方法 要运行Actor Tagger,请执行以下步骤: - 在内容浏览器 中选择一个 Actor Tagger
- 右键点击该 Actor Tagger 并选择 Run Editor Utility Widget
功能 |
| Select Tag | 选择已加载关卡内所有在Select Tag字段中输入了标签的 Actor。其结果将替换当前在大纲视图中选择的项目。 | Remove Tag | 搜索当前选中的所有Actor,寻找在 Remove Tag 字段中输入的标签。如果某个Actor上存在该标签,该标签将被移除 | Add Tag | 将在 Add Tag 字段中输入的标签添加到所有当前选中的Actor上。如果选中的Actor已具有该标签,则不会二次添加 | Hide | 隐藏当前选中的所有Actor。如果当前没有选择Actor,之前隐藏的所有Actor都将变得可见 | Unlit / Lit | 切换视口光照模式的状态(光照和无光照) |
Tools:工具部分 Output Level Tags 将存在于已加载关卡中的所有唯一标签打印到输出日志中。这样可以快速全面地了解已加载关卡中的所有Actor标签
Make Tags Unique 该函数会在当前加载的关卡中遍历所有Actor,将各Actor的所有重复标签减少至单个标签条目 插件默认关卡:Reference Level 双击打开可以更改默认加载关卡
名称:Level to PCG Asset Utility 功能:Level to PCG Asset Utility 可将选定关卡内的所有静态网格体、层级实例化静态网格体(HISM)和实例化静态网格(ISM)导出到PCG设置资产。其数据将存储为PCG点数据。特别强调,这些数据是所有已导出视觉效果的点云,并以特性的形式存储了它们的变换、网格体和材质软对象路径、Actor标签和Actor场景层级信息。得到的PCG设置资产可以作为实例化节点添加到PCG图表中。然后,所有程序化规则(PCG图表)都可以处理该PCG点数据,以对其执行增强和/或生成操作。 路径:蓝图资产工具随PCG插件一同发布,可在启用 显示插件内容(Show Plugin Content) 后使用。 Level to PCG资产工具的路径为:/PCG/Utilities/PCGUtility_LevelToPCG Electric Dreams中所有PCG设置及其源关卡的路径为: /PCG/Assets/PCGAssemblies 使用:使用Level to PCG资产工具,以下步骤: [size=1em]1. 在 内容浏览器(Content Browser) 中选择一个关卡。 [size=1em]2. 点击右键,选择 Scripted Asset Action > Level To PCG Settings 注意:如果选择的关卡属于已分区的世界或OFPA,你首先需要在编辑器中打开它并加载其内容。对于非OFPA关卡,你无需在编辑器中打开它,可以直接通过内容浏览器完成操作。 [size=1em]3. 上述步骤会在选中的关卡文件旁边创建一个 PCG设置 资产,并以关卡名称加"_PCG"后缀的形式命名。如果已经存在具有此名称的PCG设置资产,将更新现有资产,而不是新建资产。 [size=1em]4. 从 内容浏览器 中,直接将 PCG设置 文件拖放入 PCG图表 ,作为 Instanced 节点。 [size=1em]5. 在 PCG 图表 中,将资产节点的 点(Points) 输出连接到 Copy Points 节点的源输入,并将点集指定为要向其复制源点的目标点集 在Copy Points节点中,将"Attribute Inheritance"设置为"仅来源(Source Only)",以尽可能地加快处理速度。 6. 将 Copy Points 的输出连接到一个 Static Mesh Spawner 节点,将其 网格体选择器类型(Mesh Selector Type) 设置为"PCGMeshSelectorByAttribute", 特性名称(Attribute Name) 设置为"网格体(Mesh)"
如果在导出的视觉效果上使用了材质覆盖,可以将"材质(Material)"作为Index0的值,以激活By Attribute Material Overrides。
你还可以使用导出的 Actor Tag 特性,通过 PCG图表 中的 Point Filter 节点过滤点。标签过滤 的用例包括: - NoCol :根据它们的碰撞需求过滤点,并相应地生成它们
- Clutter :添加随机噪点和参数化密度,以增强Assembly
- Helper :过滤在规则中具有特定用途但不应该生成的点
#PCG撒点案例整合
#PCG+Sequencer
官方文档:
https://docs.unrealengine.com/5.2/zh-CN/procedural-content-generation-in-electric-dreams/ 本期笔记分享就到这里,我们下期见!
哔哩哔哩
|