博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Unity开发实战》——3.4节创建高光纹理贴图
阅读量:6483 次
发布时间:2019-06-23

本文共 983 字,大约阅读时间需要 3 分钟。

本节书摘来自华章社区《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参数控制。

转载地址:http://jgbuo.baihongyu.com/

你可能感兴趣的文章
git bash 风格调整
查看>>
HDOJ-1010 Tempter of the Bone
查看>>
日本开设无人机专业,打造无人机“人才市场”
查看>>
190行代码实现mvvm模式
查看>>
兼容几乎所有浏览器的透明背景效果
查看>>
Linux VNC server的安装及简单配置使用
查看>>
阿里宣布开源Weex ,亿级应用匠心打造跨平台移动开发工具
查看>>
Android项目——实现时间线程源码
查看>>
招商银行信用卡重要通知:消费提醒服务调整,300元以下消费不再逐笔发送短信...
查看>>
C#_delegate - 调用列表
查看>>
数据库运维体系_SZMSD
查看>>
js的AJAX请求有关知识总结
查看>>
三分 POJ 2420 A Star not a Tree?
查看>>
修改OBS为仅直播音频
查看>>
OCA读书笔记(3) - 使用DBCA创建Oracle数据库
查看>>
Python基础进阶之路(一)之运算符和输入输出
查看>>
ClickStat业务
查看>>
spring3.0.7中各个jar包的作用总结
查看>>
Windows 10 /win10 上使用GIT慢的问题,或者命令行反应慢的问题
查看>>
Windows平台分布式架构实践 - 负载均衡
查看>>