Substance Material教程

上传人:M****1 文档编号:487684006 上传时间:2023-02-01 格式:DOCX 页数:19 大小:5.98MB
返回 下载 相关 举报
Substance Material教程_第1页
第1页 / 共19页
Substance Material教程_第2页
第2页 / 共19页
Substance Material教程_第3页
第3页 / 共19页
Substance Material教程_第4页
第4页 / 共19页
Substance Material教程_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《Substance Material教程》由会员分享,可在线阅读,更多相关《Substance Material教程(19页珍藏版)》请在金锄头文库上搜索。

1、教程Substance Material实作教程1. 什么是Substance MatrerialSubstance是Allegorithmic公司技术制作的程序化贴图材质。Substance基本上是一组map,用所有编辑器中所产生的参数(Diffuse, Normal, Specular, Bump等)来定义整个材质的最终效果。1.1 支持Substance材质的3d软件Substance DesignerSubstance PlayerUnity 3d (3.5 以上的版本)Autodeskmaya2012 以上的版本Autodesk3ds max2012 以上的版本Autodesk Fl

2、ame 2012 以上的版本2. Substance 材质示例这里,我们在unity3d中,将Substance 材质和普通材质做一个对比,帮助还没有完全理解Substance的读者直观的理解Substance材质。2.1普通材质以下是一个应用了一张Diffuse 贴图的坦克模型。2.2Substance材质我们用Substance材质替换随模型导入的默认材质,看看有什么不同,从模型上看,似乎除了反射面略暗,颜色偏灰,没有太多不同。但是观察一下Substance材质, 你会发现它和普通材质相比,多了一些参数:修改Dirtness和Bumpness参数,让我们看看Substance给我们带来了什

3、么。Dirtness = 0.5, Bumpness = 0.5的效果:Dirtness = 1, Bumpness = 0的效果:也就是说,Substance通过可视化和可编程化的参数接口,允许用户在运行时动态的生成不同的贴图,是不是很酷?更重要的是,用户只需要提供一张Diffuse贴图,就可以得到法线,和高光贴图, 图片体积比普通的贴图材质减少了3倍!3. 创建Substance材质Substance Designer是 Allegorithmic公司发布的制作Substance材质的设计工具, 目前最新的版本是3.7, 官方授权费是570美元2台机器。 大家如果是商业应用,请购买正版授权

4、。Substance文件类型在学习Substance Designer之前,先介绍一下Substance 文件。和程序代码一样,Substance也有源文件和二进制发布文件。源文件是以sbs后缀,内容为xml格式。 源文件可以在Substance designer 编辑并发布。二进制发布文件是以 sbsar后缀,sbsar文件是不可编辑的。Unity,3dsmax, Maya中能使用的都是sbsar文件。只有substance designer可以发布sbsar文件。使用Substance designer制作坦克材质关于Substance Designer的操作界面,快捷键,菜单栏等等基础内

5、容,笔者不打算在这里详述,Substance Designer 界面非常简洁,自带有User Guide文档。3.1 创建Substance菜单栏 File - New Substance在弹出窗口中把Graph Name设为TankSkin, 其它保持默认。点击Ok。3.2 添加Diffuse贴图将IS_4M.dds文件拖动到主面板。在接下来的弹出窗口按实际需要选择Import Resource或者Link Resource。 一个是把图像文件链接到sbs文件中(体积小),另一个是把图像文件内容嵌入到sbs中(体积大)。IS_4M.dds:这时你的主操作面板应该是这样的:3.3 让坦克变脏

6、添加Dirtness参数制作一个充满污点的贴图是Substance最典型的应用之一,也非常容易实现。3.3.1 添加Moisture Noise节点首先在Substance Desgner的左下方,Library下面的文本输入栏输入Noise, 会出现几排Substance预定义好的噪音生成器。将Moisture Noise拖放到主操作面板中。3.3.2 Add Node - 添加Gradient Map节点将Moisture Noise的输出管线链接到Gradient Map的输入管线。这样做的目的是将Moisture Noise 从一个灰阶图(Gray scale)转换成一个色彩图(Col

7、or Map)。为什么要这样做,稍后就会解释。这时你的主面板应该是这样:3.3.3 添加Blend节点Substance Designer 提供了许多预定义好的功能节点,Blend是其中比较常用的一个节点。它和3ds max材质中的Blend功能一样,可以将两张位图以不同的模式合成在一起。接下来要添加Blend节点并且输出Diffuse贴图了。首先, 在主操作界面右键单击- Add Node - Blend。这会在你的操作界面上添加一个Blend节点。仔细观察一下Blend节点, 它有三个输入源:最上面的是Foreground(前景图), 它一半是灰色,一般是橙色,意思是它可以接受灰阶或者色彩

