Assignment for RMIT Mixed Reality in 2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

119 lines
7.2 KiB

  1. // Made with Amplify Shader Editor
  2. // Available at the Unity Asset Store - http://u3d.as/y3X
  3. Shader "ASESampleShaders/LocalPosCutoff"
  4. {
  5. Properties
  6. {
  7. [HideInInspector] __dirty( "", Int ) = 1
  8. _Distribution("Distribution", Range( 0.1 , 10)) = 1
  9. _SmoothnessFactor("SmoothnessFactor", Range( 0 , 1)) = 0
  10. _StartPoint("StartPoint", Range( -10 , 10)) = 0.75
  11. _UnderwaterInfluence("UnderwaterInfluence", Range( 0 , 1)) = 0
  12. _Tint("Tint", Color) = (0.5294118,0.4264289,0,0)
  13. _Normals("Normals", 2D) = "bump" {}
  14. _Albedo("Albedo", 2D) = "white" {}
  15. _Occlusion("Occlusion", 2D) = "white" {}
  16. _Metallic("Metallic", 2D) = "white" {}
  17. [HideInInspector] _texcoord( "", 2D ) = "white" {}
  18. }
  19. SubShader
  20. {
  21. Tags{ "RenderType" = "Opaque" "Queue" = "Geometry+0" }
  22. Cull Back
  23. ZTest LEqual
  24. CGPROGRAM
  25. #include "UnityShaderVariables.cginc"
  26. #pragma target 3.0
  27. #pragma surface surf Standard keepalpha addshadow fullforwardshadows
  28. struct Input
  29. {
  30. float2 uv_texcoord;
  31. float3 worldPos;
  32. };
  33. uniform sampler2D _Normals;
  34. uniform float4 _Normals_ST;
  35. uniform float4 _Tint;
  36. uniform sampler2D _Albedo;
  37. uniform float4 _Albedo_ST;
  38. uniform float _StartPoint;
  39. uniform float _Distribution;
  40. uniform float _UnderwaterInfluence;
  41. uniform sampler2D _Metallic;
  42. uniform float4 _Metallic_ST;
  43. uniform float _SmoothnessFactor;
  44. uniform sampler2D _Occlusion;
  45. uniform float4 _Occlusion_ST;
  46. void surf( Input i , inout SurfaceOutputStandard o )
  47. {
  48. float2 uv_Normals = i.uv_texcoord * _Normals_ST.xy + _Normals_ST.zw;
  49. o.Normal = UnpackNormal( tex2D( _Normals, uv_Normals ) );
  50. float2 uv_Albedo = i.uv_texcoord * _Albedo_ST.xy + _Albedo_ST.zw;
  51. float3 ase_vertex3Pos = mul( unity_WorldToObject, float4( i.worldPos , 1 ) );
  52. float temp_output_15_0 = saturate( ( ( ase_vertex3Pos.y + _StartPoint ) / _Distribution ) );
  53. float clampResult30 = clamp( temp_output_15_0 , _UnderwaterInfluence , 1.0 );
  54. float4 lerpResult52 = lerp( _Tint , tex2D( _Albedo, uv_Albedo ) , clampResult30);
  55. o.Albedo = lerpResult52.xyz;
  56. float2 uv_Metallic = i.uv_texcoord * _Metallic_ST.xy + _Metallic_ST.zw;
  57. float4 temp_output_49_0 = ( tex2D( _Metallic, uv_Metallic ) + ( 1.0 - temp_output_15_0 ) );
  58. o.Metallic = temp_output_49_0.x;
  59. o.Smoothness = ( temp_output_49_0 * _SmoothnessFactor ).x;
  60. float2 uv_Occlusion = i.uv_texcoord * _Occlusion_ST.xy + _Occlusion_ST.zw;
  61. o.Occlusion = tex2D( _Occlusion, uv_Occlusion ).x;
  62. o.Alpha = 1;
  63. }
  64. ENDCG
  65. }
  66. Fallback "Diffuse"
  67. CustomEditor "ASEMaterialInspector"
  68. }
  69. /*ASEBEGIN
  70. Version=12003
  71. 0;92;1541;926;2443.204;911.7153;2.5;False;False
  72. Node;AmplifyShaderEditor.CommentaryNode;27;-1294.719,489.6995;Float;False;1059.499;462.1996;Cutoff;9;30;50;54;15;16;5;14;2;47;;1,1,1,1;0;0
  73. Node;AmplifyShaderEditor.RangedFloatNode;2;-1247.918,722.3019;Float;False;Property;_StartPoint;StartPoint;2;0;0.75;-10;10;0;1;FLOAT
  74. Node;AmplifyShaderEditor.PosVertexDataNode;47;-1234.361,543.9348;Float;False;0;0;5;FLOAT3;FLOAT;FLOAT;FLOAT;FLOAT
  75. Node;AmplifyShaderEditor.RangedFloatNode;5;-1254.918,841.5022;Float;False;Property;_Distribution;Distribution;0;0;1;0.1;10;0;1;FLOAT
  76. Node;AmplifyShaderEditor.SimpleAddOpNode;14;-997.0165,635.501;Float;False;2;2;0;FLOAT;0.0;False;1;FLOAT;0.0;False;1;FLOAT
  77. Node;AmplifyShaderEditor.SimpleDivideOpNode;16;-876.0185,742.7026;Float;False;2;0;FLOAT;0.0;False;1;FLOAT;0.0;False;1;FLOAT
  78. Node;AmplifyShaderEditor.CommentaryNode;21;-914.6158,-533.7644;Float;False;719.1993;462.2003;Color Stuff;4;20;19;17;18;;1,1,1,1;0;0
  79. Node;AmplifyShaderEditor.SaturateNode;15;-712.8203,722.0024;Float;False;1;0;FLOAT;0.0;False;1;FLOAT
  80. Node;AmplifyShaderEditor.SamplerNode;18;-528,-272;Float;True;Property;_Metallic;Metallic;8;0;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;0,0;False;1;FLOAT2;0,0;False;2;FLOAT;1.0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1.0;False;5;FLOAT4;FLOAT;FLOAT;FLOAT;FLOAT
  81. Node;AmplifyShaderEditor.OneMinusNode;50;-422.1988,688.3354;Float;False;1;0;FLOAT;0.0;False;1;FLOAT
  82. Node;AmplifyShaderEditor.RangedFloatNode;54;-851.6987,535.1356;Float;False;Property;_UnderwaterInfluence;UnderwaterInfluence;3;0;0;0;1;0;1;FLOAT
  83. Node;AmplifyShaderEditor.SamplerNode;17;-528,-480;Float;True;Property;_Albedo;Albedo;6;0;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;0,0;False;1;FLOAT2;0,0;False;2;FLOAT;1.0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1.0;False;5;FLOAT4;FLOAT;FLOAT;FLOAT;FLOAT
  84. Node;AmplifyShaderEditor.SimpleAddOpNode;49;-34.34885,121.0344;Float;False;2;2;0;FLOAT4;0.0,0,0,0;False;1;FLOAT;0.0,0,0,0;False;1;FLOAT4
  85. Node;AmplifyShaderEditor.ColorNode;53;-512,-32;Float;False;Property;_Tint;Tint;4;0;0.5294118,0.4264289,0,0;0;5;COLOR;FLOAT;FLOAT;FLOAT;FLOAT
  86. Node;AmplifyShaderEditor.RangedFloatNode;34;-108.9506,481.5498;Float;False;Property;_SmoothnessFactor;SmoothnessFactor;1;0;0;0;1;0;1;FLOAT
  87. Node;AmplifyShaderEditor.ClampOpNode;30;-492.2693,530.6258;Float;False;3;0;FLOAT;0.0;False;1;FLOAT;0.0;False;2;FLOAT;1.0;False;1;FLOAT
  88. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;51;160,224;Float;False;2;2;0;FLOAT4;0.0,0,0,0;False;1;FLOAT;0.0;False;1;FLOAT4
  89. Node;AmplifyShaderEditor.LerpOp;52;-64,-32;Float;False;3;0;COLOR;0.0,0,0,0;False;1;FLOAT4;0,0,0,0;False;2;FLOAT;0.0;False;1;FLOAT4
  90. Node;AmplifyShaderEditor.SamplerNode;20;-864,-272;Float;True;Property;_Occlusion;Occlusion;7;0;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;0,0;False;1;FLOAT2;0,0;False;2;FLOAT;1.0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1.0;False;5;FLOAT4;FLOAT;FLOAT;FLOAT;FLOAT
  91. Node;AmplifyShaderEditor.SamplerNode;19;-864,-480;Float;True;Property;_Normals;Normals;5;0;None;True;0;True;bump;Auto;True;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;0,0;False;1;FLOAT2;0,0;False;2;FLOAT;1.0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1.0;False;5;FLOAT3;FLOAT;FLOAT;FLOAT;FLOAT
  92. Node;AmplifyShaderEditor.WorldPosInputsNode;59;-1229.238,316.9132;Float;False;0;4;FLOAT3;FLOAT;FLOAT;FLOAT
  93. Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;432.1003,45.80003;Float;False;True;2;Float;ASEMaterialInspector;0;Standard;ASESampleShaders/LocalPosCutoff;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;3;False;0;0;Opaque;0.5;True;True;0;False;Opaque;Geometry;All;True;True;True;True;True;True;True;True;True;True;True;True;True;True;True;True;True;False;0;255;255;0;0;0;0;False;0;4;10;25;False;0.5;True;0;Zero;Zero;0;Zero;Zero;Add;Add;0;False;0;0,0,0,0;VertexOffset;False;Cylindrical;False;Relative;0;;-1;-1;-1;-1;0;0;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0.0;False;2;FLOAT3;0.0;False;3;FLOAT;0.0;False;4;FLOAT;0.0;False;5;FLOAT;0.0;False;6;FLOAT3;0.0;False;7;FLOAT3;0.0;False;8;FLOAT;0.0;False;9;FLOAT;0.0;False;10;OBJECT;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0.0,0,0,0;False;15;FLOAT3;0,0,0;False;0
  94. WireConnection;14;0;47;2
  95. WireConnection;14;1;2;0
  96. WireConnection;16;0;14;0
  97. WireConnection;16;1;5;0
  98. WireConnection;15;0;16;0
  99. WireConnection;50;0;15;0
  100. WireConnection;49;0;18;0
  101. WireConnection;49;1;50;0
  102. WireConnection;30;0;15;0
  103. WireConnection;30;1;54;0
  104. WireConnection;51;0;49;0
  105. WireConnection;51;1;34;0
  106. WireConnection;52;0;53;0
  107. WireConnection;52;1;17;0
  108. WireConnection;52;2;30;0
  109. WireConnection;0;0;52;0
  110. WireConnection;0;1;19;0
  111. WireConnection;0;3;49;0
  112. WireConnection;0;4;51;0
  113. WireConnection;0;5;20;0
  114. ASEEND*/
  115. //CHKSM=55D16ABD745B8A4069FEC64D3BF3DFB26A97AF74