zoukankan      html  css  js  c++  java
  • 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人!

  • 相关阅读:
    iOS-触摸事件、手势识别、摇晃事件、耳机线控
    iOS-App生命周期
    Foundation框架—时间处理对象NSDate
    Kali linux渗透测试的艺术 思维导图
    数据结构_二叉树遍历
    数据结构_数值转换
    <转载>Mac下,使用sshpass让iterm2支持多ssh登录信息保存
    <转载>iTerm2使用技巧
    Maven打包编译找不到com.sun.crypto.provider.SunJCE类
    MySQL自动设置create_time和update_time
  • 原文地址:https://www.cnblogs.com/daxueba-ITdaren/p/4797251.html
Copyright © 2011-2022 走看看