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;
}
}
操作步骤:
- 创建一个按钮,并将Example1脚本挂载到按钮上。
- 将按钮的Outline组件拖拽到Example1脚本的outline变量上。
- 在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;
}
}
操作步骤:
- 创建一个文本对象,并将Example2脚本挂载到文本对象上。
- 将文本对象的Outline组件拖拽到Example2脚本的outline变量上。
- 在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;
}
}
操作步骤:
- 创建一个图片对象,并将Example3脚本挂载到图片对象上。
- 将图片对象的Outline组件拖拽到Example3脚本的outline变量上。
- 在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;
}
}
操作步骤:
- 创建一个滑动条对象,并将Example4脚本挂载到滑动条对象上。
- 将滑动条对象的Outline组件拖拽到Example4脚本的outline变量上。
- 在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;
}
}
操作步骤:
- 创建一个输入框对象,并将Example5脚本挂载到输入框对象上。
- 将输入框对象的Outline组件拖拽到Example5脚本的outline变量上。
- 在Start函数中,设置outline的属性,包括effectColor、effectDistance、useGraphicAlpha、blur和outline。
注意事项:
- 可以根据需要调整描边的颜色、距离、透明度、模糊程度和宽度。
参考资料
- Unity官方文档:Outline
Unity UGUI的Outline(描边)组件的介绍及使用的更多相关文章
- Unity UGUI Layout自动排版组件用法介绍
Unity UGUI布局组件 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享 ...
- 关于 Unity UGUI 中修改 Mask 组件下 Image 等子节点组件的材质无效的问题
前几天同事做了一个效果,希望在原本使用了遮罩组件 Mask 的技能图标(让技能图标变成圆形)上在添加一个置灰的功能,但问题来了:因为是动态根据游戏中玩家的条件才动态置灰,以修改 Mask 下子节点 I ...
- unity, UGUI Text outline
UGUI Text的勾边效果是通过添加component实现的: Add Component->UI->Effects->Outline 参考:http://www.cnblogs. ...
- Unity UGUI —— 无限循环List
还记得大学毕业刚工作的时候是做flash的开发,那时候看到别人写的各种各样的UI组件就非常佩服,后来自己也慢慢尝试着写,发现其实也就那么回事.UI的开发其实技术的成分相对来说不算多,但是一个好的UI是 ...
- Unity UGUI图文混排源码(三) -- 动态表情
这里是根据图文混排源码(二)进一步修改的,其他链接也不贴了,就贴一个链接就好了,第一次看这文章的同学可以先去看看其他几篇文章 Unity UGUI图文混排源码(二):http://blog.csdn. ...
- Unity UGUI图文混排源码(二)
Unity UGUI图文混排源码(一):http://blog.csdn.net/qq992817263/article/details/51112304 Unity UGUI图文混排源码(二):ht ...
- Unity UGUI实现图文混排
目前在unity实现图文混排的好像都是通过自定义字体然后在文本获取字符的位置,用图片替换掉图片标签,这样对于支持英文来说,并没有什么影响.然后对于中文来说就是一个相当麻烦的事了,毕竟图文混排多用于游戏 ...
- Unity UGUI
超详细的基础教程传送门:(持续更新中) Unity UGUI之Canvas&EventSystem:http://blog.csdn.net/qq992817263/article/detai ...
- Unity Jobsystem 详解实体组件系统ECS
原文摘选自Unity Jobsystem 详解实体组件系统ECS 简介 随着ECS的加入,Unity基本上改变了软件开发方面的大部分方法.ECS的加入预示着OOP方法的结束.随着实体组件系统ECS的到 ...
- unity ugui Toggle Group详解(Chinar出品、简单易懂)
UGUI Toggle Group用法教程 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar ...
随机推荐
- 任务系统之Jenkins子任务
今天下班即开启五一假期,早上临时定了行程去山东日照,原本计划下班就出发,但下班看了看导航,这一路红得发黑,于是决定还是晚点再走,现在有时间了,写篇简单的技术文章来提升下Blog逐渐降低的技术内容含量吧 ...
- pytest的fixture
1 什么是fixture @pytest.fixture def my_fruit(): return Fruit("apple") 如上,用@pytest.fixture装饰的函 ...
- 记一次 .NET 某车零件MES系统 登录异常分析
一:背景 1. 讲故事 这个案例有点特殊,以前dump分析都是和软件工程师打交道,这次和非业内人士交流,隔行如隔山,从指导dump怎么抓到问题解决,需要一个强大的耐心. 前几天有位朋友在微信上找到我, ...
- 【开源游戏】Legends-Of-Heroes 基于ET 7.2的双端C#(.net7 + Unity3d)多人在线英雄联盟风格的球球大作战游戏。
Legends-Of-Heroes 一个LOL风格的球球大作战游戏,基于ET7.2,使用状态同步 Main 基于C#双端框架[ET7.2],同步到ET主干详情请看日志.(https://github ...
- #Powerbi 季度时间进度计算
上一篇我们学习了月度时间进度的计算方法,今天我们学习季度时间进度的测算. 思路:找出目前共计消耗了多少天(季度),目前日期所在的季度共有多少天,两者相除即是季度的时间进度 首先列出DAX函数: 本 ...
- 2022-05-21:给定一个数组arr,长度为n, 表示n个服务员,每个人服务一个人的时间。 给定一个正数m,表示有m个人等位。 如果你是刚来的人,请问你需要等多久? 假设:m远远大于n,比如n<=
2022-05-21:给定一个数组arr,长度为n, 表示n个服务员,每个人服务一个人的时间. 给定一个正数m,表示有m个人等位. 如果你是刚来的人,请问你需要等多久? 假设:m远远大于n,比如n&l ...
- 2021-07-14:接雨水。给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。
2021-07-14:接雨水.给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水. 福大大 答案2021-07-14: 左右指针向中间移动.左指针是左边柱 ...
- defer有什么用呢
1. 简介 本文将从一个资源回收问题引入,引出defer关键字,并对其进行基本介绍.接着,将详细介绍在资源回收.拦截和处理panic等相关场景下defer的使用. 进一步,介绍defer的执行顺序,以 ...
- vue全家桶进阶之路25:Vue2的停维通知
Vue 2 的技术支持会持续多久?从官方发文来看,Vue 2.7 是当前.同时也是最后一个 Vue 2.x 的次级版本更新.Vue 2.7 会以其发布日期,即 2022 年 7 月 1 日开始计算,提 ...
- vue全家桶进阶之路8:Axios的安装与HTTP请求实战
Axios是一个基于Promise的HTTP客户端,用于在浏览器和Node.js中发送HTTP请求.它可以使用在Vue中发送请求以及与后端API进行交互. 在Vue中使用Axios可以通过以下步骤: ...