首页 > 其他分享 >Unity UGUI的Outline(描边)组件的介绍及使用

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

时间:2023-07-29 18:31:31浏览次数:50  
标签:Outline Unity UI 描边 组件 public 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。

注意事项:

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

参考资料

标签:Outline,Unity,UI,描边,组件,public,outline
From: https://blog.51cto.com/u_7509448/6894415

相关文章

  • Unity UGUI的Outline(描边)组件的介绍及使用
    UnityUGUI的Outline(描边)组件的介绍及使用1.什么是Outline(描边)组件?Outline(描边)组件是UnityUGUI中的一种特效组件,用于给UI元素添加描边效果。通过设置描边的颜色、宽度和模糊程度,可以使UI元素在视觉上更加突出。2.Outline(描边)组件的工作原理Outline(描边)组件通过在......
  • CommunityToolkit.Mvvm
    包是.NET提供的一个现代、快速且模块化的MVVM库。此包面向.NETStandard,因此可在任何应用平台上(UWP、WinForms、WPF、Xamarin、Uno等)和运行时上(.NETNative、.NETCore、.NETFramework或Mono)使用。其他MVVM库有:Prism,常用于WPF应用。Messenger发送消息接口IMessenger......
  • Unity学习
    Unity学习1常用快捷键alt+鼠标左键:以某个物体为中心旋转视角鼠标左键+w/s/a/d:视角移动F:相机聚焦物体Q/W/E/R/T/Y:左上角工具栏工具2文件资源2.1工程目录Assets目录:主要存放资源文件,该文件中的内容会在unity项目栏中显示。2.2文件类型FBX文件:3D模型文件,其中包括了......
  • Unity Recorder
    UnityRecorder录制高清视频由于经常开发过程需要经常录制高清Unity视频点击StartRecording可以直接录制运行的Game窗口默认比例就是1920*1080,不需要最大化运行可以无损录制,体积过大一、使用Recorder视频录制参数详解二、录制无损视频后压缩体积无损录制设置......
  • Unity3D___微信小游戏常用API总结
    获取用户信息游戏初始化WX.InitSDK((code)=>{//打印屏幕信息varsystemInfo=WX.GetSystemInfoSync();Debug.Log($"{systemInfo.screenWidth}:{systemInfo.screenHeight},{systemInfo.windowWidth}:{systemInfo.windowHeight},......
  • Unity 创建自定义包
    1.包的类型(1)嵌入式包(包文件夹在项目文件夹下,在其下的Packages子文件夹中)(2)本地包  (包文件夹在项目文件夹外,路径不固定)2.创建“本地包”的步骤官方文档: 创建自定义包文件示例1:package.json文件,如下图所示:{"name":"com.example.di......
  • Unity实现camera数据注入RMP推送或轻量级RTSP服务模块
    技术背景随着技术的不断进步和应用的不断深化,Unity3DVR应用的前景非常广阔,它广泛应用于教育、医疗、军事、工业设计、虚拟数字人等多个领域。教育领域:Unity3DVR技术可以用来创建虚拟现实教室,让学生能够身临其境地体验课程内容,提高学习效果和兴趣;医疗领域:Unity3DVR技术可以用来创......
  • Unity3D_拯救死循环
    当我们无意间写了死循环,此时只能调出任务管理器重新打开Unity工程一个偶然的机会我得知了一个不用结束任务,就可以挽救死循环的方法,整理如下总体思路:首先,创建一个Cube,让它沿Y轴旋转,通过它是否旋转来判断程序是否进入了死循环;其次,创建一个bool类型的变量,默认值为false,通过按......
  • Unity UGUI的Physics2DRaycaster (2D物理射线检测)组件的介绍及使用
    UnityUGUI的Physics2DRaycaster(2D物理射线检测)组件的介绍及使用一、什么是Physics2DRaycaster组件?Physics2DRaycaster是Unity中的一个UGUI组件,用于在2D场景中进行物理射线检测。它可以检测鼠标或触摸事件在UI元素上的碰撞,并将事件传递给相应的UI元素。二、Physics2DRaycaste......
  • Unity UGUI的PhysicsRaycaster (物理射线检测)组件的介绍及使用
    UnityUGUI的PhysicsRaycaster(物理射线检测)组件的介绍及使用1.什么是PhysicsRaycaster组件?PhysicsRaycaster是UnityUGUI中的一个组件,用于在UI元素上进行物理射线检测。它可以检测鼠标或触摸事件是否发生在UI元素上,并将事件传递给相应的UI元素。2.PhysicsRaycaster的工作......