备注:WorldCreator、Houdini里的地形尺寸都为4033*4033,该尺寸为UE4里的地形建议尺寸之一;
WorldCreator制作好地形和分层贴图
WorldCreator制作好地形和分层贴图,贴图只在WorldCreator里展示效果用,并不会导入UE4,在UE4里制作地形材质时会使用另外的贴图;
在WorldCreator导出地形高度图和层级贴图
Houdini
注:地形文件和mask文件的Size都要设置为4033;
在Houdini中导入地形的高度图,并按地形的最高高度进行高度缩放;
WorldCreator中地形的最高高度之一;
使用WordCreator中导出的地形级信息贴图约束Houdini中地形中的撒点范围;
约束的图层需要设置成Mask
在约束范围上进行撒点,并创建三个box用来作为撒点的替代体;
修改撒点的方式
将地形几何体打包并导出
隐藏默认的参数
导出一些自己需要的参数
UE4
在UE4中导入Houdini生成hda文件;
将hda文件拖入场景中生成地形;
导入UE4中制作好的地形材质
将hda文件里的box替换成静态mesh
UE4.26.0和Houdini 18.5.462会出现无法保存的问题,需要将UE的插件类型换成V2版;
撒点种树的注意事项
1)增加一个heightfield_maskbyfeature节点,用来控制种树的坡度和高度;
2)撒点节点里,取消沿地形法线生长,防止树长歪,设置树的随机倾斜度的最大值为5度,设置树的随机旋转的最大值为360(每棵树都会在0-360的范围内随机旋转);
3)将占位体的box换成tube,并将tube的直径设置为3m(3m为树的最大直径),再将撒点节点里的Outer Radius也设置成3,用来保证树与树之间不会出现相互穿插;
4)设置撒点节点里随机大小为0.8-1.2,默认的0.5-1.5有点太大了,同一种树一棵比另一棵大3倍的话,有点不太自然;
5)在占位体里增加一个transform节点,用来控制树在地形的z轴上的位移;
6)对每个tube节点上增加attribcreate节点,用来控制三个tube之间的比例(比例为自身的值除以三个tube的值相加后的值);
在UE里可以直接设置每种树的位移
Houdini导入文件的路径最好使用绝对路径
使用如下图所示的相对路径时,导入UE4时,有可能存在找不到对应文件而导致的显示不正确;
地形图层与材质
地形的材质,红框里的是材质实例,材质里按地形图层进行了混合;