🌏

ShaderGraphのCustomFunctionで_Time redefinitationになるバグを解消する

2023/10/05に公開

環境

UniversalRenderPipeLine 14.8
Windows 11

ShaderGrpahのCustomFunctionNodeで
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
をインクルードすると_Time redefinitationというエラーが発生するバグがあります。(Forumにもでてる)
_Timeなどどこにも宣言してないので不思議です👀
https://forum.unity.com/threads/redefinition-of-_time-error-in-custom-function-node.666085/

解決策としてはLIGHTWEIGHT_LIGHTING_INCLUDEDで必要なLightingの処理を囲うことです。(GetMainLight()等)

#ifdef LIGHTWEIGHT_LIGHTING_INCLUDED
    Light light = GetMainLight();
    Direction = light.direction;
    Color = light.color;
    #endif

Discussion