你创建河流的方式是什么?Houdini、UE5程序化河流
Game艺视界原创文章原创 40395 5
实名

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

发布于 2023-7-10 16:09:39

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

x
本帖最后由 Game艺视界 于 2023-7-10 16:13 编辑

【转载文章】:作者/Simonschreibt【文章地址】:https://simonschreibt.de/gat/river/你们建造河流本身的方式是什么?第一步是100%从本的教程中复制的,它们非常有趣。首先,创建一条样条曲线,并让它在地形上“落下”。这是通过读取样条曲线点位置处的地形高度,然后将点移动到此高度来完成的(在我的情况下,向上移动点以匹配地形高度,因为我的样条曲线位于地形下方)
e232cf8a06cb92aeff307cff616d3e99.gif
【使样条曲线适应地形】
接下来,让样条曲线点“滚”下山,使河流更好地与地形融为一体
d1d66141accce5123c33354953bdb639.gif
【将样条曲线点滚下山】

事实上,它们并不是以物理方式滚动。相反,您可以使用基础表面法线和点的法线来计算每个点的局部轴(远离样条线并指向山下)。然后,沿着计算出的轴稍微移动点(Ben 的视频中很好地记录了这个过程)
下一步是确保河流不会向上游流动,以防地形引导它流向上游(因为河流沿途有一座小山)


一个小小的 Python 脚本可确保 3D 空间中的样条点永远不会高于样条线上的前一个点

【使用 Ben 的小 Python 脚本避免河流逆流而上】
另一个获得更自然外观的好技巧是避免连续的斜坡,而是让河流逐步流动(为了更好的可视化,我在这里显示了河流几何形状,但实际上我们现在仍然只使用单个样条线)

【将连续的斜坡转变为台阶】
最后,我们进入了我贡献自己想法的步骤:我为样条线添加颜色,以标记坡度的位置(绿色)、起点(绿松石色)和终点(红色)。这将帮助我稍后混合不同的水纹理并放置粒子系统

【让我们更快地了解河流几何创建,因为所有这些都在本的视频中得到了完美的解释。最重要的一点是,只有河流的外边缘再次与地形对齐(就像我们首先对样条线所做的那样)】

【从样条线构建河流几何形状】
#你是如何设法使河流流动的景观变形的?同样,这也是 100% Ben 的工作流程,但它首先将地形移动到河流几何体下方,这样它就不会以任何方式相交

【将地形移至低于河流几何形状的位置】
然后,对地形上的每个点,向上发射一束射线。如果它击中河流几何图形,这个点将向上移动到击中位置

【向上展示射线,如果您撞上河,将地形移至这个高度】

每一点都没有碰到任何东西,都会再次分配其原始高度

【每个点不击中任何东西都会分配其原始位置】

在这里,您可以看到现在一切的行为,当您更改样条时

【程序性地形变形】
然后将地形高度场转换为多边形并重新网格化。现在它已经准备好在虚幻中使用了

【将高度场转换为多边形并进行优化】
即使不是问题的一部分,我也想添加一些有关UV,材料,流图等的详细信息#河几何形状你之前看到的河流几何只是用来雕刻地形的。实际的河流有点薄,得到了UV和细分(注意,我的斜坡颜色仍然在那里)


#UV
谈论UV:由于样条线的长度总是变化的,因此UV必须适应这一点。幸运的是,这在胡迪尼非常容易。首先在0-1-UV空间中创建UV,然后测量样条线长度。该值可用于缩放UV。在这里可以看到我更改样条线,在下半部分可以看到UV是如何自动适应的。相信我,如果你曾经经历过这种情况,你就再也不想手动创建UV了


#河床另一个细节:我想把河床弄得又黑又湿。为了做到这一点,我从每个地形多边形向上发射一些光线,如果我击中河流,我会为该多边形的所有点指定一种颜色。创建的遮罩如下所示:


下面是一个例子,当在材质中使用遮罩来指定不同的漫反射和粗糙度值时,会产生多大的差异

【具有不同漫反射和粗糙度值的河床】

#Flow-Map(流向图)使用胡迪尼可以非常容易地生成河流的流量图。你只需告诉一个特殊的节点“这是我的河流几何图形,这是指示河流方向的样条曲线”,然后砰的一声,你的河流几何图形突然有了代表河流流量的顶点颜色


【流向图生成】

可以添加另一个节点,使流程图对障碍物做出反应。现在水可以在他们周围流动了

【有障碍物的流向图生成】

