【UE4+Houdini+Bridge】程序化地形生成和野外植被撒点工具制作思路

B站制作过程展示: Houdini To UE4 程序化地形生成制作过程与效果展示

Github Houdini与HDA源文件:Houdini-PCG-Environment-Generator

最终效果图

目录

一、简单介绍

二、制作步骤

2.1 Houdini制作步骤

2.1.1 地形创建

2.1.2 层级划分

2.1.3 点云生成

2.2 UE4制作步骤

2.2.1 地形材质

2.2.2 点云模型替换

2.2.3 光源调整

2.2.4 内置的程序化植物生成器测试


一、简单介绍

一直以来对于开放世界程序化生成比较感兴趣,各种原因选择了程序化野外山谷作为第一个研究目标。

实现的效果还算达到预期,但是性能还是不满意,修改参数后需要计算一些时间,可能是因为用了Erode计算侵蚀的原因吧。

后续仍需要不少优化,也希望大佬能指导指导,暂想通过分Tile,重构Houdini与UE4的基础管线方式提升,具体参考自该技术大佬分享

二、制作步骤

这里仅将最终的制作思路作讲解,期间零碎的测试不再赘述。

2.1 Houdini制作步骤

2.1.1 地形创建

通过学习与研究,我决定采用擅长制作程序化地形的Height Field节点,在该领域花费了较多的时间,首先创建一个默认大小的Height Field高度图区域,大小刚好是题目要求的1k x 1k。Grid Spacing网格上两点之间的距离,相当于这块高度图的分辨率大小,设置为2。

使用Height Field Noise节点对高度值添加噪声模拟地形,我将噪声振幅、大小与模式参数暴露在了HDA中,使得在UE4中能够进行进一步调整。

为了使地形形状能够更加真实,我使用了Height Field Erode节点模拟自然中的雨水、风力侵蚀,这里需要通过时间轴模拟侵蚀随时间的变化,时间越久越耗费性能,我将帧数锁在了20帧左右,这样即使不小心移动了时间轴也不会对已经调整的效果产生影响,也避免了耗时的计算;紧接着通过Height Field Distort对地形进行扭曲,添加更多的细节,得到了不错的山地与平原轮廓;最后通过Transform节点对地形整体进行了适度的抬升,方便后续的高度蒙版值设置。

2.1.2 层级划分

虽然创建好了地形,但我们需要让程序能够知道树木、草地或是石块应该放置在哪,或是地表的材质会根据地区的不同而有所变化。Houdini提供了一个强大的节点Height Field Mask By Feature,它能够根据一些参数的设置对当前地形进行分区。比如我通过坡度筛选,将20-80度的山地标记出来用于生成树木。

使用Height Field Blur模糊上方的蒙版,让过渡区域别那

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值