作者:朱佳敏 zjmjeo@qq.com
前言
1.在学习材质球的基础上,通过这篇文章,美术的新同学可以了解什么是材质球模板和关联材质球
2.通过两个例子来展示材质球模板和关联材质球的制作过程
3.一些关于展现一个材质的属性和细节的Tips
4.使用英文界面UDK来演示
5.平时比较懒,不会主动写教程,有需求的话,尽量把需求详细写明,能提供素材更好,能做的我会完成并将制作流程做成图文教程发到网上
【概念介绍】
材质球模板:在U3项目开发中,我们通常为同一类材质做一套模板,设置统一的Texture placeholder和控制参数,是一种特殊的Material。例子中会详细说明
关联材质球:MaterialInstance,在关联材质球中引用材质球模板,他们是子父关系,一个材质球模板可以做出不同的关联材质球。
【作用】
1.减少工作量:一套材质球模板可以涵盖所有的同类材质球,只要通过更换关联材质球的贴图,就能形成不同的关联材质球
2.减少了材质球的数量,从而减少了内存占用
3.通过添加控制参数,可以在粒子特效系统和KISMET中控制这些参数的变化。比如材质变色等
【实例】制作材质球模板
【注】下面我会用官方的素材来再现一个材质球的制作过程,一些基本操作请参考:[Unreal3美术教程]在Unreal3内制作材质球,基本操作不再赘述
第一步,制作材质球模板的基础部分
1.选取默认贴图,尺寸不需要很大
默认的Diffuse和Specular就是类似T_Reflection这种灰色图
默认的Mormal就是类似T_Normal这种没有凹凸的图,表明默认光滑
默认的Emissive和Decal就是类似T_Emissive这种全黑的图,表明默认没有Emissive和Decal
默认的透明,MASK和通道就是全白的图,表明默认没有透明等。
2.创建Material,命名M_Proto。制作思路与普通的材质球相同,但是用的一些节点稍有不同。材质球模板所用的一些节点参数都可以在关联材质球中再次设置。
节点功能 | 普通材质球 | 材质球模板 |
一维运算:数学运算等 | Constant | ScalarParameter |
二维运算:UV运算等 | Constant2Vector | VectorParameter |
三维运算:贴图、矢量运算等 | Constant3Vector | VectorParameter |
四维运算 | Constant4Vector | VectorParameter |
引用贴图 | TextureSample | TextureSample Parameter2D |
可以在FX中调节时间-颜色曲线 | Vertex Color |
【疑问】读者可能有疑问,既然后者的功能都包含了前者,为什么epic还要把前者放进来呢?为什么不只留下后面一排的节点?答案我也不知道
3.完成最基本的连接
第二步 添加参数控制节点
1.Diffuse,用一个VectorParameter来控制Diffuse的输出颜色,默认(1,1,1,1)
【Tips】
Ctrl+Alt左键框选节点后,空白处右键选择newcomment可议将选中的节点框住,有助于分类管理
清晰命名每个控制节点有助于后期的调整
2.Emissive,用一个ScalarParameter来控制Emissive的自发光强度,默认10
3.Specular,用一个ScalarParameter来控制Specular的强度,默认1
4.Specular Power,用一个ScalarParameter来控制SpecularPower的强度,默认15
5.Normal,用VectorParameter来控制Normal和DetailNormal的强度;用ScalarParameter来控制Detail Normal的tiling次数
6.最后全部连起来
【实例】制作关联材质球
1.右键选择New Material Instance Constant创建MaterialInstance,命名MI_Road
2.选中M_Proto,切换到MI_Road编辑界面,引用到Parent选项
3.在各个下拉菜单中,可以重新设定参数。在此把默认贴图换掉
【注】打钩表明使用新参数;不打勾使用默认
其他
1.关联材质球的用法和普通材质球一样
2.如果要制作同类的其他材质球如墙壁、草地、雪地什么,重复上一步:制作关联材质球,修改参数即可。
3.如果控制参数不够用,可以扩展材质球模板或者制作新的模板
4.独特或是复杂的材质球一般不用模板,单独做