原来有 no weight blend 和 unreal_landscape_layer_inputonly 两个标签,对于混合高度图已经足够用。
但是发现一个问题,对于材质层,一旦启用了多层高度图,新的材质层输出结果都会到新的层上面,但是最终结果是新层与旧层数据的混合。但是不管新的全刷的情况,与旧的混合后都会导致权重被稀释。
这个问题后续使用了材质 alphablend 来解决,因此上一篇的 Houdini 添加 output global,该功能不再支持。
https://iwiki.woa.com/pages/viewpage.action?pageId=253293365
手游这边的新需求是可以指定结果输出到某一层。因此这边支持根据标记字段来确定输出到地形的哪一层。
因此这里引入了新的表及参数 unreal_landscape_layer_outputid.
这个参数原来还有一个作用就是,这个参数所设置的layer层,会写入到这个id设定的层。
具体表述,就是在下约定表上加了一行:
unreal_landscape_layer_outputid – prim – int – landscapes
例:
注意在与其他标签混合使用的时候的逻辑。
unreal_landscape_layer_inputonly 这个标签是最大的逻辑,有他即不会更新所有的情况。
unreal_landscape_layer_outputid 次之,有他即表示会更新指定的地形层的材质层,没有这个标签就会生成到默认的HoudiniGen层上面。
unreal_landscape_layer_nonweightblended 在上述两个之下,也就是说 unreal_landscape_layer_outputglobal 支持 weight blend 层和 no weight blend 层的处理。
代码逻辑: