UE5.2预览版PCG工具:撒点工具(03)-子图(04) 这很Houdini
Game艺视界原创文章原创 39241 0
实名

通过了实名认证的内容创造者

发布于 2023-5-4 22:48:06

您需要 登录 才可以下载或查看,没有账号?注册

x

正   文本期笔记分享#撒点将实际生成基于其它点的新点,我们在森林中使用它来生成模型岩石,岩石周围有较小的植物和各种各样的东西,所以我已经设置了一个基本图形和一个基本的体积并点击生成按钮。这样我们就可以直接进入它,我想做的第一件事就是
①我要创建一个表面采样器所以我们将重新创建我们已经完成的所有事情只有一堆点
②然后对它们进行密度采样我将设置为非常高的值所以我们只剩下就像几个点,它实际上仍然太多所以想象这些是散落的大石头

72974d11ba1b7eeadce2e4bcabd6f8e9.png

我要稍微改变它们,使它们有轻微的旋转或随机旋转

bd97dd886533a3ce66df1eab4ec63fce.png

接下来我要做的实际上是网格节点中创建的点的网格,这就像它所说的那样,只是创建具有特定间距的点,在这个特定大小的网格中这些不会做太多,所以我要重新展示调试选项的外观,所以可能会小一点



现在想在每个大点周围都有这些点,所以我将使用一个称为复制点的节点。我将大点用作目标所以它们是我们的目标点也必须复制东西,我正在使用网格作为源。我要展示它它看起来什么都没有,因为它们仍然太小我要对它们进行调试我们去吧!你可以看到所有的点就像是复制粘贴所以我不必每次都喜欢做这件事



做一个边界修饰符在较小的点上,它们只会像我需要的那样增加它们的界限所以让我们选择 10我猜这不是10而是100所以是的我们现在可以看到像小点一样



显然在自然界中东西确实看起来很整洁,所以我们要对其进行转换并为其添加一些随机性嗯转换点并做类似的事情比如负数为100正数为100偏移量x 将保持平坦(Houdini?)



接下来要把这个非常可怕的形状打破计算距离,最近的岩石的距离到小点的距离。然后过滤掉低点所以我要添加一个距离源是我们转换后的父点目标更小点并可视化它们。我要点击设置距离,在那里你可以看到外面的密度与内部密度不同



然后我要做一个密度过滤器,它会过滤掉哪些又两个高值的东西,所以它应该从零到比方说 0.6,现在你可以看到密度最大值消失了剩下的那些有点只是较低的密度值



另一件好事,那就是你经常希望外部散射点更小所以生成的任何东西都,密度节点的比例它所做的是用 Min 缩放较小的节点然后插值到 Max,所以我们想要像这样因为我们的密度在中心有点为零并且变得更大在外面。我们想让较小的密度产生较大的岩石所以我们将其设置为比方说五个外层一对一现在您已经可以看到它是如何影响;完美地位于中心



在现实生活中,真实的战斗就像在真实的用例中一样你可能不想要太小,但你通常不希望较小的岩石与较大的岩石相交,所以你可以做的是使用与我们在样条曲线路径教程中使用的基本相同的技巧并切出大形状从较小的开始所以我们要做的是(差别difference)



这些大块,我们做了一个边界修改器并将它放在不同的位置然后将修改设置为你知道的0.5;调整transform points-max缩放为2.0



添加一个自我修剪摆脱相互交叉的点,这就是分散点的方法




#子图
在真正的大型工艺场景中,你想要做的不是创建一个非常大的和令人困惑的程序图而是你想把不同的东西分成多个PCG,然后重用它们
所以首先我们依然所以我们要做的第一件事是我已经创建了一个像图一样的东西放入场景中



接下来我们将我制作的样条曲线和我的散点图将其放在这里;
基本上这个的目标是我们使用一个图在样条曲线中生成点。然后我们使用我们生成的点作为另一个图中的输入并基于该点散布东西



我们需要做的第一件事就是进入样条曲线图表,当你实际输出创建的点时为了真正快速地做到这一点我们可以使用输出节点,我们是只需将其拖到输出中就可以了




现在我要做的是
①我将输入子图
②然后我将让我们放一个密度噪声在那上面可视化
③我要生成这个我要在地图上创建一个样条,我们得到一些点(样条线封闭:closed Loop√)



我们进入之前生成的撒点图,最初是采取表面是地形并对景观上的随机点进行采样,我要做的是我将把点的创建移到这里,




删除随机化;将它连接到输入点实际上是我认为的输入然后我将保存它并进入子图



链接输出节点




这就是我们连接到两个图形的方式来做它们的事情嗯



让我选择样条曲线现在如果我们移动你可以看到更多的点被生成然后使用子图创建或散点,这已经是你可以以任何你想要的方式组合它们



嗯如果我们有子图我们实际上可以做其他事情,我们说想要让散点,也被类似的道路装置影响
所以我们可以做的是在我们的图中,我们有这个这把所有的路径点都像一堆大点一样创建,然后把它们区分开来。所以我想做的是将其作为图形的另一个返回值公开,这样我们就可以进行输出



你可以添加类似的自定义引脚,我们将把它命名为基本上类似的:Road mask本质上我们将对其进行设置以便它可以接受点



当我们保存它时您可以看到图钉在这里出现了一个类似的按钮我们将按



我们将按相同的按钮反向操作在这里所以我们将去输入并添加一个自定义引脚它应该是指向我们去的点




然后我们在这里做我们在样条子图中所做的同样的事情我们会 在结果点的最后做一个差异



为了差异我们插入掩码



显然现在我需要为此添加一条道路所以这里我们有我们的通过线如果我通过这个我把它混在一起了,这样你就可以输出数据并输入额外的图表中的数据
本质上是将它们嵌套在一起,这是构建非常复杂的图表的方法,并且仍然像正在发生的事情一样保持在彼此之上,因为它们会变得非常复杂这也是共享数据的好方法
所以如果你在每个子图中一次又一次地重新生成所有数据这可能需要很长时间,如果你有一个全局点数据你想在上面生成东西。如果你通过它在图表之间那样你可以节省计算时间


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

评分

参与人数 3元素币 +25 活跃度 +10 展开 理由
mrshaw + 9 + 1 感谢
猫九石柘ST... + 7 + 4 奥利给
Shino + 9 + 5 这么6

查看全部评分

本帖被以下画板推荐:

微信公众号:Game艺视界
使用道具 <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表