Unity实现物体逐渐消失(逐渐出现)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dly215011/article/details/52728202

原理很简单,就是通过改变目标物体的Alpha值。但是要求材质的类型是Transparent/Diffuse

有用的地方在代码中标注了,直接贴代码

using UnityEngine;
using System.Collections;

public class <span style="font-family:SimSun;">Fade</span> : MonoBehaviour
{

    float tempTime;
    void Start()
    {
        tempTime = 0;

        //获取材质本来的属性
        this.GetComponent<Renderer>().material.color = new Color(
        this.GetComponent<Renderer>().material.color.r,
        this.GetComponent<Renderer>().material.color.g,
        this.GetComponent<Renderer>().material.color.b, 
        //需要改的就是这个属性:Alpha值
        this.GetComponent<Renderer>().material.color.a);
    }
    void Update()
    {
        if (tempTime < 1)
        {
            tempTime = tempTime + Time.deltaTime;
        }
        if (this.GetComponent<Renderer>().material.color.a <= 1)
        {
            this.GetComponent<Renderer>().material.color = new Color(
            this.GetComponent<Renderer>().material.color.r
            , this.GetComponent<Renderer>().material.color.g,
            this.GetComponent<Renderer>().material.color.b,

            //减小Alpha值
            gameObject.GetComponent<Renderer>().material.color.a - tempTime / 50);
        }
    }
}

逐渐出现和这个类似,就是一开始Alpha值设置为0,然后逐渐增加

展开阅读全文

没有更多推荐了,返回首页