
简介:在Houdini处理地形相关效果的过程中,我们使用Labs模块支持的Gaea功能关联节点,可以更加快速高效地产生不同风格的地表效果及细节,在首次使用及配置过程中,我们有一些需要注意的操作细节,在这片文章中,会重点进行讲解,以帮助大家在Houdini中能够上手这部分功能。
首先说一下我们需要的基本配置,需要安装Houdini及Labs插件,还有Gaea软件本体,推荐都使用较新的版本,安装配置的过程这篇文章先不进行讲解。安装配置好之后,打开Houdini,就可以在geo框架内创建一个gaea_tor_processor节点,此节点用于关联Gaea工程文件(.tor)中的处理节点,用于处理Houdini中上游输入的高度场。接下来我们介绍下如何使用这个节点。创建好节点之后,我们首选勾选Use Preset选项,这样节点会自动关联Labs文件夹中的Gaea样例工程文件,并加载工程文件所在的路径,鼠标中键点击Gaea Automation File,就可以看到样例文件的绝对路径。
然后我们使用Gaea软件打开这个样例文件,就可以看到内部的文件结构,共有6个节点,Terrain In 和 Terrain Out 分别为高度场的输入和输出节点,Erosion为基本侵蚀效果的处理节点,Wear,Deposit,Flow都是侵蚀相关的分布图输出节点,可以在Houdini中高度场的Layer层中接收到,但是以上信息我们都需要在Houdini的Gaea处理器节点中手动设置一下才能正确地输入及接受处理结果。下图为Gaea文件中的节点状态及Houdini中需要手动配置的参数信息:
其中,Terrain In 和 Terrain Out 都输入height即可,Flow, Wear, Deposit对应Gaea文件中配置的输出层,层的名字可以在节点信息中浏览及设置,如下图所示:
输入这些信息后,我们在Houdini中的设置就完成了,接下来点击Cook按钮,我们就可以看到Gaea样例处理器的处理结果,是一个Gaea中Erosion节点的侵蚀处理效果:
接下来我们进一步介绍一下,如何自定义一个Gaea效果处理器并在Houdini中使用。经过之前的测试,如果我们新建一个Gaea文件再进行配置,这个过程中很容易产生的问题,就是会在处理后,结果会与Houdini中的输入的高度场存在高度偏移及高度范围的偏差,所以有一个办法可以让我们直接规避这个问题并省去很多操作步骤,就是直接将我们上文讲到的样例文件另存为一个新的.tor文件,然后再进行调整。
上图为我们调整后的文件状态,可以看到,我们改变了中间的处理节点,自定义一个snow层输出节点,删除掉了不想要的层输出节点,并且创建了一个Mountain节点以帮助我们观察处理效果,对于处理结果比较满意的话,就可以将Terrain In节点连回来并保存,以恢复Houdini所需的关联结构并在Houdini中使用。这里我们重点介绍一下,如何新建并设置一个输出层,以及如何暴露一些参数,让我们可以直接在Houdini中进行调整。首先,我们在Gaea中新建一个Output节点,可以将节点重命名,例如Snow,这样我们可以知道这个输出层的用途,然后我们在节点属性中选择Expose Node来配置所需要暴露的参数,对于输出节点来说,我们勾选Path,然后再Path中输入我们想要定义的层名字(例如snow)即可。设置好之后,我们再把我们想要输出的层信息连到这个Output节点上就可以了,这个案例中我们想要输出的是雪的分布信息灰度图,如下图所示:
接下来,我们介绍一下如何暴露参数,选择对应的处理节点,依然在Expose Node面板中进行配置。这里我暴露了Warp(扭曲)和Snowfall(落雪)节点的一些控制参数如下图所示:
完成上面的配置之后,保存这个.tor文件,我们就可以回到Houdini中进行使用了。在Houdini中,我们创建一个gaea_tor_processor节点,输入高度场之后,开始配置参数。首先我们在Gaea Automation File中指定好刚刚我们自定义的.tor文件,指定之后,就可以看到我们关联的控制参数已经暴露出来了:
之后,如果有任何参数暴露上的改动,我们需要点击上面的Reset Parameters来刷新参数关联。接下来,我们再配置一下输入及输出的关联,如下所示:
这样我们就配置完成了,现在点一下cook就可以看到处理结果:
然后我们在下游创建一个HeightField Isolate Layer节点就可以看到snow层的分布效果:
