Houdini将点云数据转化为地形并导出到UE4

点云生成地形

首先点云数据我们是可以到https://opentopography.org/进行获取的,也可以去任何你知道的点云数据库下载,并需要将得到的文件转化为.las格式。

Houdini中我们使用Lidar Import节点来导入点云数据,File设置为.las文件路径即可

导入后我们发现场景中是空的,因为导入节点后位置不对,需要进行调整才能看到。

我们创建一个transform节点,并将Translate三个值改为“-$CEX/Y/Z”,节点命名为recenter

此时我们就可以看到场景中出现了点云,但方向不对。我们再创建一个transform,将rotateX改为-90,并将节点命名为rotate_up

经过这两个transform节点的调整,我们就可以看到点云数据在Houdini中的表现了

接下来我们使用这个点云数据来生成Heightfield

创建一个Attribute Wrangle节点,写上:

f@my_height = @P.y;
@P.y = 0;

这一步是把每个点的高度信息存起来,然后把y轴归零,否则生成出的地形会有很多锯齿

随后创建一个Volume Wrangle节点,写上

int my_ref = nearpoint(1, @P);
@height = point(1, "my_height", my_ref);

同时另外创建一个heightfield节点,将其连在Volume节点的第一位,将上一步的Attribute节点连到第二位,如图

可以看到我们生成出了完美还原点云数据的地形,到这一步就可以导入UE4直接使用了。

地形处理

在这篇文章里我们可以继续探索一下Heightfield的相关处理。

(注:没有点云的话,我们在默认heightfield节点下加一个heightfield noise就可以获得一个差不多的地形来进行下面的步骤)

首先我们使用地形侵蚀工具,为地形添加一些具有真实感的细节:创建一个HeightField Erode节点。

可以看到我们的地形只是变了颜色,没有细节,这是因为该节点是基于时间来计算的,我们点击下方的播放键即可看到效果

我们可以在这里确定我们想要哪一帧的效果,然后去节点属性页面,设置Freeze at Frame即可保留该侵蚀效果

同时我们切换选项卡,取消勾选Visualize,即可隐藏地形上的颜色(这些颜色展示的是侵蚀节点自动计算出的一些Layer)

侵蚀效果大致如下

接下来,由于地面上我们可能需要进行铺设道路,生成植被等工作,坑坑洼洼反而不太好,所以我们试试将其平滑:先创建一个HeightField Mask by Feature节点,选择Mask by Slope 15-90度,同时勾上Invert Mask,即可得到平地的mask

随后我们接连创建HeightField Slump和HeightField MaskClear节点,先将视图切到MaskClear节点,Layer 1选择mask,再选中Slump节点,拖动Spread Iterations参数,可以发现随着参数改变,平地也变得光滑了。我们调整该参数到想要的效果即可。

至此常用的地形处理就完成了,接下来就可以在其上计算各个mask,绑上材质等等,可以参考我这篇文章中的“Houdini部分”https://blog.csdn.net/qq_42219469/article/details/108002214

地形导出到UE4

进行这一步之前,确保当前视图在你想输出的节点,或者直接使用一个output节点连接到你想输出的节点后面

我们按下ctrl+a全选前面步骤创建的所有节点,然后选择Assets-New Digital Asset From Selection

修改一下名字,位置之类的参数,然后确认,即可生成HDA数字资产。

确保你的UE4安装了Houdini Engine插件,将HDA拖入UE4中进行cook,Houdini Engine就会自动根据我们处理完的Heightfield在UE4中生成Landscape。最后在HDA实例中点击Bake按钮,该地形就会独立出来供我们使用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TakiDing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值