houdini|houdini height field 导入UE 笔记
1houdini height field to Houdini
1选择导出的节点,或者到Obj模型下选择需要导出的obj物体(都可以)
文章图片
文章图片
2导出路径和名称,然后导出的时候可以选择把一些参数导出到UE里可以调节(选中houdini的节点导出HDA会自动把节点整合到一个subnet里,如果使用NULL节点引用过的,需要重新设置下引用路径)
文章图片
文章图片
3 把houdini导出的.hda文件,直接拖拽到UE资源里就可以。然后拖到UE场景内即可
文章图片
4创建地形材质:
文章图片
注意layerblend3层的名称需要和后面houdini里mask的名称对应,才可以instance
5 在UE里先把地形赋予材质并创建weight blend layer (需要先创建好。。。才能和HOUDINI里的MASK做关联。。。。)
文章图片
选择houdini导入的地形文件里的landscape,然后赋予上面创建的地形材质球,然后在地形paint位置,创建weight blend layer
6创建好weight blend layer 后回到houdini里创建和UE layer blend 名称对应的mask
文章图片
利用heightfield_maskbyfeature创建mask ,然后利用heightfield_copylayer来给创建好的mask重命名(这里的名字需要和UE里地形材质里的层的名称对应)
文章图片
1利用heightfield_layer 和height_remap 来制作前两层mask的反向mask(参考上图)
注意:houdini里导入HDA到UE里,需要查看下houdini最后一个节点的蒙版信息,如果UE里地形材质支持3层,则houdini导出的HDA的蒙版也需要3层(不包括height),需要使用hfclearlayer来清理多余的蒙版信息(注意 height 信息不要clear)
2 注意下heightfield 默认1000的尺寸在UE里地形边缘会有一些拉伸,所以需要改成1009 (UE地图尺寸1:1对应HOUIDINI里的地形尺寸,具体对应地图尺寸参考下图) 比如houdini里如果地形尺寸是1000导入UE就会多出一个边缘,需要改成对应的1009
文章图片
3 creat attribute 节点来获取UE地形材质球的路径做关联,避免每次houdini编辑mask以后UE更新houdini的修改内容,都需要重新赋予材质球。
注意 attribute class 需要选择primitive ,type选择 String , string的路径是在UE地形材质球上右键----copy reference 获取后粘贴到string里,然后修改而得
例如:
下面路径为copy reference 后的路径内容(两头红色位置文字是需要去掉的)
Material'/Game/Buildings/Materials/MaterialMaster/houdinituUEterrainmat.houdinituUEterrainmat'
需要修改为下面的内容,然后粘贴进去就可以了
/Game/Buildings/Materials/MaterialMaster/houdinituUEterrainmat
4 houdini连接完mask以后 可以通过下面方法检查,点击mask copy layer 节点的 NODE Info按钮,查看目前所有mask的信息
文章图片
文章图片
上图可以看到mask一共有5个,并且可以看到名字。
7 houndini制作好以后save,然后更新到 UE里就可以了~
文章图片
Houdini save
文章图片
UE reimport or rebuild instance
【houdini|houdini height field 导入UE 笔记】
推荐阅读
- java|java Field类的使用
- element-ui表单验证例子(validateField验证部分表单)
- UITextField|UITextField 文字向右偏移
- 造了一个|造了一个 protoc-gen-fieldmask 插件
- CSS Houdini
- 关于antdesign中formModel提供的resetFields方法不生效问题
- android view的width或者height变化的动画
- 两步使用|两步使用 LiveData 替换 Observable Field
- setter与getter的幕后字段Field
- cf|cf 512 div2 B. Vasya and Cornfield