从Houdini到UE4全流程

2021-05-17
870
0

Houdini地形生成

 

制作地形时可以使用一些真实世界的高度信息作为基础来辅助地形生成。可以有网上的资源,还有开放的卫星测量数据。


这些高度信息最后压缩在图片中变成高度图,使用houdini的heightfield file节点来读取即可生成。

01 - Heightfields,指在Houdini中用来代表地形的2D volumes,其中每个voxel包含了在特定grid point的地形高度信息;在Houdini的viewport中,只是使用3D的方式展现2D的heightfields信息;同样也可以mask出需要修改的部分进行编辑;

02 - 可以在Terrain Tools中建立HeightField,在HeightField的基础上添加各种节点来修改地形:

03 - 添加heightfield noise节点给地形以起伏,可以修改Noise的类型:

还可以添加heightfield blur(模糊)、heightfield distort(扭曲)等节点来调整效果:

04 - 使用heightfield mask by feature来按照坡度、高度等条件来mask出相关区域,这些条件可以并存;比如用坡度条件mask出区域:

05 - 在以上基础上,使用heightfield slump节点让所选区域产生塌落效果,这样可以产生出标注冲刷区域的flow mask(按住鼠标中键点击节点可显示节点详细信息,可见heightfield slump节点影响 了Mask layer,并输出了Flow和Flow Direction layers):

06 - 使用Heightfield Remap节点让输出的Flow值归一化,Layer to Remap参数选择Flow > 点击Compute Range按钮 > 设置Output Max值为1 ;使用Heightfield Mask Clear清理掉刚才生成的Mask Layer中的信息,方便以下做新的Mask:

07 - 同理,继续做新的Mask:添加heightfield mask by feature来mask所需的区域,这次使用heightfield copy layer节点把mask结果保存到一个新的名为GT的layer中去,鼠标中键点击heightfield copy layer节点可见其生成了新的layer:

然后仍然使用Heightfield Mask Clear清理掉Mask Layer中的信息,方便以下的制作;

08 - 再利用Mask Layer制作新的Layer,使用heightfield mask by feature节点Mask by Slope Mask by Curvature参数mask出地形的“高光边”,这样一张地形peaks的mask可以作为细节mask使用在很多地方,同样把Mask Layer的信息通过heightfield copy layer节点复制到一个名为Peaks的新建Layer中去,再Heightfield Mask Clear清理掉Mask Layer中的信息:

09 - 做好了以上三个Layer之后(Flow、GT、Peaks),使用heightfield visualize节点利用颜色让各个Layer可视化,首先在节点的参数面板重新Compute Range,使之匹配现有的heightfield;然后在不同颜色中选择各自的Layer:

可以调整各个Layer的颜色,还可以通过Height Ramp调整其它区域的由高度改变的渐变色:

10 - 可以在之前的Shape the Terrain部分之后添加Heightfield Remap节点来重新调整地形高度,当然首先还是在节点的参数面板重新Compute Range,通过Output Min和Output Max的值来修改高度输出;然后可以通过Remap来设置高度变化曲线(下图的参数是让地形中段有一个平直的区域):

10 - 在以上的Heightfield Remap节点后再添加heightfield erode节点来演算地形的侵蚀效果,演算方式是激活节点后,在参数栏的Visualization中重新Compute Range:

然后直接播放即可自动生成侵蚀过程的动画帧:

可以使用任何一帧作为运算结果;heightfield erode节点会生成多个Layer,包括water layer,把water layer与heightfield visualize节点中的Layer3关联起来,以显示出侵蚀所形成的湖泊地形颜色:

在heightfield erode节点的Advanced面板,有降水量等参数可供调整:

11 - 然后开始在地形的特定区域生成Scatter points,方便生成树木等类似物件; 特定的区域还是使用heightfield mask by feature节点把Slope Angle在0~50范围且Height在一定范围的区域选择出来;选择出来的是在第十个步骤中利用Remap节点制作出的平直区域;之后添加heightfield scatter节点来生成Points,注意输入的时候需要同时输入heightfield和Mask 信息(节点中有点熟悉相关信息,取消掉Match Normals with Terrain来让Points的法线不贴合地形,模拟树的垂直形态):

这样就在特定区域生成了Points:

12 - 使用copy to points把不同的Mesh放置到Points上,这里使用一个上色的tube来模拟简单的树木:

然后使用Merge节点把copy to points的结果和地形的heightfield visualize结合起来,才能同时观察地形和所添加的tube;在heightfield scatter节点之后还可以使用point节点来修改所生成的Points的各项属性:

13 - 这样就完成了一个基本地形的制作;下面把地形导入到UE4引擎;这里需要借助Houdini Digital Asset(HDA)来完成;选中所有节点,点击Create Subnet from Selected按钮生成subnet:

然后对生成的subnet右键,选择生成Digital Asset:

接下来会出现更改文件名等配置选项,保存为HDA文件即可;

导入UE4

14 - 安装了Houdini插件之后,UE4可以直接Import进来HDA文件:

直接把导入的文件拖入到场景中,即可自动生成相关对象:

15 - UE4场景中,可以自由修改相关对象,以上,即为完整的地形相关的Houdini - UE4流程:

16 - 假如需要修改HDA文件中的节点,直接打开相关文件进行编辑,如果被锁定,可以右键让其可编辑:

编辑完成后,右键重新保存,覆盖原HDA文件:

UE4中Reimport这个HDA文件后,在场景中重新Rebuild一下即可完成更新:

 
免责声明:本文内部分内容来自网络,所涉绘画作品及文字版权与著作权归原作者,若有侵权或异议请联系我们处理。
收藏

全部评论

您还没登录

暂无留言,赶紧抢占沙发
绘学霸是国内专业的CG数字艺术设计线上线下学习平台,在绘学霸有2D绘画、3D模型、影视后期、动画、特效等数字艺术培训课程,也有学习资源下载,还有行业社区交流。学习、交流,来绘学霸就对了。
绘学霸iOS端二维码

IOS下载

绘学霸安卓端二维码

安卓下载

绘学霸微信小程序二维码

小程序

版权声明
本网站所有产品设计、功能及展示形式,均已受版权或产权保护,任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
热线电话
18026259035
咨询时间:9:00~21:00
在线客服
联系网站客服
客服微信:18026259035
公司地址
中国·广州
广州市海珠区晓港中马路130号之19
绘学霸客户端(权限暂无,用于CG资源与教程交流分享)
开发者:广州王氏软件科技有限公司 | 应用版本:Android:6.0,IOS:5.1 | App隐私政策> | 应用权限 | 更新时间:2020.1.6