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. 揭开神秘面纱,会stream流就会大数据

    目录 准备工作 1.map类 1.1 java stream map 1.2 spark map 1.2.1 MapFunction 1.2.2 MapPartitionsFunction 2.fla ...

  2. 高性能、快响应!火山引擎 ByteHouse 物化视图功能及入门介绍

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 物化视图是指将视图的计算结果存储在数据库中的一种技术.当用户执行查询时,数据库会直接从已经预计算好的结果中获取数据 ...

  3. Python OOP面向对象编程

    OOP 思想: 以模块思想解决工程问题 面向过程 VS 面向对象 由面向过程转向面向对象 例子,我要开一个学校,叫XXX 讲师 学生 班主任 教室 学校 常用名词 OO:面向对象 OOA: 分析 OO ...

  4. C++ Primer 5th 阅读笔记:前言

    机器效率和编程效率 Its focus, and that of its programming community, has widened from looking mostly at machi ...

  5. 「Vue系列」之Vue2实现当前组件重新加载

    遇到问题的场景:需要把当前组件完全还原成初始化状态,不要页面全部刷新例如:重置按钮,只刷新当前加载组件其他办法:使用vue-router重新定向到当前页面,页面不刷新使用window-reload() ...

  6. 2020-12-21:redis中,rpop和brpop的区别?

    福哥答案2020-12-21:[答案来自此链接:](http://bbs.xiangxueketang.cn/question/806)Redis Rpop 命令用于移除列表的最后一个元素,返回值为移 ...

  7. 2022-01-18:将数组分成两个数组并最小化数组和的差。 给你一个长度为 2 * n 的整数数组。你需要将 nums 分成 两个 长度为 n 的数组,分别求出两个数组的和,并 最小化 两个数组和之

    2022-01-18:将数组分成两个数组并最小化数组和的差. 给你一个长度为 2 * n 的整数数组.你需要将 nums 分成 两个 长度为 n 的数组,分别求出两个数组的和,并 最小化 两个数组和之 ...

  8. Blazor HyBrid在香橙派(Ubuntu Arm)运行的效果

    Blazor HyBrid在香橙派(Ubuntu Arm)运行的效果 准备香橙派一块!当前教程使用的是香橙派5 4G开发板 准备.NET环境 安装.NET Core依赖 sudo apt instal ...

  9. Prompt Engineering优化原则 - 以Webshell代码解释为例

    一.LLM prompt优化原则 本文围绕"PHP代码解释"这一任务,讨论LLM prompt优化原则. 代码样例如下: <?php echo "a5a5aa555 ...

  10. vue项目提示TypeError: e.call is not a function

    最近运行vue项目老是提示TypeError: e.call is not a function 如上一运行到该页面就会提示这个错误,虽然页面功能都没受到影响,但是这个必定会给后期发布后的项目带来极大 ...