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。

注意事项:

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

参考资料

Unity UGUI的Outline(描边)组件的介绍及使用的更多相关文章

  1. Unity UGUI Layout自动排版组件用法介绍

    Unity UGUI布局组件 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享 ...

  2. 关于 Unity UGUI 中修改 Mask 组件下 Image 等子节点组件的材质无效的问题

    前几天同事做了一个效果,希望在原本使用了遮罩组件 Mask 的技能图标(让技能图标变成圆形)上在添加一个置灰的功能,但问题来了:因为是动态根据游戏中玩家的条件才动态置灰,以修改 Mask 下子节点 I ...

  3. unity, UGUI Text outline

    UGUI Text的勾边效果是通过添加component实现的: Add Component->UI->Effects->Outline 参考:http://www.cnblogs. ...

  4. Unity UGUI —— 无限循环List

    还记得大学毕业刚工作的时候是做flash的开发,那时候看到别人写的各种各样的UI组件就非常佩服,后来自己也慢慢尝试着写,发现其实也就那么回事.UI的开发其实技术的成分相对来说不算多,但是一个好的UI是 ...

  5. Unity UGUI图文混排源码(三) -- 动态表情

    这里是根据图文混排源码(二)进一步修改的,其他链接也不贴了,就贴一个链接就好了,第一次看这文章的同学可以先去看看其他几篇文章 Unity UGUI图文混排源码(二):http://blog.csdn. ...

  6. Unity UGUI图文混排源码(二)

    Unity UGUI图文混排源码(一):http://blog.csdn.net/qq992817263/article/details/51112304 Unity UGUI图文混排源码(二):ht ...

  7. Unity UGUI实现图文混排

    目前在unity实现图文混排的好像都是通过自定义字体然后在文本获取字符的位置,用图片替换掉图片标签,这样对于支持英文来说,并没有什么影响.然后对于中文来说就是一个相当麻烦的事了,毕竟图文混排多用于游戏 ...

  8. Unity UGUI

    超详细的基础教程传送门:(持续更新中) Unity UGUI之Canvas&EventSystem:http://blog.csdn.net/qq992817263/article/detai ...

  9. Unity Jobsystem 详解实体组件系统ECS

    原文摘选自Unity Jobsystem 详解实体组件系统ECS 简介 随着ECS的加入,Unity基本上改变了软件开发方面的大部分方法.ECS的加入预示着OOP方法的结束.随着实体组件系统ECS的到 ...

  10. unity ugui Toggle Group详解(Chinar出品、简单易懂)

    UGUI Toggle Group用法教程 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar ...

随机推荐

  1. [UR #14]人类补完计划

    计数好题. 题意:给定简单无向图 \(G=(V,E),|V|=n,|E|=m\),有 \(n\leq 16,m\leq {n\choose 2}\),求所有为基环树的子图的权值之和.一个基环树的权值定 ...

  2. 【问题排查篇】一次业务问题对 ES 的 cardinality 原理探究

    作者:京东科技 王长春 业务问题 小编工作中负责业务的一个服务端系统,使用了 Elasticsearch 服务做数据存储,业务运营人员反馈,用户在使用该产品时发现,用户后台统计的订单笔数和导出的订单笔 ...

  3. Django笔记三十九之settings配置介绍

    本文首发于公众号:Hunter后端 原文链接:Django笔记三十九之settings配置介绍 这一篇笔记介绍 Django 里 settings.py 里一些常用的配置项,这些配置有一些是在之前的笔 ...

  4. 解决 Python 的字符串 center ljust rjust 在面对中文时的 bug

    方法一:修改内置 str 的方法,能更灵活的定制,更准确地判断 CJK 字符,全局有效.甚至还能把转义序列也兼容了. def modify_str(): import gc, ctypes def c ...

  5. 2021-08-26:长度为N的数组arr,一定可以组成N^2个数字对。例如arr = [3,1,2],数字对有(3,3) (3,1) (3,2) (1,3) (1,1) (1,2) (2,3) (2

    2021-08-26:长度为N的数组arr,一定可以组成N^2个数字对.例如arr = [3,1,2],数字对有(3,3) (3,1) (3,2) (1,3) (1,1) (1,2) (2,3) (2 ...

  6. docker安装go-fastdfs

    1.docker命令安装 docker run -d --name fastdfs -p 8180:8080 sjqzhang/go-fastdfs 2.浏览器访问 http://192.168.20 ...

  7. vue全家桶进阶之路27:Vue.js 3.0的下载和安装

    使用脚手架vue-cli创建vue3项目,创建前需要准备以下: 1.node.js环境 见:https://www.cnblogs.com/beichengshiqiao/p/17251233.htm ...

  8. 流计算中kafka的OffsetReset策略

    朋友的公司做的是西南某边境省份网红新能源车的数据处理,由于新能源车的火爆,从年初从现在,数据量已经翻番.但与此同时,服务器却没有多少增加.无奈之下,只能暂时将kafka的数据存储时间由之前的1天改为6 ...

  9. Java打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

    代码如下: public static void main(String[] args) { int a,b,c; for(int num = 100;num <= 999;num++) { a ...

  10. 教程 | Datavines 自定义数据质量检查规则(Metric)

    Metric 是 Datavines 中一个核心概念,一个 Metric 表示一个数据质量检查规则,比如空值检查和表行数检查都是一个规则.Metric 采用插件化设计,用户可以根据自己的需求来实现一个 ...