RiverPork 发表于 2023-12-30 00:46:14

houdini+Unity地形优化流程

本帖最后由 ...\\ 于 2021-7-12 22:22 编辑

今天看到微元素出地编工具4.0了。其中使用了Houdini做优化。刚好我最近也走完了一个简易的houdini+unity的地形流程。公司最近在做VR一体机,这套方案也是为此而设计。由此该系列工程不能共享哈。

一、地形生成
地形生成还是使用worldcreator。制作的时候需要考虑贴图的使用套数。一般来说,一个材质球是不超过四套。

(2048*2048px -> 1024m)

但是实际制作过程中难免使用数会超过这个量。这里的解决思路是一个区块内使用低于4套,互相接触的区块有同一套贴图。在接触的区块过渡的时候使用相同的一到两套贴图过渡。


worldcreat需要导出如下几种贴图
1、color
2、height
3、splat

相邻的区块做过渡时需要重新整理splat形成新的mask。如果只使用4套贴图就不用管。我这边生成时使用的是sd。

二、houdini优化
1、地形重构
我把如下参数单独列出



a、重建地形

使用基础的用法可以生成基础模型

remesh节点需要使用适配模式

生成的节点可以更加疏密有度


b、面数控制
使用减面工具进行减面,我这里设置了一个软硬边。方便区块的完美衔接。

需要注意的是。不能用过大的分辨率后进行强行减面。打算生成低面数的模型时,在基础remesh的时候就应该是一个地面数的。

使用绘制节点可动态绘制面的疏密关系




c、边缘修复
使用硬边时、边缘面会有异常。

切除这部分区域,并通过vex来修复空隙


二、切块


我这边设计的是无接缝的大地形。切块不仅能解决贴图数量的问题。同时可以设置一个地形lod。在远处的地形直接使用烘焙的color即可。接近了再切换为混合地形材质。

地形系统中有一个切块的节点。
但是切块后再减面有可能会导致区块衔接不完美。所以采用了先poly化再减面的思路。


三、重置UV
uv在remesh和减面时会乱掉。
重置UV并且制作2U。


四、制作围挡

在远处时,高低精度的模型会出现衔接空隙。低模上添加一个围挡即可在视觉上解决很大一部分问题。再加上花花草草石头树木,就非常容易解决这个问题


五、烘焙法线


同时需要制作几套lod。并且给低lod生成法线

由于重置了UV。现在一个小区块要独占一个UV。跑一个循环单独生成对应区块的法线

六、其他

在houdini中也可以直接进行图片的处理。比如分splat,制作混合贴图



Unity中复原


至少会生成三组层级
1、simpleLit 2*2
2、simpleLit 4*4
3、terrainMat 4*4

根据相机处于地块的位置。分级加载不同等级地形。当然根据不同实际情况,需考虑DC,面数,内存等多方面影响。但是外存考虑的少一些。通常都是以空间来换时间和质量。

以下是做出来的一些参考效果




接缝几乎看不见



面数包含天空盒面数7K
帧率稳定在72
足够现在的一体机乱跑了

这里的天空球是自己写的。可以基于高度控制雾的颜色。通过高度图实现简单高度雾或者基于Y轴简易实现。主要是与地形远处的雾效实现融合,减少违和感。

这里只有地形相关的。后续也有一些植被的思路,再说吧


发表于 1970-1-1 08:00:00

随浪逐波 发表于 2021-7-13 11:11:07

666

雨の日曜日 发表于 2021-7-13 11:58:59

学到了

稀饭丿榨菜灬 发表于 2021-7-13 14:40:15

感谢分享

菠萝小饼干 发表于 2021-7-13 17:43:18

大佬球带?

暗夜不晓得 发表于 2021-7-13 19:37:37

感谢大佬分享如此优秀的作品

先森、囧 发表于 2021-8-4 17:34:35

三、重置UV
uv在remesh和减面时会乱掉。
重置UV并且制作2U
( 我想问2U是怎么制作)

qq_异界_m6m 发表于 2021-10-15 11:31:46

大佬可以分享个工程吗?

烦登录 发表于 2022-4-21 14:37:08

6666666大佬

szflypig 发表于 2022-4-21 21:24:32

非常感谢楼主分享!!!!!!

ceelarry 发表于 2022-5-11 11:23:53

6666666666666666666666666

北巷 发表于 2023-3-14 15:55:13

大佬可以出个详细教程吗,付费也接受啊

隐约雷鸣 发表于 2024-5-30 10:00:56

秀啊
页: [1]
查看完整版本: houdini+Unity地形优化流程