Unity URP无法设置Transparency Sort Mode

Unity URP无法设置Transparency Sort Mode

问题

一般使用Unity制作2D游戏时会将Transparency Sort Mode设置为Custom Axis并将Transparency Sort Axis设置为0,1,0来方便Spirte排序
通常设置
但是当渲染管线切换为Universal Render Pipeline(通用渲染管线)
URP设置
Transparency Sort Mode就消失了

解决方案

1.(推荐 )可以将渲染管线资产设置为无,设置透明度排序模式设置,因为该选项已经存在,然后重置渲染管线资产。即使看不见该选项了,透明度排序模式设置仍将被设置。

2.在项目中添加以下代码

#if UNITY_EDITOR
using UnityEditor;
#endif
 
using UnityEngine;
using UnityEngine.Rendering;
 
#if UNITY_EDITOR
[InitializeOnLoad]
#endif
class TransparencySortGraphicsHelper
{
    
    
    static TransparencySortGraphicsHelper()
    {
    
    
        OnLoad();
    }
 
    [RuntimeInitializeOnLoadMethod]
    static void OnLoad()
    {
    
    
        GraphicsSettings.transparencySortMode = TransparencySortMode.CustomAxis;
        GraphicsSettings.transparencySortAxis = new Vector3(0.0f, 1.0f, 0.0f);
    }
}

参考

链接: Transparency Sort Mode and Lightweight Render Pipeline

猜你喜欢

转载自blog.csdn.net/a71468293a/article/details/128858742