如何在 Unity3D 中实现圆角效果?

一、前言

有时候在 Unity3D 中,要实现一些组件的圆角效果,比如进度条,不像普通按钮是静态不动的,可以直接将图片做成圆角。但是进度条是有那种色块流动的效果,如果不做处理,里面的色块会溢出四个角落。

二、实现前提

  1. 须使用 Image 的 UI 元素。

  2. 父层 Image 元素须遮罩组件。

  3. 父层 Image 元素图片须有圆角 png 图。

三、操作过程

  1. 在场景中创建一个 Image 的 UI 元素,图片是黑色有圆角的 png 图片。
  1. 在该 Image 中添加 Mask 组件(遮罩)。
  1. 在该 Image 下添加一个新的 Image 元素,Source Image 选择一个其他颜色图。
  1. 对子级 Image 的 Transform 进行上下拖动,填充住父的遮罩就可以看到子级的元素也有圆角。

四、写在后面

以上的操作都是在 Unity3D 2020.3 中实现,除了用遮罩的方式实现圆角效果外,还可以用 Shader,在效果上还没有锯齿,弧度更丝滑。后面有时间我再更新,以及如何在 Unity3D 中实现无缝循环的帧动画效果。

相关推荐
甲维斯16 小时前
又升级咯!坦克大战2026,科技与复古并存!
前端·人工智能·游戏开发
SmalBox1 天前
【节点】[Stripes节点]原理解析与实际应用
unity3d·游戏开发·图形学
qiqizizzz2 天前
Unity引擎底层 | ”Fake Null“ 假空现象
unity3d
_zhourui_h_2 天前
MyFramework:Unity TypeID 如何替代字符串和反射
unity3d
SmalBox2 天前
【节点】[Spiral节点]原理解析与实际应用
unity3d·游戏开发·图形学
本山德彪2 天前
把快要失传的老游戏,一笔一画搬回来——「乡土游戏馆」创作手记
游戏开发
_zhourui_h_2 天前
MyFramework:Unity SafeList0 的延迟压缩设计
unity3d
甲维斯3 天前
《坦克大战2026》游戏升级!加入无敌道具!
ai编程·游戏开发
甲维斯3 天前
GLM5.2+ZCode复刻坦克大战,自测50万帧!
前端·ai编程·游戏开发
_zhourui_h_3 天前
MyFramework:Unity SafeList 如何支持遍历中修改
unity3d