使用shader实现fillamount效果

使用UGUI的Image可以轻松实现进度条的效果。但是有些情况下我们需要制作针对游戏世界中的物体的进度条,例如人物头顶的HP条,机器旁边的CD条等。常规的做法通过将世界坐标映射到UI,然后使用Image制作这些元素。当游戏世界中的物体 位置改变的时候,需要通知UI去改变相应元素的位置,如果需要考虑摄像机对于进度条的影响,例如摄像机拉远时进度条变小,则会更加麻烦。 这里提供一种使用shader实现进度条的方案。测试环境:Unity 2020.3.32。 ...

2022-06-26 · 2 min · 263 words · 董大喵

Unity协程探究

Unity提供了协程来实现一定程度上的“伪并发”。 众所周知,UnityAPI只能在主线程中调用,如果我们希望通过多线程来实现多个过程的并发处理,那么如果涉及对UnityAPI的操作,则必须转到主线程去执行,比较繁琐。 MonoBehaviour.StartCoroutine可以创建一个协程(Coroutine), 在协程中可以通过yield语句暂停程序执行或者退出协程,从游戏运行的宏观角度看,它们似乎是在并行一样。 ...

2022-05-21 · 2 min · 404 words · 董大喵

浅谈UGUI优化-网格合并

之前说到优化DrawCall可以降低CPU在渲染上的开销,那么是不是DrawCall越少就一定越好呢?单纯讨论DrawCall的话,确实是,但是如果为了合并DrawCall需要付出的代价很大,就会得不偿失。网格合并(Rebatch)就是UGUI解决DrawCall问题的代价之一。 ...

2021-12-26 · 1 min · 188 words · 董大喵

浅谈UGUI优化-网格重建

在优化的过程中,我们经常会听到Rebatch和Rebuild这两个词,很多人将这两个词混为一谈,其实它们之间虽然有关联但是本质上是两个过程。今天先聊一聊网格重建(Rebuild),要理解这一过程,就需要先明白为什么会有网格,然后再讨论为什么会重建。 ...

2021-12-26 · 1 min · 126 words · 董大喵

浅谈UGUI优化-DrawCall篇

说起UGUI的优化,DrawCall一定是一个绕不开的话题。当然不只是UI优化,Unity中性能优化都会涉及DrawCall的优化。 ...

2021-12-25 · 1 min · 31 words · 董大喵