Loading
0

Corona的MultiMap随机纹理贴图在实际中的应用

Corona的MultiMap贴图可以让你创建一个带有纹理,反射,光泽,凹凸等随机变化的材质,这个材质可以作用到不同的物体上,同一个物体不同的材质ID上,或者不同的面上等等,并通过 “Mix amount”参数来控制各种颜色之间的融合度。

1. Distribution Modes

Primitive-每一个色块将作用到物体的片面上(三角形)。

Material-每一个色块将作用到使用了MultiMap贴图的所有材质上。

Instance-每一个色块将作用到所有该材质的物体上。

Material ID-每一个色块将根据物体所具有的不同的材质ID作用到所有该材质的物体上,下图里的所有茶壶的材质ID都是一样的,除了中间那个。

Material GBuffer ID-每一个色块将根据物体的GBuffer ID来分布。

Object GBuffer ID-每一个色块将根据物体的GBuffer ID来分布,下图里中间位置的三个茶壶有着和其他茶壶不同的ID。

了解了基本参数,现在来进入实际运用了,Corona的MultiMap可以用在纹理,反射,凹凸等任何通道里,而且可以是个简单的色块,也可以是一张贴图,具体应用例子如下:

1.不同颜色的树叶

仔细看下图里的树叶可以发现,颜色稍有不同,这个就是MultiMap做出来的。


它的具体设置如下,可以看到,random hue(随机色)和gamma(伽玛值)被提高了。

还可以做出更加强烈的变化,来做出秋日的感觉。

这个秋日感觉的设置如下:

另外,每一个颜色出现的频率也可以在 "Frequency"参数里进行调节,比如下图里,最后的红色出现频率在场景里的出现会明显高于其他颜色。

假如用上面那个参数来渲染,会看到这样的结果。

冬天的感觉可以模拟出来,办法是将一些树叶变成透明,来制造出树叶凋零的感觉来。

这个可以通过在透明通道里使用MultiMap来达到,黑色代表透明,白色代表不透明。

还可以做出随机颜色的鹅卵石的效果。

这个效果的参数设置。

 

木地板的应用

用Batch load textures可以一次批量将所有色块都赋予同一个贴图。

你甚至可以只用一个色块,仅仅靠色调和伽玛来做出随机变化,下图里的鹅卵石就是例子。

它的设置如下: