Unity开发——Outline组件及其相关属性

25 篇文章 1 订阅
18 篇文章 0 订阅

1、使用Outline设置UI图片轮廓

(1)存在问题:Unity Outline组件、QuickOutline插件的Outline脚本冲突

前提:需要修改图片的轮廓,使用unity原生Unity Outline组件,

脚本获取组件时,使用:

transform.GetComponent<Outline>().OutlineColor = testImage.color;

获取到的是QuickOutline插件的Outline脚本,而不是原生Outline组件;

(2)解决方法:

使用:

transform.GetComponent<UnityEngine.UI.Outline>().effectColor = testImage.color;

此时获取到的就是Unity原生UI组件;

 2、设置TMP文字的Outline属性;

上面是改UI图片的轮廓设置,

若是改文本文字的轮廓,可以直接设置TMP里自带的轮廓设置(这里使用的是TMP组件)

使用

//获取Outline的颜色,即Outline--Color
Color testColor = transform.GetComponent<Material>().GetColor("_OutlineColor");

//设置Outline的颜色
transform.GetComponent<Material>().SetColor("_OutlineColor", Color.red);

//设置Outline的大小,即Outline--Thickness
transform.GetComponent<Material>().SetFloat("_OutlineWidth", 1);

注:材质属性,可通过:点击字体材质——Insector状态切换为Debug——找Property——来对应属性名称信息;

(1)初步设置属性参数,具体方法步骤如下图:

1)选择材质,切换面板;Normal状态,即下图所显示的设置面板;

2)切换为Debug状态,进入详细材质属性界面,可查看属性详细参数; 

3)找到目标属性参数,方便脚本中引用设置; 

(2)深入学习TMP Outline,有效设置文字的轮廓和颜色

有效用法:

TextMeshPro textmeshPro = GetComponent<TextMeshPro>();
textmeshPro.outlineWidth = 0.2f;//0-1
textmeshPro.outlineColor = new Color32(255, 128, 0, 255);

这样设置还不影响其他使用该字体材质的对象,仅设置的这个文字有效果;

(使用时,记得手动开启材质的Outline,暂没找到合适的方法来脚本开启属性)

参考地址:unity3d - Adding an Outline to a TextMeshPro Text - Stack Overflow

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值