【URP】Unity中自定义Render feature后Build模式下shader引用缺失
记录一下最近Unity项目中遇到的令人头大的bug。
问题描述
项目使用URP renderer,引入了自定义的Render feature。
编辑器中运行正常的游戏,在build后一直弹出材质未找到的log。
打开log,发现报错的信息大致如下(节选)
Cannot create required material because shader is null
UnityEngine.StackTraceUtility:ExtractStackTrace () (at C:/buildslave/unity/build/Runtime/Export/Scripting/StackTrace.cs:37)
UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[])
UnityEngine.Logger:Log (UnityEngine.LogType,object)
UnityEngine.Debug:LogError (object)
UnityEngine.Rendering.CoreUtils:CreateEngineMaterial (UnityEngine.Shader) (at D:/Unity Projects/Payback_dev/Library/PackageCache/com.unity.render-pipelines.core@7.5.1/Runtime/Utilities/CoreUtils.cs:817)
HologramBlockRenderPass:.ctor ()
分析
注意到log中是自定义的HologramBlockRenderPass中出了问题。这是一个Render feature


433

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