8、图。第二个是Background(背景图), 它也可以接受灰阶或者色彩图。第三个是Opacity (硬度图), 它是可选的,如果你不分配Opacity图, 它就是通过参数 Opacity 控制。硬度图必须是灰阶图。需要注意的是,Blend节点要求Foreground和Background的灰阶或色彩属性保持一致。也就是说,Foreground和background必须同时为灰阶或者色彩图! 这就是为什么我们在3.3.2 要用一个Gradient Map 将灰阶噪音图转换为色彩图的原因。将Moisture Noise链接到Foreground 接口, 将IS4.dds位图链接到Backgroun

9、d接口。 然后将Blend接口的输入端链接到Diffuse节点的输入端。这时你的界面看起来是这样的:选择Blend节点, 找到Blending Mode, 将Blending Mode 改成 Multiply调节Opacity参数:0 = Foreground像素最弱,也就是无污点。1 = Foreground像素最强,也就是污点最强。Opacity = 0 Opacity = 13.3.4 导出Blend/Opacity参数为可编程化参数现在你已经可以通过Blend节点的Opacity参数调节位图的污点程度。但是到目前为止,Opacity参数还只能在Substance Designer中可见

10、, 离开了Substance Designer, 在Unity, Maya, 3dsmax 中是无法修改这个参数的,因为它还没有全局化, 它还只是Blend节点的一个本地参数。现在让我们把这个参数导出成全局化的参数。双击Blend节点在Opacity右边找到函数编辑按钮,它的图标是一个正弦曲线。点击Expose, 这会将Opacity参数暴露给外界,变成一个可视化的参数。在弹出的Expose Parameter对话框,为Input Name制定一个名字 Dirtness:一旦你将Opacity参数导出成全局变量 Dirtness, 它就不会再属于Blend节点了,要修改这个变量,你必须点击右上

11、角的sbs项目才能在右边的属性窗口编辑这个全局变量。这样,你就完成了生成一个动态污点的Substance材质的全部工作。3.3.5 编译发布Substance sbsar文件Substance已经就绪了! 你可以编译并发布它了。在右上角右键单击你的sbs项目,点击Publish:把这个sbsar文件放到Unity中,去看看效果吧 !3.4 生成法线凹凸贴图Substance制作法线凹凸贴图也是非常强力的!而且不需要提供额外的贴图文件,直接从Diffuse 贴图生成。这里要补充一下,Substance将Diffuse贴图转换成Normal贴图的原理是将贴图中的RGB标量值,通过公式计算转换成代表

12、法线的向量值。但是这并不能反映出你的模型真实的凹凸情况,也就是说通过 Diffuse贴图生成的法线并不是真正基于模型本身的顶点信息生成的,而是通过Diffuse贴图的RGB值生成的, 如果你需要的效果是能真正反映出模型本身的凹凸特性,你应该直接添加一个法线贴图,而不是用Diffuse贴图生成。3.4.1 添加节点首先请添加以下节点: Clouds_3(从Library中搜索), Levels(标准功能节点), Normal(标准功能节点),并链接到Normal Output.如果你没有找到Normal output.可以用这样添加一个Normal Output: Add node - outp

13、ut, 并将usage设为Normal(默认是diffuse).这时你的主操作界面应该看起来是这样的(之前的污点贴图我就不截屏了):这个图的意思是: Clouds_3 = 原始输入,用于产生高度图。Levels = 控制器,控制生成的平坦度。Normal = 转换器,将高度图装换成法线图。Ouptut Normal = 最终输出法线贴图。3.4.2 关于Normal节点Normal节点的功能是: 接受一个代表高度图的灰阶图,并通过公式将这个高度图转换成法线贴图。灰阶图越白的像素,代表高度越高,越暗的像素代表高度越低。如果一个图片区域内的黑白像素越不均匀,则代表这一区域内的法线越不规则。反之,如

14、果一个区域内的黑白像素十分均匀,例如,全部是黑色,或者全部是白色,则这个区域的法线则全部指向同一个方向,也就是越规则。3.4.3 关于Level节点Level节点是Substance制作中最常用的标准功能节点之一。它的作用是在输入和输出端设置阀值,常用来调整图形的密度,明暗度等属性。在这里,我们通过Levels来限制输入像素的黑度,以达到调整法线的平坦度的目的。双击Levels节点,在右边的属性栏窗口,找到Specific Parameters 卷边栏,点击Values按钮:点击Values按钮会从矩形图界面切换到到参数化界面。调节Level Out Hight参数,观察Normal和Norm

15、al output节点, 你会发现随着Level out high的数值变小,输出法线贴图变的平坦。这是因为,你修改了Level节点输出的最大值。如果最大值为0,就是说所有输出像素的最大值是0,这样你的法线节点就是接受一个全黑的单色图片。小结:Level out high越小,高度图的黑白像素越单调,输出的Normal 贴图也就越平滑。3.4.4 导出Level/Level Output High参数将Level Output High 参数导出为 smoothness 后,你就可以在Unity/3ds max/Maya中通过这个参数来调节Substance材质的光华程度了。小结以上只是介绍了 Substance 最典型的用途之一,并且介绍了Substance Designer设计Diffuse和Normal贴图的一般过程。 事实上Substance还能支持众多的输出通道,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号