问题
一般使用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);
}
}

在Unity的UniversalRenderPipeline(URP)中,TransparencySortMode选项不可见,但可以通过编程方式设置。可以临时将渲染管线设置为无,应用透明度排序模式,然后重置;或者在项目中添加特定的C#脚本来设置TransparencySortMode为CustomAxis和自定义轴向。
3958

被折叠的 条评论
为什么被折叠?