你可以在虚幻中触发流图的烘焙!无需在虚幻和胡迪尼之间来回切换。只需将胡迪尼-“渲染”-按钮作为参数公开即可。在这里,你可以看到我改变了障碍物,然后渲染了一个新的流动图(注意:烘焙比视频中花费的时间更长

【流图烘焙在虚幻中】
#新增:避免3个流程图错误我制作了一个关于我在烘焙流程图时犯的3个错误的视频,希望它能帮助你避免这些错误
泡沫遮罩为了在障碍物周围的水面上产生一些泡沫,我使用了所谓的isoooffset节点。它基本上将物体的距离存储到河流的顶点颜色中。然后我用一点噪音来调味,面具就好了

【泡沫遮罩的生成】

为了使泡沫蒙版不那么静态,我使用了一个简单的Photoshop云模式,我沿着河流移动,并从原始蒙版中减去它。这增加了一种更有趣的感觉

【给泡沫遮罩增加更多的动感】
因为我们在讨论泡沫:瀑布也有一个简单的泡沫纹理,它只显示在河流的斜坡上(我在创建样条时用顶点颜色掩盖了这个斜坡)。泡沫结构比河水滚动得更快

【使用口罩在水和瀑布之间混合】#粒子系统因为我存储了级联的顶部和底部,所以我现在可以过滤这些元素(这些线用于生成河流几何体),在它们的中心创建一个点,并将虚拟立方体复制到该点,该点稍后将与虚幻中的粒子系统交换

【粒子放置在级联】
对于障碍物周围的粒子,我使用了一个叫做交集分析的节点来得到障碍物和河流的交集。这些相交的边都有点。对于其中的随机数字,我再次复制一个假盒子(稍后在虚幻引擎中与粒子系统交换)

【在障碍物上放置粒子】

#新增:流量检测我通过检测粒子系统是放在障碍物前面(与河流的流动方向相比)还是后面来扩展这个系统。有了这一点,我可以使用不同的粒子效果,这取决于水是正面“碰撞”到障碍物上,还是在障碍物周围流动得更轻松:前面的粒子系统由障碍物的法线对齐

【将假人放在障碍前】
另外,我现在检测到流动方向(通过从Houdini的河点读取V-Attribute),并能够按照此操作对齐粒子系统(我在本教程视频中详细说明了该过程)粒子系统“后面”与河流对齐

【将假人放在障碍物后面】

在这里,我展示了当我指定两个不同的粒子系统时它的外观

【将Houdini-Dummies与粒子系统交换‍】

#新增:反射探测器重要提示:我最后没有使用这个,因为我的虚幻天光已经捕捉到了一个漂亮的立方体贴图。但也许这个工作流程对其他人有用反射探测器基本上是相机,从它们的角度捕捉世界,提供具有更好反射的闪亮表面。我想每隔一段时间就把它们放在河边

【将Houdini-Dummies与球体反射捕获交换】
为了能够在这里使用反射演员,您必须将其封装在蓝图中


#您将如何准备和将该项目导出为虚幻?所谓的Houdini Engine是一个用于Unity,虚幻,3Ds Max, Maya和Cinema 4D的插件,并执行节点网络,您直接在胡迪尼中创建上述程序。所以我要做的是,让地形和河流显示出来,我要把我的houdini文件保存为数字资产。这可以像虚幻中的任何其他资产一样导入和使用

‍‍【在虚幻中使用胡迪尼数字资产】
现在,我可以更改参数(我在Houdini中暴露了参数)或更改样条以使河流走不同的道路

【只需更改样条曲线即可获得不同的河流】

材质仍然是在虚幻中创建和指定的,但您可以预先指定材质(您可以在此处找到我的教程)。当然,它还不完美。例如,进一步的改进将是:避免将障碍物粒子“放在”对象后面(远离河流流向),设置障碍物粒子沿流图的方向,使粒子移动到流的方向,接受虚幻地形作为输入,提高节点网络的性能,以便更快地计算样条曲线上的变化,根据区域缩小/扩大河流宽度(如本的视频[micxp_wxonkey]wxv_2993949726226219008[/micxp_wxonkey]
#工程文件安装教程
i made the houdini asset too small thats why i set the scale to 1000 intead of default 100我把胡迪尼的资产做得太小了,这就是为什么我把规模设置为1000,默认为100
to bake a flow map you must define a target path and filename要烘焙流图,必须定义目标路径和文件名
re-direct the existing flow map to the new one将现有流程图重新定向到新流程图
Re-building the terrain costs time change spline without auto-cooking when you're ready cook manually重建地形需要时间,改变样条关闭自动烘焙,准备好手动烘焙[micxp_wxonkey]wxv_2993968288017907716[/micxp_wxonkey]本期笔记分享就到这里,我们下期见!
坚持与您分享最有价值“干货”内容,本期分享就到这里,我们下期见!



评分

参与人数 3元素币 +19 活跃度 +5 展开 理由
befu + 6 + 1 我要是能加精华就给你
欠钱不想还... + 10 + 3 【喜欢】看到这么好的帖如同回到初恋的年代!
yuankaitia... + 3 + 1 【点赞】这很有大网气质!

查看全部评分

微信公众号:Game艺视界
使用道具 <
元素界王神  发表于 2023-7-10 16:51:15  
2#
这也太强大了吧!而且居然免费学!
回复 收起回复
使用道具
狂奔de蜗牛  发表于 2023-8-3 09:45:02  
3#
回复 收起回复
使用道具
425587160  发表于 2023-8-3 15:47:36  
4#
这个样条线可以直接导入UE再次做简单的编辑么
回复 收起回复
使用道具
qq_xiaonemo_hia  发表于 2023-8-8 11:45:15  
5#
回复 收起回复
使用道具
kiss2110000  发表于 2023-10-7 12:17:46  
6#
666
回复 收起回复
使用道具
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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