在Houdini中创建河流工具,在UE5中竟然也很实用!HDA-->UE5
Game艺视界原创文章原创 39808 0
实名

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

发布于 2023-7-10 16:04:45

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

x
01/Houdini工程创建
第一步我们新建高度场,然后再地形上绘制简单曲线后面我们会替换这个曲线用虚幻样条线座位输入,现在创建工具时我们先试用它
0d938b4a16f88e1b39e8ce2950eb112d.png

接下来,改变地形大小和网格间距建议:1009米(虚幻地形尺寸推荐)

46c3b81506170fed805ee801f32f87d3.png

然后我们通过添加一些噪音改变地形高度,它向某个方向弯曲{heightfield_wrangle}我们说高度等于z轴上的负位置除以大小,然后乘以它让我们在这里创建一个参数我将称他为混合强度我将它乘以这个参数,让我们在这里创建备用参数。我要把它设置为 90 在这个之后,我们会说加x轴上的位置除以大小,然后乘以波段强度。你可以看到它给了我们这个效果


添加高度场噪波调整参数



接下来我们要绘制我们将绘制一条曲线:强制渲染我们地形(绘制时可以看到地形),然后选中curve按下回车开始绘制,可以看到我们的曲线非常抽象。它不跟随地形而且它是非常低的分辨率,我想做的是嗯我想要工具将这条曲线重新采样到一些高分辨率曲线。并且朝着斜坡本质上我想在地形上滑动


接下来第一件事我们需要重新采样,我现在要把他设置为4



接下来我们要做的是创建一个python脚本作为一个新节点这样你就可以用在不同的项目



然后找到我们的工具,这里我用的Viscod打开编辑




内容



修改我们工具输入节点,最小最大输入2,连接高度字段




吸附地形



让我们暂时保持这样,所以它现在可能对你来说不是很明显,但让我们现在在for循环中运行,我们改变迭代次数



主要是让我们河流变化更丰富些




再次重新采样下我们样条线




03-确保河流点正确下降
接下来我们创建一个新的python资产主要解决水缓慢下降(水往下流,下面的点不能高于上面点)工具使用前后区别(确保每一个点高度根据距离逐步下降)




重新映射这样我们就得到了0-1之间的值,如果差值超过阈值,让我们重新计算它位于零的一个范围






04-处理坡度变化很大区域

所以我们一开始会尽量保持简单,然后慢慢地添加功能。将地形颜色属性初始化为黑色
你已经可以看到很清楚每个区域之间的高度差



我们添加一些值来控制这些区域



使用这条曲线创建两个不同的几何图形,一个几何图形将用于使地形变形另一个几何图形将是实际的河流平面,但在此之前我们需要嗯设置法线并且每个点的比例属性,基本上比例属性会影响河流在任何特定点的宽度,这次要使用属性vop


01-为每个点导入,导入前一个点我要说减去常量我要说导入点第一个输入属性位置。我要说减去所以前一个减去前一个位置和当前 position这将为我们提供一个从当前位置指向先前位置的向量
02-接下来我们可以做的是归一化归一化这个向量,因为我们只对方向感兴趣



这应该是零一,我要说使用这个节点来设置参数属性,现在总是导出这个属性,正如你所看到的,现在我们有一些法线,接下来我要说重新采样,让我们选择这样的东西



高山流水




处理模型问题




首先我们需要调整法线在这里转移属性




要做上一个法线和下一个法线的点积



分配定点颜色到河流网格,就像在有这个水瀑布的区域,我们想要像一些泡沫纹理或其他正确的东西所以我们可以存储到顶点颜色和嗯一个额外的顶点颜色是到边缘的距离你可以在着色器内部使用它



#HDA制作

公开我们拥有的一些参数,所以让我们首先通过启用让
①我们计算 uvs 开始,因为 以前我们这里没有uvs



②其次我们需要做的是导出我们样条线设置,以便可以在unreal 的输入曲线。因为我们想有能力选择内置的胡迪尼曲线,或者一些自定义的曲线,比如不真实的样条曲线,所以我要称之为虚幻样条线输入



暴露参数:
curve_input_曲线输入
Iterations_迭代次数
Step_Multiplier_步进倍增器
Threshold_瀑布
max cascade generate_最大级联生成
DepthSource Max_深度源最大值
CurveSmooth_P_曲线平滑
SlopeWidth_坡度宽度
CanyonWidth_峡谷宽度
ScaleNoiseAmplitude_标度噪声幅度
water_Surface Width_水面宽度
projection_geo_Width_项目_地理_宽度
MountainNoise_山地噪音
water_Surface Transl_水_曲面平移
Depth_深度

#导入UE5

①开启UE5水插件



②导入我们的HDA到我们的工程
③新建Actor样条线输入,双击进入编辑添加公告牌组件并设置为根



④然后我们添加水纹理样条线
这就是为什么我说我们需要在水上启用插件,这样我们就可以访问这些纹理






继续添加样条线组件




我们设置一下样条线颜色和可视化比例




然后放置到我们场景中制作我们河流路径



接下来转到我们河流数字资产,并寻找曲线输入



开始选择我们曲线




这时候我们河流会随着样条线路径




这时候我们就可以调整参数

输入曲线生成河流 - 河流瀑布自动生成 - 沿曲线的水面 - 基于深度的自动河流宽度和坡度 - 宽度控制 - 河床地形侵蚀 - 使用虚幻的新水着色模型设置顶点颜色和河流材质



评分

参与人数 3元素币 +21 活跃度 +6 展开 理由
jinMenShan... + 10 + 1 元素给力
aiko33 + 3 + 2 给力
lhcppy + 8 + 3 【喜欢】看到这么好的帖如同回到初恋的年代!

查看全部评分

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

本版积分规则

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