如何在 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 中实现无缝循环的帧动画效果。

相关推荐
_zhourui_h_5 小时前
Unity AssetBundle 打包极限治理:依赖环、重复资源、包体膨胀,怎么在上线前全部揪出来?
unity3d
_zhourui_h_1 天前
Unity AssetBundle 极限管理:依赖、异步加载、引用计数、自动卸载到底怎么串起来?
unity3d
SmalBox2 天前
01-09-认知篇-对比-方案选型矩阵
unity3d·游戏开发
鑫鑫哥adam2 天前
用一个 struct 给游戏关键数值上锁:ProtectedInt 反作弊实践
unity3d
fujisheng6613 天前
FUI 导航实践:拆开 Layer、History、Coverage 与 Cache 的组合语义
c#·unity3d
SmalBox3 天前
01-08-认知篇-对比-其他资源管理方案
unity3d·游戏开发
SmalBox3 天前
01-07-认知篇-对比-原生AssetBundle工作流
unity3d·游戏开发
SmalBox4 天前
01-06-认知篇-对比-Addressable Assets深度解析
unity3d·游戏开发
fujisheng6615 天前
FUI 绑定生命周期实战:可靠解绑、失败回滚与列表项换绑
c#·unity3d
_zhourui_h_5 天前
Unity 资源热更新极限拆解:几万个文件,怎么做到只下载真正变动的那几个?
unity3d