Houdini Terrain 2 | Houdini地形生成之二

之前一篇Houdini地形生成尝试在Houdini 15.5中生成地形。没想到Houdini 16的版本就出了地形的功能。在SOP里,菜单叫HeightField。其实原理看上去是一个二维体素,heightfield wrangler其实跟volume wrangler一样一样的。

其实之前15.5就能做地形,只不过erode比较麻烦。16.0版本里集成了Heightfield Erode的节点,目测是OpenCL写的。GPU跑比之前自己写的VEX版本快一些。

Houdini官方有一个Terrain的教程 作者Alex Dracott是似乎是Sony的Artist。这个教程用UE4配合Houdini做了一个非洲稀树草原的地形,感觉完全可以代替World Machine嘛!

1 Houdini制作地形的优点

1. drawmask节点直接可以手绘蒙版。但在WM里用layout要自己创建创建多边形蒙版。
2. 数据可以写VEX直接控制,比如项目用的gamma工作流,导出高度图时要encode gamma,直接VEX写了。WM怎么搞,大概只能进PS做一个gamma了,但是不精确。
3. 可以变分辨率。所以erode可以在不同的分辨率上进行多次,那个houdini的教程就在不同分辨率做了三次。低分辨率做出整体的河流变化,高分辨率做精细的flowmap。但是WM里只有一种分辨率啊。
唯一的遗憾是没有WorldMachine里生成积雪的节点。
然后可能WM是GPU计算,比较快。而Houdini(虽然是OpenCL?)感觉稍微慢一些。还会存每一步模拟的数据,比较吃内存。
另外操作上有点区别是,WM的蒙版就在那里,每次从同一个地方拽出来。Houdini可以把数据直接存起来,这样地形可以有多层数据,Height是高度,Mask是蒙版,顺便自定义一堆蒙版。这样每次用蒙版的时候,copy layer出来。
还有一个麻烦是是noise没法定义起始高度,只能自己拉一个平面加上噪声,再layer加起来。

地形的存储格式,一层一层的体素。

copymask的操作

2 代替WorldMachine的操作

Layer与Combiner

Houdini里Layer和WM里combiner基本一样,就是把地形/蒙版混合起来。混合操作有Add Substract Multiply等等。

Blur Expand Shrink

蒙版/地形的模糊 扩散 收缩是一样的。Houdini里叫Mask Blur, Mask Expand, Mask Shrink。WM里叫Expander, Blur

Erode

Houdini里是Heightfield Erode, WM里是Natural里的Erosion,Thermal Weathering等。

Filter

WM里有一个Filter面板,里面Clamp, Curve, Transform, Ramp等等很多。在Houdini里,用Remap基本都可以对应,其实就是一个曲线映射的编辑器。另外如果要精细控制的话直接写VEX快得多而且方便得多。

Selector

WM里一堆选择器,Select Height, Select Slope等等。Houdini里用Mask By Feature就行了都包括了。

Generator

WM里生成噪声等等都在Generator面板中。Houdini里用noise和pattern节点。

手绘蒙版

WM里有一个Layout面板,里面画各种形状和多边形。Houdini里可以用drawmask节点手绘出蒙版。

 

以上就是Houdini与WM功能的基本总结。可以看出WM有的Houdini基本都有,就差Snow和Water Erosion了。WM没有的Houdini也有。毕竟Houdini里还能建模,烘焙,特效模拟等等,还有Houdini Engine和Maya/Unity/UE互操作。个人感觉是,WM完全可以被Houdini代替了。

最近刚出的Houdini 16.5又有一些新功能。包括:

  1. 从GeoTIFF等地形数据生成地形
  2. 更强大的Erode系统
  3. 直接导出到游戏引擎(?)
  4. 更丰富的地形shader

Houdini的工作流简直完美。

发表评论

电子邮件地址不会被公开。 必填项已用*标注