求助:如何让Unity Particle System渲染在其他GameObject后方?
Unity彩纸粒子显示在对象后方的解决方案
一、不用专用相机的最简方案
直接调粒子的渲染层级就行,比折腾相机简单多了:
- 打开
Edit > Project Settings > Tags and Layers,在Sorting Layers里新建一个层级(比如叫BackParticles),把它拖到所有现有层级的最下方。 - 选中粒子系统,在Inspector里找到
Particle System Renderer组件,把Sorting Layer改成刚才新建的BackParticles,Order in Layer设为0。 - 检查粒子材质的Render Queue:选中粒子材质,在Inspector里找到Render Queue,改成
Background(数值1000),比场景物体的Geometry(2000)小,就能确保粒子渲染在最底层。
二、专用相机的正确配置(非要用相机的话)
之前改深度的思路搞反了,正确操作是:
- 主相机的
Depth设为1,粒子相机的Depth设为0(数值越小越先渲染,先渲染的内容会被后渲染的覆盖,所以粒子先画,主相机再画场景,粒子就被压在后面)。 - 粒子相机的Clear Flags改成
Depth Only,这样只会清除深度缓冲,不会覆盖主相机的画面。 - 粒子相机的Culling Mask只勾选粒子所在的层,避免重复渲染场景物体。
三、相机Alpha值设为0的操作方法
你说的Alpha应该是指相机背景色的透明度,分管线处理:
- 内置管线:点击相机组件里的Background颜色块,在弹出的颜色面板右上角点小齿轮,选
Transparent模式,然后把Alpha滑块拉到最左(数值0)。 - URP:选中粒子相机,在Inspector里找到
Renderer组件,把Background选项改成Solid Color,然后点击颜色块调整Alpha到0。 - HDRP:在相机的
Frame Settings里找到Background,设置颜色的Alpha为0即可。
内容的提问来源于stack exchange,提问作者Support
相关产品推荐
相关产品推荐

