• Unity UGUI的Outline(描边)组件的介绍及使用


    Unity UGUI的Outline(描边)组件的介绍及使用

    1. 什么是Outline(描边)组件?

    Outline(描边)组件是Unity UGUI中的一种特效组件,用于给UI元素添加描边效果。通过设置描边的颜色、宽度和模糊程度,可以使UI元素在视觉上更加突出。

    2. Outline(描边)组件的工作原理

    Outline(描边)组件通过在UI元素周围绘制多个相同的UI元素,并设置不同的颜色和大小,从而实现描边的效果。描边的宽度和模糊程度可以通过调整参数来控制。

    3. Outline(描边)组件的常用属性

    • Effect Color:描边的颜色。
    • Effect Distance:描边的距离,可以设置为正值或负值。
    • Use Graphic Alpha:是否使用UI元素的透明度作为描边的透明度。
    • Blur:描边的模糊程度。
    • Outline:描边的宽度。

    4. Outline(描边)组件的常用函数

    • ModifyMesh:修改UI元素的网格,用于绘制描边效果。

    5. 完整例子代码

    例子1:给按钮添加红色描边

    using UnityEngine;
    using UnityEngine.UI;
    
    public class Example1 : MonoBehaviour
    {
        public Button button;
        public Outline outline;
    
        void Start()
        {
            outline.effectColor = Color.red;
            outline.effectDistance = new Vector2(2, -2);
            outline.useGraphicAlpha = true;
            outline.blur = 0;
            outline.outline = 5;
        }
    }
    

    操作步骤:

    1. 创建一个按钮,并将Example1脚本挂载到按钮上。
    2. 将按钮的Outline组件拖拽到Example1脚本的outline变量上。
    3. 在Start函数中,设置outline的属性,包括effectColor、effectDistance、useGraphicAlpha、blur和outline。

    注意事项:

    • 可以根据需要调整描边的颜色、距离、透明度、模糊程度和宽度。

    例子2:给文本添加蓝色描边

    using UnityEngine;
    using UnityEngine.UI;
    
    public class Example2 : MonoBehaviour
    {
        public Text text;
        public Outline outline;
    
        void Start()
        {
            outline.effectColor = Color.blue;
            outline.effectDistance = new Vector2(1, -1);
            outline.useGraphicAlpha = true;
            outline.blur = 0;
            outline.outline = 3;
        }
    }
    

    操作步骤:

    1. 创建一个文本对象,并将Example2脚本挂载到文本对象上。
    2. 将文本对象的Outline组件拖拽到Example2脚本的outline变量上。
    3. 在Start函数中,设置outline的属性,包括effectColor、effectDistance、useGraphicAlpha、blur和outline。

    注意事项:

    • 可以根据需要调整描边的颜色、距离、透明度、模糊程度和宽度。

    例子3:给图片添加绿色描边

    using UnityEngine;
    using UnityEngine.UI;
    
    public class Example3 : MonoBehaviour
    {
        public Image image;
        public Outline outline;
    
        void Start()
        {
            outline.effectColor = Color.green;
            outline.effectDistance = new Vector2(3, -3);
            outline.useGraphicAlpha = true;
            outline.blur = 0;
            outline.outline = 7;
        }
    }
    

    操作步骤:

    1. 创建一个图片对象,并将Example3脚本挂载到图片对象上。
    2. 将图片对象的Outline组件拖拽到Example3脚本的outline变量上。
    3. 在Start函数中,设置outline的属性,包括effectColor、effectDistance、useGraphicAlpha、blur和outline。

    注意事项:

    • 可以根据需要调整描边的颜色、距离、透明度、模糊程度和宽度。

    例子4:给滑动条添加黄色描边

    using UnityEngine;
    using UnityEngine.UI;
    
    public class Example4 : MonoBehaviour
    {
        public Slider slider;
        public Outline outline;
    
        void Start()
        {
            outline.effectColor = Color.yellow;
            outline.effectDistance = new Vector2(2, -2);
            outline.useGraphicAlpha = true;
            outline.blur = 0;
            outline.outline = 5;
        }
    }
    

    操作步骤:

    1. 创建一个滑动条对象,并将Example4脚本挂载到滑动条对象上。
    2. 将滑动条对象的Outline组件拖拽到Example4脚本的outline变量上。
    3. 在Start函数中,设置outline的属性,包括effectColor、effectDistance、useGraphicAlpha、blur和outline。

    注意事项:

    • 可以根据需要调整描边的颜色、距离、透明度、模糊程度和宽度。

    例子5:给输入框添加紫色描边

    using UnityEngine;
    using UnityEngine.UI;
    
    public class Example5 : MonoBehaviour
    {
        public InputField inputField;
        public Outline outline;
    
        void Start()
        {
            outline.effectColor = Color.magenta;
            outline.effectDistance = new Vector2(1, -1);
            outline.useGraphicAlpha = true;
            outline.blur = 0;
            outline.outline = 3;
        }
    }
    

    操作步骤:

    1. 创建一个输入框对象,并将Example5脚本挂载到输入框对象上。
    2. 将输入框对象的Outline组件拖拽到Example5脚本的outline变量上。
    3. 在Start函数中,设置outline的属性,包括effectColor、effectDistance、useGraphicAlpha、blur和outline。

    注意事项:

    • 可以根据需要调整描边的颜色、距离、透明度、模糊程度和宽度。

    参考资料

  • 相关阅读:
    信号采样基本概念 —— 7.数模转换(DAC & ADC)
    【aloam】ubuntu20.04 配置 aloam 环境,编译过程报错及成功解决方法
    sqlite3 dbconfig说明
    SpringBoot 配置文件加载优先级
    python文件练习题
    Cplex混合整数规划求解(Python API)
    MAC下MNMP应用程序mysql配置文件my.cnf放在哪里?
    SpringCloud框架(四):注册GateWay到Eureka,GateWay的配置操作
    【增长的本质】-
    Linux学习命令之export
  • 原文地址:https://www.cnblogs.com/alianblank/p/17590239.html