虚幻引擎中VertexPainting工具能够很方便的将几种材质进行混合并绘制在模型上。而在Unity中则可以通过VertPaint这个插件来实现差不多的效果(PS:肯定是没有虚幻中的那么强大)。操作步骤如下(以Bulit—in管线为例):
一、首先在Window中找到VertPaint并打开,也可以按Ctrl+Shift+V打开,打开之后会出现右图中的窗口
二、把混合材质赋予到需要绘制的物体
插件自带10种shader,用法大同小异,差别在于材质的混合数量、是否通过高度贴图控制混合以及是否由边缘平滑,这里我们以4-Way Blend Example Material (Height Based Smooth)这一个shader为例
三:创建一个材质,shader类型改为4-Way Blend Example Material (Height Based Smooth),选择的时候在VertPaint的子集下面
四:贴图准备
需要一张Albedo、一张Normal以及一张MSHAO贴图,由于是四材质混合,所以需准备四组贴图
关于MSHAO的制作方法:
方法一:使用插件自带的工具,点击预设的材质球,最下方有一个Open Shader Prep Utility,打开之后会弹出下面的窗口,红通道对应Metallic,绿通道对应Smoothness,蓝通道对应Hight,Alpha通道则对应AO。使用这个工具建议将所有通道的贴图都放满再点击Repack,不然容易出现一些奇奇怪怪的错误,生成之前记得命名以及修改输出路径。
方法二:将贴图倒进SP定义预设在输出。正常情况通过Bridge导入unity的材质会自动配合Standard材质将金属度和粗糙度合为一张贴图,这种情况就无法使用VertPaint自带的生成工具,而且Bridge的材质不提供金属度贴图,红通道会空着,所以我更推荐使用SP定于预设输出,如下图所示,也是和方法一中的一样通道一一对应
贴图准备完之后,就可以赋予给材质球了 ,第一个是背景层,其他三种材质对应红绿蓝层
五:开始绘制
①激活Enabled
②调节笔刷半径Radius、延迟Delay、透明度Opacity、衰减形式Falloff ,选择需要绘制的颜色层,画一笔就会在基础层上开始叠加,按住shift键绘制可以擦除。(PS:由于是顶点绘制,所以需要绘制的模型需要拥有一定数量的顶点)
③绘制完需要点击Apply应用一下
④通过Transition Smoothness调节边缘平滑度,在材质的最下面
教程有点潦草,因为快下班了,有不懂的可以私信我
附上我手动机翻的文档哈哈哈,需要的自提