[教程]SubstanceMaterial实作教程1.什么是SubstanceMatrerialSubstance是Allegorithmic公司技术制作的程序化贴图材质。Substance基本上是一组map,用所有编辑器中所产生的参数(Diffuse,Normal,Specular,Bump等)来定义整个材质的最终效果。1.1支持Substance材质的3d软件SubstanceDesignerSubstancePlayerUnity3d(3.5以上的版本)Autodeskmaya2012以上的版本Autodesk3dsmax2012以上的版本AutodeskFlame2012以上的版本2.Substance材质示例这里,我们在unity3d中,将Substance材质和普通材质做一个对比,帮助还没有完全理解Substance的读者直观的理解Substance材质。2.1普通材质以下是一个应用了一张Diffuse贴图的坦克模型。2.2Substance材质我们用Substance材质替换随模型导入的默认材质,看看有什么不同,从模型上看,似乎除了反射面略暗,颜色偏灰,没有太多不同。但是观察一下Substance材质,你会发现它和普通材质相比,多了一些参数:修改Dirtness和Bumpness参数,让我们看看Substance给我们带来了什么。Dirtness=0.5,Bumpness=0.5的效果:Dirtness=1,Bumpness=0的效果:也就是说,Substance通过可视化和可编程化的参数接口,允许用户在运行时动态的生成不同的贴图,是不是很酷?更重要的是,用户只需要提供一张Diffuse贴图,就可以得到法线,和高光贴图,图片体积比普通的贴图材质减少了3倍!3.创建Substance材质SubstanceDesigner是Allegorithmic公司发布的制作Substance材质的设计工具,目前最新的版本是3.7,官方授权费是570美元/2台机器。大家如果是商业应用,请购买正版授权。Substance文件类型在学习SubstanceDesigner之前,先介绍一下Substance文件。和程序代码一样,Substance也有源文件和二进制发布文件。源文件是以sbs后缀,内容为xml格式。源文件可以在Substancedesigner编辑并发布。二进制发布文件是以sbsar后缀,sbsar文件是不可编辑的。Unity,3dsmax,Maya中能使用的都是sbsar文件。只有substancedesigner可以发布sbsar文件。使用Substancedesigner制作坦克材质关于SubstanceDesigner的操作界面,快捷键,菜单栏等等基础内容,笔者不打算在这里详述,SubstanceDesigner界面非常简洁,自带有UserGuide文档。3.1创建Substance菜单栏File->NewSubstance在弹出窗口中把GraphName设为TankSkin,其它保持默认。点击Ok。3.2添加Diffuse贴图将IS_4M.dds文件拖动到主面板。在接下来的弹出窗口按实际需要选择ImportResource或者LinkResource。一个是把图像文件链接到sbs文件中(体积小),另一个是把图像文件内容嵌入到sbs中(体积大)。IS_4M.dds:这时你的主操作面板应该是这样的:3.3让坦克变脏-添加Dirtness参数制作一个充满污点的贴图是Substance最典型的应用之一,也非常容易实现。3.3.1添加MoistureNoise节点首先在SubstanceDesgner的左下方,Library下面的文本输入栏输入Noise,会出现几排Substance预定义好的噪音生成器。将MoistureNoise拖放到主操作面板中。3.3.2AddNode->添加GradientMap节点将MoistureNoise的输出管线链接到GradientMap的输入管线。这样做的目的是将MoistureNoise从一个灰阶图(Grayscale)转换成一个色彩图(ColorMap)。为什么要这样做,稍后就会解释。这时你的主面板应该是这样:3.3.3添加Blend节点SubstanceDesigner提供了许多预定义好的功能节点,Blend是其中比较常用的一个节点。它和3dsmax材质中的Blend功能一样,可以将两张位图以不同的模式合成在一起。接下来要添加Blend节点并且输出Diffuse贴图了。首先,在主操作界面右键单击->AddNode->Blend。这会在你的操作界面上添加一个Blend节点。仔细观察一下Blend节点,它有三个输入源:最上面的是Foreground(前景图),它一半是灰色,一般是橙色,意思是它可以接受灰阶或者色彩图。第二个是Background(背景图),它也可以接受灰阶或者色彩图。第三个是Opacity(硬度图),它是可选的,如果你不分配Opacity图,它就是通过参数–Opacity控制。硬度图必须是灰阶图。需要注意的是,Blend节点要求Foreground和Background的灰阶或色彩属性保持一致。也就是说,Foreground和background必须同时为灰阶或者色彩图!...