《Unity开发实战》——3.2节创建反射材质

3.2 创建反射材质
金属、车漆,以及光滑的塑料表面都是一些很常见的需要反射的材质的例子。幸运的是,Unity内置了反射着色器(reflective shader),配置好以后就可以帮我们实现想要的效果了。

3.2.1 准备工作
本节需要准备两个纹理贴图:Base Map(底图)和Reflection Cubemap(反射立方图)。底图得是一张RGBA的图片,alpha通道可以把反射级别指定成从完全不透明(黑色)到完全反射(白色)。反射立方体贴图可能是由六块纹理组成,或者像本节教程这样,只有一个单独的纹理。
为了让读者把精力放在本节的主题:创建一个反射材质,0423_03_01文件夹中准备了一个包,包括一个之前创建的场景,以及一个可以作为反射贴图的.jpg文件。

3.2.2 操作步骤
请按照下面的步骤创建反射材质:
1)把reflectiveMaterial包导入到Unity中。
2)打开reflectiveMaterialLevel 场景,播放时有一个3D物体(一个电池)绕着自己的中轴自转。我们也可以让摄像机绕着电池。
3)停止播放场景,在Hierarchy视图中选中电池,Inspector视图中会显示其材质,使用下拉菜单设置着色器:把值从Diffuse(漫反射)改成 Reflective | Specular(反射|镜面反射)。

5)在Project视图中选择reflectionMap资源,它已经从2D纹理变成了立方图(图标也变了)。
6)选择battery材质并把reflectionMap资源应用到Reflection Cubemap的选项中:

11)保存文件,让Unity重新加载此图片,反射效果在文字标签区域应该更加谨慎。

3.2.3 实现原理
基础纹理的alpha通道设置了反射度,本例中,材质的镜面反射的级别是根据每个像素的亮度而定的。意思是说alpha通道是白色的时候反射立方图(Reflection Cubemap)的可见度更高。
反射立方图(Reflection Cubemap)实际上是由6张不同的图片组成的,这些图片是通过在纹理导入器(Texture Importer)把Texture Type(纹理类型)设置成Reflection(反射)后,由原始的图片文件生成的。这6张图片被映射到立方体的6个面上。

3.2.4 更多内容
反射立方图(Reflection Cubemap)可以用很多种方式生成,并且有很多种不同的映射属性。

  1. 使用6个不同的纹理贴图
    不用1张单独的纹理贴图。也可以在Project视图中创建一个空的反射立方图(Reflection Cubemap)并指定6张不同的图片文件绘制到6个表面上。
  2. 用Mapping(映射)和Shader(着色器)选项练习
    对于电池模型,使用圆柱体映射是最好的选择。对于不同的形状可以试试其他选项。除了Base 贴图和 Reflection纹理贴图,还可以练习使用其他的Shader设置,比如Main Color、Specular Color、Reflection Color(可以用于给材质着色),以及Shininess(反光度,用于控制镜面发散)。
  3. 反射当前的场景图形
    如果使用的是Unity专业版,可以从当前的场景图形中创建反射贴图。其实还可以实时反射场景或者把一个单独的帧烘焙成反射立方图(Reflection Cubemap)。Unity的文档中包含所有相关的介绍和脚本代码:http://unity3d.com/support/documentation/ScriptReference/Camera.RenderToCubemap.html
时间: 2024-09-20 05:26:18

《Unity开发实战》——3.2节创建反射材质的相关文章

《Unity开发实战》——导读

目 录 前 言 第1章 Unity 4.X 入门1.1 引言1.2 安装Unity 4.X1.3 设置首选项1.4 了解和优化用户界面1.5 把Unity中创建的资源另存为Prefab1.6 了解Unity中的Content1.7 导入自己的Content1.8 导入Unity的包到项目中1.9 导入自定义包到项目中1.10 从项目中导出自定义包1.11 添加自定义包到Unity的包快捷列表中1.12 使用项目浏览视图 第2章 使用摄像机2.1 引言2.2 创建画中画效果2.3 在不同摄像机之间

《Unity开发实战》——3.5节创建透明纹理贴图

3.5 创建透明纹理贴图如果想让玩家的视线穿透一个物体,则需要透明或半透明的材质.塑料薄膜.剪贴画.网格等人工产品是可以用透明纹理贴图制作的. 3.5.1 准备工作本节会创建一个材质来模拟塑料薄膜,选它的主要原因是这种材质允许我们使用全透明制作边框的rounded borders,也可以使用半透明显示薄膜(film)本身.本节其余部分假设读者已经能够使用图片编辑器创建图片,比如一张有斜面的圆角矩形图片.如果不会操作,随时使用示例代码中名为"0423_03_04"的文件夹中的准备材料.

