Unity 游戏开发技巧集锦之材质的应用的创建反射材质
Unity 游戏开发技巧集锦之材质的应用的创建反射材质
Unity中材质的应用
游戏中,大多数材质的应用都离不开纹理,而纹理本身是图片。所以,在学习本章时,最好在电脑上安装一个可以编辑图片的功能强大的软件,如Photoshop和GIMP。本章使用的是前者。另外,有些纹理需要包含Transparents通道,所以图片最好保存成可以存储相应信息的格式,例如,PSD和TGA。
unity中创建反射材质
生活中,反射材质(reflective material)的实例有很多。例如,水面、光滑的金属、镜子等物体都可以反射其它的物体,如水中的倒影、镜子里的人物,如图3-1所示。

图3-1 图中的金属球,以及反射出的周围环境
在Unity里,可以模仿出这种反射效果。只要使用具有反射特性的着色器,然后再稍做配置即可。具体的操作过程如下:
(1)准备两张纹理图,其中一张纹理图需要包含透明信息,也就是有Alpha通道,然后导入到项目中。本节使用的两张纹理,如图3-2所示。

图3-2 导入两张纹理图
(2)选中不包含透明信息的纹理,然后在Inspector视图里,做如下修改:
- q 设置Texture Type属性为Reflection;
- q 设置Mapping属性为Cylindrical;
然后单击Apply按钮。如此设置,说明了此纹理将被用做圆柱体的反射图。对纹理的设置以及设置后的纹理如图3-3所示。

图3-3 在Inspector视图对纹理的设置以及设置后的纹理
(3)在Project视图里,创建一个材质,并命名为Mat_reflect,选中它然后在Inspector视图做如下设置:
- q 设置Shader(着色器)属性为Reflective/Specular;
- q 设置Base(RGB) Gloss(A)为包含透明信息的纹理;
- q 设置Reflection Cubemap为普通纹理;
如图3-4所示。

图3-4 在Inspector视图里 图3-5 Scene视图里的Cylinder对象
(4)在Hierarchy视图里,添加Cylinder对象。在Scene视图里看到的Cylinder如图3-5所示。它此时没有反射出周围的任何物体。
(5)拖动Mat_reflect材质到Cylinder对象上,如图3-6所示,效果就大不相同,它即显示出了本身的颜色,又反射出了周围的物体。
提示:纹理含有的透明信息,越透明所反射的物体所成的像越清晰。图3-7,调低透明度以后,反射的图像暗了,清晰度也下降了。

