Unity3D几种透明(Alpha)效果实例

熟悉图像处理的朋友应该知道对一个对象透明效果的处理是通过调整其Alpha值来实现的
在Unity中我们通常通过调整对象的Alpha值来实现一些基础的半透明效果,以下分别针对GameObject以及GUI的来进行说明

先从GameObject的半透明效果:

①新建一个Cube对象

②拖一张图片至Project窗体中

③直接把图片拖拽至于Cube对象上,为Cube附上Texture 效果如下



④接下来我们先手动调整贴图的Alpha值,如图选取Cube对象,在Inspector窗体中调整Materials的Alpha值

修改Alpha值后的效果如下

通过代码来修改Alpha的话,这里分别列出C#和JS的代码

1
2
3
4
    void Start ()
    {
        renderer.material.color = new Color(1, 1, 1, 0.3F);
    }
1
2
3
4
    function Start()
    {
        renderer.material.color.a = 0.3F;
    }

这里C#的代码和JS的代码略有不同,在JS中可以对color.a直接进行赋值,但C#中必须New一个Color对象进行赋值,这也是很多朋友经常搞错的地方

接下来我们看一下如何使用GUI绘制一张半透明图片,这里直接上C#脚本

1
2
3
4
5
    void OnGUI()
   {
        GUI.color = new Color(1, 1, 1, 0.3F);
        GUI.DrawTexture(new Rect(0,0,550,792),texture);
    }

将脚本任意绑定到一个游戏对象上,运行,GUI半透明绘制效果如图

以上仅为Unity中最基础的Alpha值的操作,通过衍生,我们可以做出各种游戏中所需要的效果
本例仅供入门参考,意在分享,与君共勉之

BeiTown
2012.11.30

本文链接:Unity3D几种透明(Alpha)效果实例

转载声明:BeiTown原创,转载请注明来源:BeiTown's Coder 编码之源,谢谢


Tags: , , , ,

2 Responses to Unity3D几种透明(Alpha)效果实例

  1. Hi丨猫先生 说道:

    应该换个图来做演示,黑色背景透明感觉不怎么明显

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>