%YAML 1.1 %TAG !u! tag:unity3d.com,2011: --- !u!114 &11400000 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 78b2425a2284af743826c689403a4924, type: 3} m_Name: URP Tangent To World Normal m_EditorClassIdentifier: m_functionInfo: "// Made with Amplify Shader Editor v1.9.1\n// Available at the Unity Asset Store - http://u3d.as/y3X \n/*ASEBEGIN\nVersion=19100\nNode;AmplifyShaderEditor.VertexTangentNode;10;-1185.522,468.6364;Inherit;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3\nNode;AmplifyShaderEditor.RangedFloatNode;12;-1136.821,38.03659;Inherit;False;Constant;_Float5;Float 5;2;0;Create;True;0;0;0;False;0;False;-1;0;0;0;0;1;FLOAT;0\nNode;AmplifyShaderEditor.CustomExpressionNode;13;169.9171,402.5483;Inherit;False;float3 NormalWS = TransformTangentToWorld(NormalTS, TBN)@$NormalWS = NormalizeNormalPerPixel(NormalWS)@$return NormalWS@;3;Create;2;True;NormalTS;FLOAT3;0,0,0;In;;Inherit;False;True;TBN;FLOAT3x3;1,0,0,1,1,1,1,0,1;In;;Inherit;False;TangentToWorld;True;False;0;;False;2;0;FLOAT3;0,0,0;False;1;FLOAT3x3;1,0,0,1,1,1,1,0,1;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.Vector3Node;15;-193.5508,254.4452;Inherit;False;Constant;_Vector0;Vector 0;0;0;Create;True;0;0;0;False;0;False;0,0,1;0,0,0;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3\nNode;AmplifyShaderEditor.FunctionInput;14;-20.5,328.5;Inherit;False;Normal TS;3;0;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.TangentVertexDataNode;9;-1184,-288;Inherit;False;1;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4\nNode;AmplifyShaderEditor.RangedFloatNode;6;-1136,-112;Inherit;False;Constant;_Float3;Float 3;2;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0\nNode;AmplifyShaderEditor.RangedFloatNode;8;-1136,-48;Inherit;False;Constant;_Float4;Float 4;2;0;Create;True;0;0;0;False;0;False;1;0;0;0;0;1;FLOAT;0\nNode;AmplifyShaderEditor.RegisterLocalVarNode;5;-544,320;Inherit;False;Binormal;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.MatrixFromVectors;2;-272,416;Inherit;False;FLOAT3x3;True;4;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;1;FLOAT3x3;0\nNode;AmplifyShaderEditor.RegisterLocalVarNode;1;-48,432;Inherit;False;TBN;-1;True;1;0;FLOAT3x3;0,0,0,1,1,1,1,0,1;False;1;FLOAT3x3;0\nNode;AmplifyShaderEditor.CrossProductOpNode;7;-846.0208,150.2371;Inherit;False;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.SimpleMultiplyOpNode;3;-703.2216,-21.66358;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.WorldNormalVector;11;-1274.321,170.4366;Inherit;False;False;1;0;FLOAT3;0,0,1;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3\nNode;AmplifyShaderEditor.Compare;4;-898.8214,-137.9635;Inherit;False;2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionOutput;0;392,409;Inherit;False;True;-1;Normal WS;0;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0\nWireConnection;13;0;14;0\nWireConnection;13;1;1;0\nWireConnection;14;0;15;0\nWireConnection;5;0;3;0\nWireConnection;2;0;10;0\nWireConnection;2;1;5;0\nWireConnection;2;2;11;0\nWireConnection;1;0;2;0\nWireConnection;7;0;11;0\nWireConnection;7;1;10;0\nWireConnection;3;0;4;0\nWireConnection;3;1;7;0\nWireConnection;4;0;9;4\nWireConnection;4;1;6;0\nWireConnection;4;2;8;0\nWireConnection;4;3;12;0\nWireConnection;0;0;13;0\nASEEND*/\n//CHKSM=0B3F96054C748A0B8F7ABB43338E443BC54FD65A" m_functionName: m_description: 'WARNING: This shader function is URP only. Converts a normal vector in tangent space into world space. This shader function generates a more precise but less performant result than the default template behavior, as it generates the binormal vector used by the transform TBN matrix over the fragment function (on default URP it is generated over the vertex function and interpolated to the fragment )' m_additionalIncludes: m_additionalIncludes: [] m_outsideIncludes: [] m_additionalPragmas: m_additionalPragmas: [] m_outsidePragmas: [] m_additionalDirectives: m_validData: 0 m_isDirty: 0 m_moduleName: ' Additional Directives' m_independentModule: 1 m_customEdited: 0 m_additionalDirectives: [] m_shaderFunctionDirectives: [] m_nativeDirectives: [] m_nativeDirectivesIndex: -1 m_nativeDirectivesFoldout: 0 m_directivesSaveItems: [] m_nodeCategory: 3 m_headerStyle: 1 m_headerColor: {r: 1, g: 0.4, b: 0, a: 1} m_customNodeCategory: m_previewPosition: 0 m_hidden: 0 m_url: