《Unity开发实战》——3.4节创建高光纹理贴图

简介:

本节书摘来自华章社区《Unity开发实战》一书中的第3章,第3.4节创建高光纹理贴图,作者 (爱尔兰)Matt Smith (巴西)Chico Queiroz,更多章节内容可以访问云栖社区“华章社区”公众号查看

3.4 创建高光纹理贴图
有些表面可能既有光滑的区域,又有粗糙的区域,为了达到这个效果,可以使用高光贴图(specular maps)。

3.4.1 准备工作
为了便于讲解,本节将创建一个生锈的金属材质来演示specular属性如何增强现实。如果读者还没有用于生成高光材质的基础纹理,示例代码中名为“0423_03_03”的文件夹中有本节需要用到的素材。

3.4.2 操作步骤
请按照下面的步骤创建高光材质:
1)创建一个新的材质,命名为:rustyMetalMaterial。
2)选择此材质。在Inspector视图中,在材质的名称下,使用下拉菜单把Shader的值修改为Specular,如下图所示:


6e62dddfe98c36a3a0acf561873149220b5d94bc

6)我们想让Alpha通道来强调锈铁(rust)和金属(metal)间的对比度(contrast)。因为Blue(蓝色)是对比度级别最高的通道,在Channels窗口中选中它,并且让其他通道不可见,结果会显示成灰度图,如下图所示:


ea6eca52f71e9624d42d6df93af1cf578c2f844c

10)还是在Channels窗口中,通过让RGB通道可见显示所有颜色。
11)除了生锈的金属板之外,在墙上模拟一个绘制层:创建一个黄色的文本输入层,可以随便输点什么。
12)把文本输入层的混合模式修改成Overlay(叠加),把Opacity(不透明度)修改成80%。


5cdd02e45c9fa02d5303051b6ebf2e28a1dfd951

3.4.3 实现原理
Unity可以读取纹理贴图的4个通道值:R(红)、G(绿)、B(蓝)和A(透明度)。当根据每个像素的亮度级别,使用Alpha设置材质的高光亮度时,Specular着色器使用RGB通道作为基础纹理(也叫做漫反射纹理)

3.4.4 更多内容
Specular 着色器还有一些属性值得一看: Specular Color 和 Shininess。

  1. 修改材质的specular color
    如果厌倦了白色发光点,可以通过修改specular color添加其他的颜色。
  2. 调整发光度以突出显示
    发光点在保龄球上看起来不一样(发光点高度集中),因为发光点确实在打磨过的金属表面上(蔓延稍微多点),集中级别由Shininess参数控制。
相关文章
|
图形学
【Unity3D Shader】学习笔记-纹理采样②
前言 上一篇对同一纹理进行多次采样混合,本篇则是通过不同的纹理采样进行混合产生一些效果。 一、简单贴花 贴花简单来说就是在原贴图上面贴上细节贴图,就像墙面上的喷绘一样。下面这个只是最简单的例子,也就是只能在一张图(一个模型)上面贴其他细节。
230 0
【Unity3D Shader】学习笔记-纹理采样②
|
图形学
【Unity3D Shader】学习笔记-纹理采样①
前言 纹理采样属于在片段着色器中进行,通过提供的贴图和uv坐标使用tex2D进行采样。本篇主要介绍对同一纹理多次采样然后进行混合来获得不同的效果。 [声明:本笔记系列文章的图片资源都源自百度图片搜索,如有问题联系我] 一、简单重影 对同一纹理进行两次采样,采样时的UV两次坐标不一样,然后将采样的结果进行取平均得到最终的结果。
485 0
【Unity3D Shader】学习笔记-纹理采样①
|
图形学 异构计算
Unity 之 纹理类型导入设置和压缩格式介绍
你知道纹理导入正确设置和各平台压缩格式吗?本文教你如何将纹理资源导入到Unity并为其设置为对应平台需要使用的压缩格式,一起来看看吧~
813 0
Unity 之 纹理类型导入设置和压缩格式介绍
|
图形学 机器人
带你读《Unity游戏开发(原书第3版)》之三:模型、材质和纹理
本书主要介绍Unity2018的使用和游戏开发流程中涉及的各种知识。每一章的结构特别清晰,先综述该章要介绍的内容,然后一步步深入讲解,中间穿插着很多动手做的实践操作,可以让读者加深对某个概念、方法的理解,每章的最后还有一个小测验和一个稍微大一点的实践练习,用于巩固该章的学习内容。
|
图形学
【Unity Shader】(八) ------ 高级纹理之立方体纹理及光线反射、折射的实现
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_37027464/article/details/83511904 笔者使用的是 Unity 2018.2.0f2 + VS2017,建议读者使用与 Unity 2018 相近的版本,避免一些因为版本不一致而出现的问题。
2153 0
|
存储 图形学
【Unity Shader】(四) ------ 纹理之法线纹理、单张纹理及遮罩纹理的实现
笔者使用的是 Unity 2018.2.0f2 + VS2017,建议读者使用与 Unity 2018 相近的版本,避免一些因为版本不一致而出现的问题。 【Unity Shader】(三) ------ 光照模型原理及漫反射和高光反射的实现 【Unity Shader】(五) ------ 透明效果之半透明效果的实现及原理   在游戏中,我们除了能看到游戏物体的形体轮廓,还能看到物体的一些具体外观,包括颜色,凹凸等。
1817 0
|
编解码 测试技术 Android开发
|
存储 图形学
【Aladdin Unity3D Shader编程】之四 贴图纹理
关于纹理贴图介绍 纹理坐标也叫UV坐标,UV坐标都是0~1,并不是我们所理解的像素坐标,相当于是一个百分比。 编写shader映射纹理 将纹理的颜色取代漫反射的颜色 Shader "AladdinShader/11 Single Texture Shader" ...
1728 0