Unity vs_4_0 instruction error when trying to set vertex normal in PBR shader graph

1.1k views Asked by At

I'm trying to create a ocean PBR shader using Universal Render Pipeline's PBR Shader Graph, but when I try to assign the normal in master, it throws the errors:

Assertion failed on expression: '0 == m_CurrentBufferBindMask[kUnityPerDraw]' UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

and

Cannot map expression to vs_4_0 instruction set at line 132 (on d3d11)

The calculated normal is a global normal transformed to object's space using direction mode on transform node.

This is my current shader graph:

Shader Graph

The "WaveNoise" node is a custom subgraph shader that outputs wave height from position using stacked sine and cossine waves.

This is the PBR master node's configuration:

Master Node configuration

I'm using two master nodes, but the active one is the PBR, I put a Unlit Master to test if the same error happen, in my tests this didn't happened. I don't know if someone is having this issue too.

0

There are 0 answers