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;
  }
 }
 }
}

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Unity3D实现旋钮控制灯光效果

    本文实例为大家分享了Unity3D实现旋钮控制灯光效果的具体代码,供大家参考,具体内容如下 前言 实际上使用的是非常简单的方式,通过开启以及关闭带有灯光效果物体的渲染以模拟出的灯光切换效果. 正确方式应当为物体切换不同的Material实现效果. 所用函数 public void RotateAround(Vector3 point, Vector3 axis, float angle); //通过给定一个世界坐标.轴向以及一个角度,使物体以该角度旋转绕世界坐标点的轴向的变换 public T

  • Unity利用材质自发光实现物体闪烁

    Unity中利用材质自发光实现物体闪烁效果,供大家参考,具体内容如下 补充:这种方法有一点问题,在测试(Windows平台)的时候发现,要想在Build出来的游戏中实现闪烁效果,就必须在 Project 窗口中将源材质的自发光属性(Emission)启用,否则自发光效果就只能在编辑器模式中生效. 启用源材质的自发光效果后,将其亮度(Brightness)调整为0,物体看起来就和没有启用自发光时一样. 看到别的游戏里有物体高亮闪烁效果,但自己不会写Shader,就只想到用材质自发光来做一下,不知道

  • unity shader实现较完整光照效果

    本文实例为大家分享了unity shader实现光照效果的具体代码,供大家参考,具体内容如下 效果图: shader被附给了球. 灯光需要在属性面板开启阴影. // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' Shader "Unlit/lightFull" { Properties { _MainTex ("Texture", 2D) = "

  • UnityShader3实现彩光效果

    本文实例为大家分享了UnityShader3实现彩光效果展示的具体代码,供大家参考,具体内容如下 参考链接: [OpenGL]Shader实例分析(八)- 彩色光圈 效果图: 这里我把它分三部分实现:1.彩色 2.光圈 3.动画 1.先实现彩色效果.分析一下那张彩色图,它是以中心为原点的,然后颜色分为三部分,如下图.当角度为90度时,蓝色最多:当角度为-150度时,红色最多:当角度为-30度时,绿色最多.然后其他地方就是三色混合. Shader "Custom/Colors" { Pr

  • Unity实现UI渐隐渐显效果

    本文实例为大家分享了Unity实现UI渐隐渐显效果的具体代码,供大家参考,具体内容如下 1.在UI对象上添加组件:CanvasGroup; 2.在对象上添加脚本:UI_FadeInFadeOut 脚本: 脚本信息: (Blocks Raycasts=true可以交互:Blocks Raycasts=false无法交互) using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summa

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

    Unity中,我们怎么制作UI物体发光的渐隐渐现的效果呢? 比如说我们有一张月亮光晕的精灵图片 我们可以给它添加一个CanvasGroup组件 我们可以发现,组件上的Alpha值可以控制图片的透明度,从0到1 那么我们可以在代码中通过控制Alpha值循环的变化实现发光的光晕效果 以下是代码: using System.Collections; using System.Collections.Generic; using UnityEngine; public class MoonFlash :

  • Unity 从UI中拖拽对象放置并拖动效果 附demo

    需求:点击UI,在场景中生成3D对象,对象跟随鼠标移动,放置后可再次拖拽对象,改变其位置.做了一个小Demo,如下图所示: 实现大致思路: 射线碰撞检测 对象空间坐标变换(世界坐标->屏幕坐标.屏幕坐标->世界坐标) 首先为要生成3D对象的UI添加一个鼠标监听事件,脚本如下: SelectImage.cs using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngin

  • Unity UGUI实现滑动翻页效果

    本文实例为大家分享了Unity UGUI实现滑动翻页效果的具体代码,供大家参考,具体内容如下 这个问题真的是老生常谈的事情了,不过在这里还是要说一下,以便以后之需 首先看一下效果图 最后在Content下面是一些Image using UnityEngine; using System.Collections; using UnityEngine.UI; using System.Collections.Generic; using UnityEngine.EventSystems; using

  • Unity实现仿3D轮转图效果

    本文实例为大家分享了Unity实现仿3D轮转图效果的具体代码,供大家参考,具体内容如下 一.效果演示 二.实现思路 ——获取位置:可以将每个item的运行轨迹看作一个椭圆,分为四段进行观察,四个黑点视为四个item,观察四个黑点的位置,比例值为0.125和0.375的位置相同,比例值为0.625和0.875的位置相同,比例值为0.375和0.625的位置相反,可得结论[0,0.25]:轨迹总长度*当前比例值(0.25,0.5]:轨迹总长度 * (0.5 - 当前比例值)(0.5,0.75]:轨迹

  • Unity3D Ui利用shader添加效果

    本文实例为大家分享了Unity3D Ui利用shader添加效果的具体代码,供大家参考,具体内容如下 // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' Shader "UI/Unlit/Flowlight" { Properties { [PerRendererData] _MainTex("Sprite Texture", 2D) = "w

  • Unity shader实现自由放大缩小效果

    本文实例为大家分享了Unity shader实现自由放大缩小效果的具体代码,供大家参考,具体内容如下 代码: 以下实现的shader代码: Shader "Hidden/Wave" { Properties { _MainTex ("Texture", 2D) = "white" {} _WaveWidth("Wave Width",float) = 0.5 _CenterX("CenterX",float

  • Android如何绘制发光效果详解

    前言 之前在看别人写自定义view作绘制的时候,看到别人家的view自带发光效果,看起来也是蛮炫酷的,于是自己也抽出时间来试用一下,这里做了一个模仿太阳的各种状态样式. 先上效果先上效果: 实现方式: public BlurMaskFilter(float radius, Blur style) { 实现是使用的Paint类的setMaskFilter()方法,传入BlurMaskFilter对象实现高斯模糊发光. float radius 设置模糊半径 Blur style 设置发光样式,包括

  • Unity中 ShaderGraph 实现旋涡传送门效果入门级教程(推荐)

    若你的工程还没有进行基础配置,请查看我的博文Unity 之 ShaderGraph入门使用详解,按照步骤操作完成配置即可,还能顺便学习一下基础操作流程哦~ 本文手把手教你制作旋涡效果,入门级教程,还不快动手试试? 一,最终效果展示 老规矩,直接上效果图: 二,创建PBRGraph 在Project面板右键 --> Create --> Shader --> PBRGraph: 重命名:RPAShaderGraph(随意) 双击RPAShaderGraph打开编辑界面 三,实现原理介绍 通

  • Unity Shader实现3D翻页效果

    本文实例为大家分享了Unity Shader实现3D翻页效果的具体代码,供大家参考,具体内容如下 参考文章:UnityShader使用Plane实现翻书效果 效果图: 原理:Shader顶点动画 在顶点着色器进行对顶点Y值的偏移(使用了Sin函数模拟翻页时产生的弯曲),对顶点X值的偏移实现纸张在翻页时的收缩(一般是不用收缩),最后对顶点进行围绕Z轴旋转实现Plane翻页(Z轴是本例的旋转轴,请根据你具体情况修改,上面的两个偏移同理). Shader "Unlit/PaperTurnMilkSha

随机推荐