Game艺视界 发表于 2023-5-4 22:51:11

UE5.2预览版PCG工具:自定义节点(07);工具中的节点是如何创建

正   文本期笔记分享在这一章中我们为节点图创建自定义节点,因此在之前的视频中,我们都只是使用了系统中已有的节点,但是这些节点中的大部分实际上是蓝图,您可以创建自己的蓝图,然后在您的图表中使用它们,您可以创建一个新的PCG蓝图元素,我们将命名它


打开它,我已经可以了告诉你这的第一部分会有很多样板,我已经尝试尽可能地简化它,你可以随时检查PCG插件本身——有很多注释,你可以检查它们是如何工作的,并弄清楚你还可以做什么。好所以你需要做的第一件事是覆盖一个名为执行的函数或在这种情况下执行上下文在这种情况下



这似乎是一个接受所有输入的函数,然后从节点中填充然后你知道用它做一些事情



我快速编译这个节点,我已经可以把它放在PCG图中,你可以看到这是我们的节点



在类默认设置中你可以给它更多的输入和输出,默认情况下每个节点都得到一个延迟的输入和输出引脚但你可以添加更多你知道的或任何你需要的,所以我称之为测试您还可以指定允许在中使用哪种数据所以我们只说它是点



然后它显示为您现在只能输入点,我们将只使用默认输入引脚因为那很好一般的你可以插入任何东西我们假设你会插入点



这就是我们要处理的
①你需要做的第一件事就是获取输入。这个结构和颜色函数被称为获取输入。这为您提供了所有可以输入的值
②在我们的例子中它只有一个节点一个引脚,所以我们只得到第一个
③从这一点开始我们将打破这些数据
④这为我们提供了我们投射到空间的实际数据所以这就像点和东西
⑤然后我们得到了我们做了一件叫做两点数据和上下文的事情
⑥我们可以运行一个名为 Loop one points 的函数据



这些节点的工作方式是你有一个特定的方法,它们在不同的线程上并行执行。当它们像数据一样完成时得到某种回报,并且有很多这样的所以例如在这种情况下我调用了循环一个点它接受一个点的数据集并循环遍历每个人一次并执行函数体每个点和函数被执行的主体是Point Loop伙伴



我仍然需要连接所有东西



我们将只是让获取BCG数据然后必须将其放入数组头部必须放入PCG 集合,我们最终可以再次插入输出我认为这有点早期阶段所有这些都像数据转换完成了。在这一点上你可以获得这个函数你可以给这个节点一组点它会遍历这些点这些点不会做任何事情



因为实际的主体实际上是空的会做一些事情它会删除所有的点,因为你在这里得到这个点的数据



然后你可以把它拿出来如果你不返回它这个点就像从数据集中删除了,所以如果我们调用这个点的集合成员我们可以改变这个例子的点。我要做的是创建一个节点它会根据密度改变点的维度这个点非常简单就像低密度点会很小而大密度点会很高,这就是它要做的所有方法所以我只是要把它连接起来
然后我将设置最小值和最大值
从你想要得到的点反弹,这样你就可以打破它我们想要得到密度



(-50,-50,0)就像地板上的一个正方形,然后 max 将生成一个该向量加 50 即50。所以在这一点上我们只有一个完全没有高度的平面正方形,但我们将密度插入Z这样它会变得越高density现在是从0 到 1 的密度 所以这实际上不会做任何事情
要做的是将它乘以1000这样它实际上会非常明显我可以编译它



然后回到我们的节点 我要把它插入我们的节点启用这个调试你可以看到



我将把它提升为一个变量它就像任何其他蓝图一样,它是可编辑的在图表中如果您单击注释



实时调整高度



点击阅读原文观看视频版
坚持与您分享最有价值“干货”内容,本期分享就到这里,我们下期见!


qq_欣欣_wUj 发表于 2023-10-13 10:13:18

{:1_236:}
页: [1]
查看完整版本: UE5.2预览版PCG工具:自定义节点(07);工具中的节点是如何创建