最近在使用 Unity URP 时,摸索出了一套简洁的制作 UI 粒子特效的方式。
先创建一个新的 Camera, 将 Render Type 设为 Overlay, Projection 设为 Orthographic, Size 对齐屏幕尺寸, Culling Mask 设为 UI.
为了自适应屏幕大小,写个脚本修改 Camere 的 size: camera.orthographicSize = Screen.height * 0.5f
. 还有粒子的 size 也需要修改:
1 | float multiplier = Screen.height / canvasScaler.referenceResolution.y; |
然后给原来 Render Type 为 Base 的 Camera 的 Stack 里加上刚刚新建的 Camera.
然后把 Particle System 做的粒子特效挂到想要挂到的 UI 对象下面,调整 Start Size 到够大,把 Layer 设为 UI. 想要调整粒子和 UI 的前后关系的话,可以调整粒子 Renderer 的 Order in Layer.