Houdini 结合 ue4 概念场景设计(一)houdini篇
地编场景制作3D场景引擎地编地图编辑 344 3
实名

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

发布于 2023-9-1 23:36:47

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

x
本帖最后由 毒游搬运小行家 于 2020-11-21 20:04 编辑

Houdini 结合 ue4 概念场景设计(一)houdini篇

文/蓝墟

image.png


Houdini与UE4大型场景制作

  之前做过的一个项目。使用了houdini来尝试制作大地形效果,输出到ue4当中完成整体关卡。制作地形的软件非常多,如worldmachine \world creator等,都很强大,这两款上手容易。如果要论可编辑性与ue4交互性,还是houdini占优势。houdini生成的HDA文件可以很好的在ue4中交互修改,避免来回反复返工。上手相对也容易。
houdini制作地形,你可以直接把地形文件生成HDA导到ue4。 也可以在houdini制作好的地形,输出高度图,加载到ue4的landscape中生成地形。两种都可以,第一种HDA模式可以在ue4当中修改地形效果。
  首先通过heightfield生成地形大小,houdini地形导入到ue4是1:1, size 设置1000在ue4中就相当于1000米。houdini是米单位,如果是模型通过fbx导入ue4中,模型要放大100倍。在设定地表大小,要根据Ue4 Landscape size 指定的数据来,不然四边会出现拉伸。(worldmachine也一样)。可参考官方文档:Houdini Engine for Unreal: Landscapes
image.png

Grid Spaceing影响组件数量,值小精度越高。


地型的形状,通过heightfield_maskbyobject,结合模型生成一些mask。(也可以直接划mask,方法很多)


heightfield_maskblur,模糊mask让边缘过度平滑。heightfield_noise1依据mask的区域做地形起伏,heightfield_noise是做地形造型重要的节点,有很多不同的计算noise的算法。heightfield_distort,细化一下外观,可产生真正的左右扭曲。



heightfield_layer可以把多个效果层混合。


heightfield_project可以模型投射到地形表面,生成外观。这里用一个球,投射生成一个坑。然后通过一些模糊,扭曲形成坑外围造型不规则。


生成完大的整体造型后,就可以使用强大heightfield_erode节点,腐蚀地形,生成真实的地形表面效果。heightfield_erode参数非常多,调整需要花不少时间。计算相对还是挺快的。



heightfield_erode会生成很多层,这些层将来做mask很有用


heightfield_visualize可以显示某一层效果,方便观察


heightfield_slump生成滑流堆积效果,某些地势低哇区域,产生堆积。



接下来就可以制作地形材质mask。houdini生成的地形材质mask,可以完美匹配在ue4制作好的地形材质。
heightfield_maskclear,可以清除mask,也可以设置mask值。当为1,生成一个和地形一样的mask区域。


heightfield_maskbyfeature是生成地形材质mask的主要节点,可以通过高度,斜率,方向等算法计算mask.


生成mask需要花点时间,主要看你要几层材质效果。需要几层做几个mask通过 heightfield_copylayer,记录层的信息。这样ue4才能读取到信息。


这个场景只做了3个简单的材质层,ground/rock/grass, 添加blast节点,删除多余的层信息。


接下来在ue4中制作一个地形材质,这里一定要注意。要想正确的不同mask匹配相应的材质球,在ue4中LayerBlend生成的材质层的名称,一定要和在houdini生成的mask名称一致。这里在ue4中简单制作了一个地形材质



生成一个地形材质实例,方便调整. 右键copy Reference

回到houdini ,创建unreal_material节点 ,在String : ctrl +v ,粘贴路径

其作参数保持不变。这样后面导入到ue4后,地形会自动匹配刚刚创建好的材质。
接下来就可以在地形中种值树、草、石头、建筑等。当然这些也可以直接在ue4中刷。这里用到个超强的散布节点:Heightfield_Scatter,可以根据mask区域,在不同的mask区域散点,这些点将来可以替换成相应的模型。可以把一些关键参数暴露到HDA,这样在ue4中可以重新规划生成点的数量,大小等。






可以在houdini制作一些树,草,石头等,然后直接连在C位置。这样也会自动导入到ue4当中。我这里找了一些资产, 导入到了ue4。我希望在houdini生成的点,能
自动在ue4当中找到相应的模型替换。


在houdini中添加Attribute Wrangle节点,写入表达式,你要替换几种资产,就设置相应的标签设置好分配率。再引用模型在ue4中的位置。也就在在ue4中右键copy Reference,在粘贴到表达式中:


至此houdini中的大部分工作就完了。接下就是将地形打包成HDA,可以暴露一些参数,方便在ue4中更改地形。这个项目算是一个测试。我是把地形和植被等一起打包在一个HDA,这样是不可取的,原因:1文件巨大加载容易死机,2不利于直观调整。实际生产过程中,应该分成不同的HDA,在ue4中整合成一个完整的效果(这个后续有机会再更一篇)
直接左键把要暴露参数(能在ue4更改)拖到Edit Operator Type Properties中。


打开ue4,直接把地形HDA拖到场景

END




评分

参与人数 2元素币 +10 活跃度 +38 展开 理由
V贪婪 + 10 + 18 虽然我不太懂,但感觉很强!
讲不出再见... + 20 很强大

查看全部评分

天若有情天亦老, 人间正道是沧桑。
使用道具 <
qq_迷茫_bwf  发表于 2020-12-4 09:05:09  
2#
666
回复 收起回复
使用道具
ps牛仔  发表于 2020-12-5 09:03:10  
3#
6666666
回复 收起回复
使用道具
FuTFHK  发表于 2021-3-4 20:41:18  
4#
太强啦!!!!!!
回复 收起回复
使用道具
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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