《Unity开发实战》——3.4节创建高光纹理贴图

3.4 创建高光纹理贴图有些表面可能既有光滑的区域,又有粗糙的区域,为了达到这个效果,可以使用高光贴图(specular maps). 3.4.1 准备工作为了便于讲解,本节将创建一个生锈的金属材质来演示specular属性如何增强现实.如果读者还没有用于生成高光材质的基础纹理,示例代码中名为"0423_03_03"的文件夹中有本节需要用到的素材. 3.4.2 操作步骤请按照下面的步骤创建高光材质:1)创建一个新的材质,命名为:rustyMetalMaterial.2)选择此材质.在I

《Unity开发实战》——3.3节创建自发光材质

3.3 创建自发光材质自发光材质可以用于模拟很多对象,从LED手机显示屏到未来主义的Tron套装上.本节我们将学习如何配置自发光材质以及它的纹理贴图. 3.3.1 准备工作因为本节将创建一个LCD显示屏的例子,所以请读者确认已经安装这种字体.如果尚未安装,可以在网站www.dafont.com下载几个免费的LCD字体. 3.3.2 操作步骤请按照下面的步骤创建自发光材质:1)创建一个材质,命名为LCDMaterial.在Project视图中点击Create下拉菜单并选择Material(材质)是

《Unity开发实战》——1.5节把Unity中创建的资源另存为Prefab

1.5 把Unity中创建的资源另存为Prefab在Unity中很容易就能创建基础几何对象,本节中,使用Unity的资源创建一个游戏对象(GameObject)然后将其在项目中另存为Prefab(预设). 1.5.1 操作步骤请按照下面的步骤创建Prefab(预设):1)在Unity编辑器中,依次打开 GameObject(游戏对象)| Create Other(创建其他)| Sphere(球体).2)在Hierarchy视图中,右击Sphere,在弹出菜单中选择rename(重命名)改名为"C

《Unity开发实战》——3.8节通过GUI实时组合纹理

3.8 通过GUI实时组合纹理avatar的自定义往往包括选择一个或多个纹理来定义外观.本节中将实现一个GUI,此GUI通过组合两个纹理通道让玩家创建自己的avatar. 3.8.1 准备工作本节需要的3D对象和图片文件在0423_03_07 文件夹的selectTexture 包中. 3.8.2 操作步骤请按照下面的步骤叠加纹理:1)把为名selectTexture 的包导入到项目中.2)打开名为 selTextScene的场景.3)创建基础纹理:在Project 视图中,用下拉菜单创建一个材

《Unity开发实战》——2.2节创建画中画效果

2.2 创建画中画效果在很多情况下,用多个视角显示是很有用的.比如,想显示不同地点同时发生的事件,或者多人对战(hot-seat multiplayer)游戏中为每个玩家显示单独的窗口,虽然也可以手动调整摄像机的Normalized Viewport Rect(标准化视口矩形)参数.本节包含一系列附加的首选项设置,使之独立于用户的显示器配置. 2.2.1 准备工作示例代码的0423_02_01_02的文件夹中有一个名为 basicLevel 的包是专为本节准备的,包中有一个场景. 2.2.2 操

《Unity开发实战》——3.7节创建颜色选择对话框

3.7 创建颜色选择对话框 游戏中的用户自定义和玩家制作内容的出现已经有一段时间了.有一个很常见的功能是让用户修改avatar(人物头像)的颜色.本节中将创建一个对话框让玩家通过修改对象的颜色滑动条,控制材质的红色值.绿色值.蓝色值. 3.7.1 准备工作 如果想使用准备好的示例场景,可以在文件夹0423_03_06中找到,然后导入名为colorSelector的包. 3.7.2 操作步骤 请按照下面的步骤创建颜色选择对话框: 1)导入包后,打开 colorSelection 场景. 2)展开H

《Unity开发实战》——3.6节使用cookie纹理模拟多云的户外环境

3.6 使用cookie纹理模拟多云的户外环境 在很多第一人称射击和恐怖逃生游戏中,光照和阴影可以使场影变得很复杂,有助于营造游戏气氛.本节中,将使用cookie纹理创建多云的户外环境. 3.6.1 准备工作 如果没有图片编辑器软件,或者想跳过自己制作图片的步骤,而把精力放在实现上,可以直接用0423_03_05文件夹中cloudCookie.tga图片. 3.6.2 操作步骤 请按照下面的步骤模拟多云的户外环境: 1)在图片编辑器中,创建一张512×512的图片. 2)使用黑色作为前景色,白色