图3-6 正在反射出周围物体的Cylinder对象 图3-7 调低透明度以后,反射成像的效果
本文选自:Unity 游戏开发技巧集锦大学霸内部资料,转载请注明出处,尊重技术尊重IT人!
Unity 游戏开发技巧集锦之材质的应用的创建反射材质的更多相关文章
- Unity 游戏开发技巧集锦之使用忍者飞镖创建粒子效果
Unity 游戏开发技巧集锦之使用忍者飞镖创建粒子效果 使用忍者飞镖创建粒子效果 游戏中,诸如烟.火.水滴.落叶等粒子效果,都可以使用粒子系统(particle system)来实现.例如,<明 ...
- Unity 游戏开发技巧集锦之创建透明的材质
Unity 游戏开发技巧集锦之创建透明的材质 Unity创建透明的材质 生活中不乏透明或者半透明的事物.例如,擦的十分干净的玻璃,看起来就是透明的:一些塑料卡片,看起来就是半透明的,如图3-23所示. ...
- Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质
Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质 创建部分光滑部分粗糙的材质 生活中,有类物体的表面既有光滑的部分,又有粗糙的部分,例如丽江的石板路,如图3-17所示,石板的表面本来是粗糙的, ...
- Unity 游戏开发技巧集锦之使用cookie类型的纹理模拟云层的移动
Unity 游戏开发技巧集锦之使用cookie类型的纹理模拟云层的移动 使用cookie类型的纹理模拟云层的移动 现实生活中,当阳光直射大地,而天空中又有很多云时,云层的影子总是会投射在大地上,风吹着 ...
- Unity 游戏开发技巧集锦之制作一个望远镜与查看器摄像机
Unity 游戏开发技巧集锦之制作一个望远镜与查看器摄像机 Unity中制作一个望远镜 本节制作的望远镜,在鼠标左键按下时,看到的视图会变大:当不再按下的时候,会慢慢缩小成原来的视图.游戏中时常出现的 ...
- 喵的Unity游戏开发之路 - 轨道摄像机
前言 很多童鞋没有系统的Unity3D游戏开发基础,也不知道从何开始学.为此我们精选了一套国外优秀的Unity3D游戏开发教程,翻译整理后放送给大家,教您从零开始一步一步掌握Unity3 ...
- Re:Unity游戏开发有哪些让你拍案叫绝的技巧?
这是我在知乎一个问题: <Unity游戏开发有哪些让你拍案叫绝的技巧?> 下面的回答,觉得蛮有趣的,贴在这里和博客的朋友们分享下. ----- 分享一个比较好玩的内容吧. 大家都知道Uni ...
- 喵的Unity游戏开发之路 - 玩家控制下的球的滑动
- 喵的Unity游戏开发之路 - 推球:游戏中的物理
很多童鞋没有系统的Unity3D游戏开发基础,也不知道从何开始学.为此我们精选了一套国外优秀的Unity3D游戏开发教程,翻译整理后放送给大家,教您从零开始一步一步掌握Unity3D游戏开发. 本文不 ...
随机推荐
- 数字配对(bzoj 4514)
Description 有 n 种数字,第 i 种数字是 ai.有 bi 个,权值是 ci. 若两个数字 ai.aj 满足,ai 是 aj 的倍数,且 ai/aj 是一个质数, 那么这两个数字可以配对 ...
- Atcoder arc077 D - 11 组合
Link 题意:给出n个数,其中有一个数会出现两次,其余数只出现一次,问不同长度且不同的子串的数量.取模1e9+7 思路:组合求出所有情况,减去重复情况,注意用逆元即可 /** @Date : 201 ...
- ZOJ 3780 E - Paint the Grid Again 拓扑排序
https://vjudge.net/problem/49919/origin 题意:给你n*n只出现O和X的字符阵.有两种操作,一种操作Ri将i行全变成X,一种操作Ci将i列全变成O,每个不同的操作 ...
- Elasticsearch——QueryBuilder简单查询
elasticsearch中存储的全部文档 1.matchAllQuery() matchAllQuery()方法用来匹配全部文档 public class QueryTest { pub ...
- javascript操作对象的方法
with 确定某个对象的作用区域,在with代码段内的次对象的属性或方法可以直接使用. 例: //比如stu中有name,age属性和walk方法 with(stu) { alert(name+&qu ...
- MSSQL ADO.NET
为什么要学ADO.NET 之前我们所学的只能在查询分析器里查看数据,操作数据,我们让普通用户去学sql,所以我们搭建了一个界面(Web/Winform) 让用户方面的操作数据库中的数据 什么是ADO. ...
- 深入理解Spring系列之十:DispatcherServlet请求分发源码分析
转载 https://mp.weixin.qq.com/s/-kEjAeQFBYIGb0zRpST4UQ DispatcherServlet是SpringMVC的核心分发器,它实现了请求分发,是处理请 ...
- 使用SPLUNK进行简单Threat Hunting
通过订阅网上公开的恶意ip库(威胁情报),与SIEM平台中网络流量日志进行匹配,获得安全事件告警. 比如,这里有一个malware urls数据下载的网站,每天更新一次: https://urlhau ...
- struts2的action类详解
Action类的书写方式 方式1
- 使用批处理方式从svn 检出DEMO
Branching in Subversion¶ FROM:https://dev.geogebra.org/trac/wiki/SubversionBranching Some people wan ...