前面介绍了反射探头的基础知识,下面将通过一个案例来演示反射探头的反射效果以及使用方法。
(1)首先打开Unity集成开发环境,新建一个工程并命名为“ReflectionProbeDemo”,进入工程后保存当前场景并命名为“ReflectionProbe”。
(2)接下来开始搭建场景,在Project窗口点击“Create”→“Folder”,输入文件名Texture,将需要使用的纹理贴图导入到Texture 文件夹中(可以直接拖拽到Texture 文件夹中),然后在场中创建Plane、Cube、Sphere、Cylinder 和Capsule 五种几何体,将其摆放到合适的位置,如图3-33 所示。
图3-33 搭建场景
图3-34 材质球属性面板
(3)接下来给5种几何图添加纹理贴图。在Project视图中鼠标右击“Create”→“Material”。此时会在Project窗口新建一个材质球。选择这个材质球,在Inspector窗口中显示了该材质球的默认类型,如图3-34 所示。下面详细介绍标准着色器的各个参数。
标准着色器中的第一个材质参数Rendering Mode是“渲染模式”。这允许选择物体是否使用透明度;如果是,那么继续选择不同混合模式。
Opaque:这是默认选项,这种模式代表该着色器不支持透明通道。也就是说此时该标准着色器只能是完全不透明的(制作如石头、金属等材质时使用该模式)。
Cutout:允许创建一个透明效果,使在不透明区域和透明区域之间有鲜明界线。在这个模式下,没有半透明区域,纹理要么是100%不透明,要么不可见。图片内容是否透明由Albedo中的Alpha值和Alpha Cutoff决定(这种模式下的着色器适合制作石子、草等带有透明通道的图片却又不希望出现半透明的材质)。
Transparent:这种模式下的材质可以通过Albedo 中Color 的Alpha 值来调整其透明度,但不同的是,当物体变为半透明的时候,其表面的高光和反射不会变淡(非常适合制作玻璃等具有光滑表明的半透明材质)。
Fade:褪色模式。该模式下可以通过操控Albedo的Color 中的Alpha值来操作材质的透明度。Alpha的设定可以制作出半透明的效果。但是该模式并不适合制作类似玻璃等半透明材质,因Alpha 值减低时,其表面高光、反射等效果也会跟着变淡(比较适合制作物体渐渐淡出的动画效果)。
Albedo:该参数控制了表面的基本色。为Albedo 值指定单个颜色有时候很有用,但通常的情形是为Albedo 参数分配一个纹理贴图,这应当代表了物体表面的颜色。点击Albedo 旁边的按钮,选择square 这张图,这时材质球就赋予了纹理贴图,把这个材质球直接拖到场景视图中的Cube 对象,这时Cube 几何图就添加上了纹理贴图。用同样的方法给其他的几何图形赋予不同的纹理贴图,效果如图3-35 所示。
图3-35 添加材质
图3-36 调整反射探头的捕捉区域
Metallic:金属性,值越高,反射效果越明显,颜色可以自行设置。
Smoothness:此值影响计算反射时表面光滑程度,值越高,反射效果越清晰。
Normal Map:法线贴图。(www.xing528.com)
Height Map:高度图,通常是灰度图。
Occlusion:环境遮盖贴图。
Emission:自发光属性,开启后该材质在场景中类似一个光源,可以调节其BakedGI 模式。
Detail Mask:细节遮罩贴图。当某些地方不需要细节图可以使用遮罩图来进行设置,如嘴唇部分不需要毛孔可用此图。
Tiling:调整贴图的X和Y方向上的重复次数,对于无缝贴图非常适用。
Offset:调整贴图的偏移量。
Secondary Maps:细节贴图。
(4)在Project 窗口,单击“Create”→“Light”→“Reflection Probe”创建一个反射探头,并将其放置在场景的中间位置。点击属性窗口的按钮,此时在Scene窗口中点击立方体的黄色小方块可以调整反射探头的捕捉区域,如图3-36 所示。为了使反射效果更突出,将反射探头设置面板中的Resolution 分辨率设置为1024×1024,并使用实时模式,如图3-37 所示。
图3-37 设置反射探头参数
图3-38 调节材质编辑器
(5)接下来向场景中添加用于呈现反射效果的球体,在场景中新建一个球体,调节其位置和大小使其能够将反射探头包含在内,然后为其添加一张纯色的纹理贴图,案例中使用的是白色纹理。在其Inspector面板的材质编辑器中将Metallic 和Smoothness均调节为1。使其反射效果更好,如图3-38 所示。
(6)完成后应该就能够看到反射探头所产生的效果已经应用到了这个球体之上,因为在该球体的Mesh Renderer(网格渲染器)中已经将当前场景中的反射探头绑定到了该球体上(Unity 中添加材质实际上就是更改指定对象Mesh Render 组件中的Materials 的属性),如图3-39 所示,最终效果图如图3-40 所示。
图3-39 设置网格渲染器
图3-40 反射探头效果图
(7)配合[Ctrl+S],保存场景Reflection Probe。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。