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 游戏开发技巧集锦之材质的应用的创建反射材质的更多相关文章

  1. Unity 游戏开发技巧集锦之使用忍者飞镖创建粒子效果

    Unity 游戏开发技巧集锦之使用忍者飞镖创建粒子效果 使用忍者飞镖创建粒子效果 游戏中,诸如烟.火.水滴.落叶等粒子效果,都可以使用粒子系统(particle system)来实现.例如,<明 ...

  2. Unity 游戏开发技巧集锦之创建透明的材质

    Unity 游戏开发技巧集锦之创建透明的材质 Unity创建透明的材质 生活中不乏透明或者半透明的事物.例如,擦的十分干净的玻璃,看起来就是透明的:一些塑料卡片,看起来就是半透明的,如图3-23所示. ...

  3. Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质

    Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质 创建部分光滑部分粗糙的材质 生活中,有类物体的表面既有光滑的部分,又有粗糙的部分,例如丽江的石板路,如图3-17所示,石板的表面本来是粗糙的, ...

  4. Unity 游戏开发技巧集锦之使用cookie类型的纹理模拟云层的移动

    Unity 游戏开发技巧集锦之使用cookie类型的纹理模拟云层的移动 使用cookie类型的纹理模拟云层的移动 现实生活中,当阳光直射大地,而天空中又有很多云时,云层的影子总是会投射在大地上,风吹着 ...

  5. Unity 游戏开发技巧集锦之制作一个望远镜与查看器摄像机

    Unity 游戏开发技巧集锦之制作一个望远镜与查看器摄像机 Unity中制作一个望远镜 本节制作的望远镜,在鼠标左键按下时,看到的视图会变大:当不再按下的时候,会慢慢缩小成原来的视图.游戏中时常出现的 ...

  6. 喵的Unity游戏开发之路 - 轨道摄像机

    前言        很多童鞋没有系统的Unity3D游戏开发基础,也不知道从何开始学.为此我们精选了一套国外优秀的Unity3D游戏开发教程,翻译整理后放送给大家,教您从零开始一步一步掌握Unity3 ...

  7. Re:Unity游戏开发有哪些让你拍案叫绝的技巧?

    这是我在知乎一个问题: <Unity游戏开发有哪些让你拍案叫绝的技巧?> 下面的回答,觉得蛮有趣的,贴在这里和博客的朋友们分享下. ----- 分享一个比较好玩的内容吧. 大家都知道Uni ...

  8. 喵的Unity游戏开发之路 - 玩家控制下的球的滑动

  9. 喵的Unity游戏开发之路 - 推球:游戏中的物理

    很多童鞋没有系统的Unity3D游戏开发基础,也不知道从何开始学.为此我们精选了一套国外优秀的Unity3D游戏开发教程,翻译整理后放送给大家,教您从零开始一步一步掌握Unity3D游戏开发. 本文不 ...

随机推荐

  1. Shiro实战教程(二)

    http://www.jianshu.com/p/6786ddf54582/ https://www.cnblogs.com/ealenxie/p/10610741.html

  2. el-option > 1500 条时的卡顿问题

    本文地址: http://www.cnblogs.com/veinyin/p/8473938.html  在做项目时遇到的一个问题. 项目是基于 Vue 框架做的. select 的 option 是 ...

  3. 引用类型 ( 对象定义 )——Object 类型

    本文地址:http://www.cnblogs.com/veinyin/p/7607100.html  创建实例 new 操作符后跟构造函数 var people = new Object(); pe ...

  4. laravel中form表单,ajax传值没反应

    laravel中form表单,ajax传值没反应时,可能是令牌有问题. form中添加: {{csrf_token()}} ajax中添加: data: {'page': page, '_token' ...

  5. HDU 2319 Card Trick (模拟)

    题目链接 Problem Description The magician shuffles a small pack of cards, holds it face down and perform ...

  6. NYOJ 136 等式 (哈希)

    题目链接 描述 有以下等式:a1x13+a2x23+a3x33+a4x43+a5*x53=0 x1,x2,x3,x4,x5都就在区间[-50,50]之间的整数,且x1,x2,x3,x4,x5都不等于0 ...

  7. CMDB概述(二)

    运维自动化路线: cmdb的开发需要包含三部分功能: ·采集硬件数据  ·API ·页面管理 执行流程:服务器的客户端采集硬件数据,然后将硬件信息发送到API,API负责将获取到的数据保存到数据库中, ...

  8. JAVA 之 Tomcat知识框架【转】

    一.Tomcat服务器(很熟悉) 1.Web开发概述 javaSE: javaEE:13种 javaME: JavaEE规范: 13种技术的总称.Servlet/Jsp JDBC JNDI JTA.. ...

  9. Asia-Dhaka 2017

    Asia-Dhaka 2017 A - Brick Walls 题目描述:如下图,编坐标与路径,给出两个坐标,问两个坐标的最短距离是多少. solution 先阶梯型地走,然后注意"中&qu ...

  10. 无状态Http

    无状态的根本原因 浏览器和服务器使用socket通信,服务器将请求结果返回给浏览器后,会关闭当前socket连接.而且服务器会在处理页面完毕后销毁页面对象. 应用层面的原因 浏览器和服务器之间通信都遵 ...