Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质

Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质

创建部分光滑部分粗糙的材质

生活中,有类物体的表面既有光滑的部分,又有粗糙的部分,例如丽江的石板路,如图3-17所示,石板的表面本来是粗糙的,但是在石板上面走的人多了,石板的一部分就变得光滑了。有时,游戏为了显得更加逼真,就需要模拟这样一种材质。

Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质

图3-17  兼具光滑和粗糙表面的丽江石板路

要制作部分光滑部分粗糙的材质,需要用到两种资源:拥有镜面着色器的材质和模拟了现实状况的纹理。

Unity中创建并配置材质

在Project视图里,创建一个材质,并命名为rustyMetalMaterial,选中它然后在Inspector视图里修改Shader属性为Specular,如图3-18所示。

 Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质

图3-18  设置材质的Shader属性

在此种Shader属性下,会出现两个重要的属性:

  • q  Specular Color:可以调节镜面所反射的光的颜色。
  • q  Shininess:可以调节镜面所反射的光的强度。

制作兼具光滑和粗糙效果的纹理

本小节使用的纹理,模拟的是生了锈的金属表面,部分光滑部分因为有铁锈而显得粗糙,如图3-19所示。本小节打算为这个纹理做些简单的修饰:添加透明度的信息;以及在纹理上写些文字,用来衬托出光滑和粗糙位置处的不同效果。

 Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质

图3-19  拥有生绣的金属表面效果的纹理

使用PhotoShop打开此纹理,然后依次做下面的操作:

(1)在通道窗口下,新建一个通道,使用默认的名称Alpha 1。拷贝蓝色通道上的图像到Alpha 1通道,并设置Alpha 1通道上图像的亮度和对比度,如图3-20所示。通过此种方式,设置了这样的透明信息:铁锈处是完全不透明的,而光滑处是完全透明的。

 Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质

图3-20  设置Alpha 1通道上图像的亮度和对比度

(2)切换到图层视图,然后为此图像添加黄色的文字,文本内容随意。然后设置文字图层为叠加效果,不透明度为80%,如图3-21所示,对比了文字设置前后,效果的差异。这样的话,文字看起来就是写在金属表面上,而非铁锈上了。

 Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质

图3-21  设置文字图层为叠加效果,不透明度为80%

(3)合并文字图层和图像图层后,存储此文件,接下来会导入到Unity中使用。

部分光滑部分粗糙的材质的效果展示

将上一小节制作的纹理导入到Unity中,然后选中Project视图里的rustyMeterial,在Inspector视图里设置它的Base(RGB)Gloss(A)属性为导入的纹理,最后就可以在Inspector视图的预览窗口中看到效果了,如图3-22所示。

 Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质

图3-22  材质效果展示

本文选自:Unity 游戏开发技巧集锦大学霸内部资料,转载请注明出处,尊重技术尊重IT人!

上一篇:python测试开发django-rest-framework-84.序列化(ModelSerializer)之日期时间格式带T问题


下一篇:喵的Unity游戏开发之路 - 互动环境(有影响的运动)