Unity实现UI光晕效果(发光效果)

Unity中,我们怎么制作UI物体发光的渐隐渐现的效果呢?

比如说我们有一张月亮光晕的精灵图片

我们可以给它添加一个CanvasGroup组件

我们可以发现,组件上的Alpha值可以控制图片的透明度,从0到1

那么我们可以在代码中通过控制Alpha值循环的变化实现发光的光晕效果

以下是代码:

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class MoonFlash : MonoBehaviour {

private CanvasGroup moonCanvasGroup;

private float flashSpeed=0.2f;//光晕闪动速度

private bool isOn = true;

private float maxAlpha = 0.6f;//显示的最高alpha值

private float minAlpha = 0.05f;//显示的最低alpha值

void Start () {

moonCanvasGroup = GetComponent<CanvasGroup>();

}

void Update () {

if (moonCanvasGroup.alpha < maxAlpha && isOn)

{

moonCanvasGroup.alpha +=flashSpeed* Time.deltaTime;

}

else {

isOn = false;

moonCanvasGroup.alpha -=flashSpeed* Time.deltaTime;

if (moonCanvasGroup.alpha <minAlpha) {

isOn = true;

}

}

}

}

然后把脚本挂载在图片上,月亮发光的效果就完成了。

以上是 Unity实现UI光晕效果(发光效果) 的全部内容, 来源链接: utcz.com/z/361547.html

回到顶部