Unity URP无法设置Transparency Sort Mode
- 问题
- 解决方案
- 参考
问题
一般使用Unity制作2D游戏时会将Transparency Sort Mode
设置为Custom Axis
并将Transparency Sort Axis
设置为0,1,0
来方便Spirte
排序
但是当渲染管线切换为Universal Render Pipeline(通用渲染管线)
时
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