Houdini for Unity(PDG)/UE4 大地形的实
不定时更新中。。。
本人已实现效果,由于过程有点复杂,就想着大概介绍下流程,加上自己的一点点理解,写文章做个记录,好记性不如烂笔头。
该作者也有详细的制作步骤记录,有兴趣的可以去看看,我是看的视频教程
https://zhuanlan.zhihu.com/p/68868983
我这篇比较适合已经实现效果的人看,做个记录,学的东西多,难免会忘。
参考:
PDG for Indie Gamedev Section
Intro to Terrains in Houdini and Unreal
Procedural Race Tracks - Houdini 17.5 and Houdini Engine
Houdini 17 Terrain Techniques
官方文档:
https://www.sidefx.com/docs/unity/
https://www.sidefx.com/docs/houdini/
应用软件:
Houdini 17.5
Unity 2018.4.21
UE4 4.22
目录:
第一篇 准备工作,准备基础地形,创建相关附属资源,设置工程等等
第二篇 创建TOP节点,实现基础地形的处理和腐蚀处理
第三篇 实现贴图设置和切块
第四篇 实现撒点和种树
第五篇 实现路径创建和其他注意事项
第六篇 Procedural Race Tracks教程总结
第七篇 Houdini 17 Terrain Techniques教程总结
第八篇 Intro to Terrains in Houdini and Unreal教程总结
一、准备工作,制作基础地形
创建新工程

先创建相关几何体,并按Shift+C打包

节点右键点击保存HDA

在paint中创建Grid网格模型并修改尺寸为1025,右边参数用复制粘贴把参数关联,(右键copy )houdini地形要想导入Unity中,尺寸必须是2的n次幂+1,不然会变成平的片,没有任何山体起伏

通过撒点的方式绘制和创建山体,创建HDA给Unity中,

多说句,我这里创建多个形式的基础地形,主要是为了应对工作中面临的各种情况,这样比较整洁,便于维护,可以以外部导入的高度图,也可以是同事制作的houdini模型

将导入unity的基础地形,在unity编辑后导出,(利用事先做好的Rop导出选项)

利用.bgeo文件,作为基础地形,准备开始后面的PDG遍历处理
二、准备工作,准备其他附属资源,用于后面做下一步处理
创建显示缓存模型的节点,主要用于展示,无实际意义


创建区域模型, 用来拉高或压低基础地形,类似做一片空旷场地,做遮罩清除植被物件,导入unity后,可在unity选中曲线来编辑

注意 这里如果输入点超过一个 ,优先使用用户自定义的曲线制作区域

创建基础道路, 通过曲线创建,调整切线法线,与线节点放样成为道路,调整线节点,即可调整道路宽度



创建Sop的geo,准备在该节点下进行一系列处理工作
以下是节点展示:

准备工作到此结束~
最重要的忘了说,要修改houdini的环境变量,HEU_ENVPATH_JOB
这个一定要设置好,是我趟过坑,我做的时候费了些时间,设置不好后面unity连接烘焙基本就废了
这意思就是UNITY可以认到这个路径的内容

这个在这里可以创建

关于环境变量的文档介绍
https://www.sidefx.com/docs/unity/_environment.html