《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](https://yqfile.alicdn.com/6e62dddfe98c36a3a0acf561873149220b5d94bc.png)
6)我们想让Alpha通道来强调锈铁(rust)和金属(metal)间的对比度(contrast)。因为Blue(蓝色)是对比度级别最高的通道,在Channels窗口中选中它,并且让其他通道不可见,结果会显示成灰度图,如下图所示:
![ea6eca52f71e9624d42d6df93af1cf578c2f844c](https://yqfile.alicdn.com/ea6eca52f71e9624d42d6df93af1cf578c2f844c.png)
10)还是在Channels窗口中,通过让RGB通道可见显示所有颜色。
11)除了生锈的金属板之外,在墙上模拟一个绘制层:创建一个黄色的文本输入层,可以随便输点什么。
12)把文本输入层的混合模式修改成Overlay(叠加),把Opacity(不透明度)修改成80%。
![5cdd02e45c9fa02d5303051b6ebf2e28a1dfd951](https://yqfile.alicdn.com/5cdd02e45c9fa02d5303051b6ebf2e28a1dfd951.png)
3.4.3 实现原理
Unity可以读取纹理贴图的4个通道值:R(红)、G(绿)、B(蓝)和A(透明度)。当根据每个像素的亮度级别,使用Alpha设置材质的高光亮度时,Specular着色器使用RGB通道作为基础纹理(也叫做漫反射纹理)
3.4.4 更多内容
Specular 着色器还有一些属性值得一看: Specular Color 和 Shininess。
如果厌倦了白色发光点,可以通过修改specular color添加其他的颜色。 调整发光度以突出显示
发光点在保龄球上看起来不一样(发光点高度集中),因为发光点确实在打磨过的金属表面上(蔓延稍微多点),集中级别由Shininess参数控制。
相关文章
- 全志a13开发总结
- 《ASP.NET Core应用开发入门教程》与《ASP.NET Core 应用开发项目实战》正式出版
- IDEA 2021 开发 springboot springcloud springcloud Alibaba应用时application.yml配置自动提示
- Redis开发与运维. 3.2 Redis Shell
- 《STM32库开发实战指南:基于STM32F4》----1.4 安装STM32芯片包
- 关于IOS音频的开发积累
- 《Unity 5.x游戏开发实战》一1.1 游戏设计
- 《Unity 5.x游戏开发实战》一1.3 项目和项目文件夹
- 《HTML5和JavaScript Web应用开发》——2.6 QA和设备测试
- 《树莓派开发实战(第2版)》——1.9 调整显示器中的图像尺寸
- 《树莓派开发实战(第2版)》——2.8 利用VNC远程控制树莓派
- 《Java和Android开发实战详解》——1.3节Java语言的开发环境
- 《树莓派开发实战(第2版)》——第2章 Figaro快速教程
- 《树莓派Python编程入门与实战》——3.6 关于Python开发环境shell
- Android开发之自定义圆角矩形图片ImageView的实现 - Jamy Cai
- 《微信公众平台应用开发实战(第2版)》一1.2 微信公众账号的认证
- 《Unity开发实战》——1.5节把Unity中创建的资源另存为Prefab
- 《Linux嵌入式实时应用开发实战(原书第3版)》——1.5 开源协议
- 外设驱动库开发笔记20:BME280压力湿度温度传感器驱动
- Java Web实战开发 | Web项目的创建与运行
- 【正点原子STM32连载】第十一章 STM32时钟系统 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
- 【正点原子FPGA连载】 第三十一章 交通灯实验-摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0
- 【Android开发VR实战】二.播放360°全景视频
- maptalks 开发GIS地图(28)maptalks.three.21- custom-cloud
- C/C++教程 第二十七章 —— 脚本开发