《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,如下图所示:
6)我们想让Alpha通道来强调锈铁(rust)和金属(metal)间的对比度(contrast)。因为Blue(蓝色)是对比度级别最高的通道,在Channels窗口中选中它,并且让其他通道不可见,结果会显示成灰度图,如下图所示:
10)还是在Channels窗口中,通过让RGB通道可见显示所有颜色。
11)除了生锈的金属板之外,在墙上模拟一个绘制层:创建一个黄色的文本输入层,可以随便输点什么。
12)把文本输入层的混合模式修改成Overlay(叠加),把Opacity(不透明度)修改成80%。
3.4.3 实现原理
Unity可以读取纹理贴图的4个通道值:R(红)、G(绿)、B(蓝)和A(透明度)。当根据每个像素的亮度级别,使用Alpha设置材质的高光亮度时,Specular着色器使用RGB通道作为基础纹理(也叫做漫反射纹理)
3.4.4 更多内容
Specular 着色器还有一些属性值得一看: Specular Color 和 Shininess。
- 修改材质的specular color
如果厌倦了白色发光点,可以通过修改specular color添加其他的颜色。 - 调整发光度以突出显示
发光点在保龄球上看起来不一样(发光点高度集中),因为发光点确实在打磨过的金属表面上(蔓延稍微多点),集中级别由Shininess参数控制。
《Unity开发实战》——3.4节创建高光纹理贴图相关推荐
- 《Unity开发实战》——2.2节创建画中画效果
本节书摘来自华章社区<Unity开发实战>一书中的第2章,第2.2节创建画中画效果,作者 (爱尔兰)Matt Smith (巴西)Chico Queiroz,更多章节内容可以访问云栖社区& ...
- 《Unity开发实战》——3.9节鼠标悬停时高亮显示材质
本节书摘来自华章社区<Unity开发实战>一书中的第3章,第3.9节鼠标悬停时高亮显示材质,作者 (爱尔兰)Matt Smith (巴西)Chico Queiroz,更多章节内容可以访问云 ...
- 《Unity开发实战》——2.4节自定义镜头光晕效果
本节书摘来自华章社区<Unity开发实战>一书中的第2章,第2.4节自定义镜头光晕效果,作者 (爱尔兰)Matt Smith (巴西)Chico Queiroz,更多章节内容可以访问云栖社 ...
- 《Unity开发实战》——2.9节显示迷你地图
本节书摘来自华章社区<Unity开发实战>一书中的第2章,第2.9节显示迷你地图,作者 (爱尔兰)Matt Smith (巴西)Chico Queiroz,更多章节内容可以访问云栖社区&q ...
- 《Unity开发实战》——1.3节设置首选项
本节书摘来自华章社区<Unity开发实战>一书中的第1章,第1.3节设置首选项,作者 (爱尔兰)Matt Smith (巴西)Chico Queiroz,更多章节内容可以访问云栖社区&qu ...
- Leap Motion 之Unity 开发实战(一. 制作手的HandController)
Leap Motion 之Unity开发实战 (一) 制作手的HandController 一. Unity官方包介绍 到如下链接下载 https://developer.leapmotion.com ...
- 《Unity开发实战》——2.8节用Shuriken制作粒子效果
本节书摘来自华章社区<Unity开发实战>一书中的第2章,第2.8节用Shuriken制作粒子效果,作者 (爱尔兰)Matt Smith (巴西)Chico Queiroz,更多章节内容可 ...
- React Native Android原生模块开发实战|教程|心得|怎样创建React Native Android原生模块...
尊重版权,未经授权不得转载 本文出自:贾鹏辉的技术博客(http://blog.csdn.net/fengyuzhengfan/article/details/54691503) 告诉大家一个好消息. ...
- 【猿创征文|Unity开发实战】—— 2D项目1 - Ruby‘s Adventure 游戏地图绘制(2-1)
文章目录 1)使用指南 2)具体步骤详细剖析 2.1)<4-2.创建瓦片地图>操作更新 2.2)<4-3.创建新瓦片>操作更新 2.3)<5-2.如何才能解决排序问题?& ...
最新文章
- 重磅开源人工智能纹理分割自动分割由参考纹理覆盖图像自监督学习
- Linux运维系统工程师系列---25
- python文本编辑pycharm_PyCharm的基本使用
- boost::multiprecision模块cpp_bin_float_100相关的测试程序
- 1715: 序列变换(LIS变形)
- k-Nearest Neighbors 实战1 简单的电影分类实例
- STIMULUS(二) —— Hello, Stimulus
- vue.js慢速入门(1)
- sql载取最后出现字符前的字符
- Tsinsen A1517. 动态树 树链剖分,线段树,子树操作
- 【转】你真的懂select Socket模型吗?
- GB28181移植总结
- MyBatis创建视图
- 20220529 使用python分割pdf文件
- mysql安装所需最低配置数据_MySQL的安装与基本配置
- JSPServlet中request.getParameter() 和request.getAttribute() 区别
- gitlab artifacts too large
- bat批处理文件编写
- Centos7 网卡配置及静态IP配置
- 关于代码布局(Coding Layout)