From fb63a847ea230176651df4acb64db985db5770ba Mon Sep 17 00:00:00 2001 From: DCFApixels <99481254+DCFApixels@users.noreply.github.com> Date: Fri, 28 Feb 2025 13:19:53 +0800 Subject: [PATCH] update sample for support brp --- Samples/Other/FakeLitShader.shader | 73 +++++++++++++++++++++++++ Samples/Other/FakeLitShader.shader.meta | 9 +++ Samples/Other/G.mat | 38 +++++++++++++ Samples/Other/G.mat.meta | 8 +++ Samples/Other/W.mat | 38 +++++++++++++ Samples/Other/W.mat.meta | 8 +++ Samples/Sample.unity | 28 +++++----- 7 files changed, 188 insertions(+), 14 deletions(-) create mode 100644 Samples/Other/FakeLitShader.shader create mode 100644 Samples/Other/FakeLitShader.shader.meta create mode 100644 Samples/Other/G.mat create mode 100644 Samples/Other/G.mat.meta create mode 100644 Samples/Other/W.mat create mode 100644 Samples/Other/W.mat.meta diff --git a/Samples/Other/FakeLitShader.shader b/Samples/Other/FakeLitShader.shader new file mode 100644 index 0000000..3011656 --- /dev/null +++ b/Samples/Other/FakeLitShader.shader @@ -0,0 +1,73 @@ +Shader "Custom/FakeLitShader" +{ + Properties + { + _MainTex ("Texture", 2D) = "white" {} + _Color ("Color", Color) = (1,1,1,1) + _FakeLightDir ("Fake Light Direction", Vector) = (0,1,0,0) + _FakeLightColor ("Fake Light Color", Color) = (1,1,1,1) + _FakeAmbientColor ("Fake Ambient Color", Color) = (0.2,0.2,0.2,1) + } + SubShader + { + Tags { "RenderType"="Opaque" } + LOD 200 + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float3 normal : NORMAL; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + float3 worldNormal : TEXCOORD1; + float4 pos : SV_POSITION; + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + float4 _Color; + float4 _FakeLightDir; + float4 _FakeLightColor; + float4 _FakeAmbientColor; + + v2f vert (appdata v) + { + v2f o; + o.pos = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.uv, _MainTex); + o.worldNormal = UnityObjectToWorldNormal(v.normal); + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + // Нормализуем нормаль и направление света + float3 normal = normalize(i.worldNormal); + float3 lightDir = normalize(_FakeLightDir.xyz); + + // Вычисляем фейковое освещение + float NdotL = max(dot(normal, lightDir), 0.0); + float3 lighting = _FakeAmbientColor.rgb + _FakeLightColor.rgb * NdotL; + + // Применяем текстуру и цвет + fixed4 texColor = tex2D(_MainTex, i.uv) * _Color; + fixed4 finalColor = texColor * float4(lighting, 1.0); + + return finalColor; + } + ENDCG + } + } + FallBack "Diffuse" +} \ No newline at end of file diff --git a/Samples/Other/FakeLitShader.shader.meta b/Samples/Other/FakeLitShader.shader.meta new file mode 100644 index 0000000..19e0d72 --- /dev/null +++ b/Samples/Other/FakeLitShader.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 641d3099bf3dda540b930dfb62da2142 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples/Other/G.mat b/Samples/Other/G.mat new file mode 100644 index 0000000..49e4e6f --- /dev/null +++ b/Samples/Other/G.mat @@ -0,0 +1,38 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: G + m_Shader: {fileID: 4800000, guid: 641d3099bf3dda540b930dfb62da2142, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: [] + m_Colors: + - _Color: {r: 0.19999996, g: 0.19215682, b: 0.462745, a: 1} + - _FakeAmbientColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + - _FakeLightColor: {r: 1, g: 1, b: 1, a: 1} + - _FakeLightDir: {r: 0.9, g: 1.61, b: -0.58, a: 0} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Samples/Other/G.mat.meta b/Samples/Other/G.mat.meta new file mode 100644 index 0000000..877d226 --- /dev/null +++ b/Samples/Other/G.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2c38d6a0a5405a74c9813cab248f5695 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples/Other/W.mat b/Samples/Other/W.mat new file mode 100644 index 0000000..65d38ce --- /dev/null +++ b/Samples/Other/W.mat @@ -0,0 +1,38 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: W + m_Shader: {fileID: 4800000, guid: 641d3099bf3dda540b930dfb62da2142, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: [] + m_Colors: + - _Color: {r: 0, g: 0.019607844, b: 0.047058824, a: 0.23529412} + - _FakeAmbientColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + - _FakeLightColor: {r: 1, g: 1, b: 1, a: 1} + - _FakeLightDir: {r: 0.9, g: 1.61, b: -0.58, a: 0} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Samples/Other/W.mat.meta b/Samples/Other/W.mat.meta new file mode 100644 index 0000000..166aadd --- /dev/null +++ b/Samples/Other/W.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 48d7ade3346b00c42a5ee562708c3251 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples/Sample.unity b/Samples/Sample.unity index 7bb1204..fbbbae0 100644 --- a/Samples/Sample.unity +++ b/Samples/Sample.unity @@ -385,7 +385,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: f89e6af13552a0f4cba290df419721e2, type: 2} + - {fileID: 2100000, guid: 2c38d6a0a5405a74c9813cab248f5695, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -533,7 +533,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: f89e6af13552a0f4cba290df419721e2, type: 2} + - {fileID: 2100000, guid: 2c38d6a0a5405a74c9813cab248f5695, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -783,7 +783,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: f89e6af13552a0f4cba290df419721e2, type: 2} + - {fileID: 2100000, guid: 2c38d6a0a5405a74c9813cab248f5695, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -1983,7 +1983,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: dc69f1a5abbb7d348a71d0d194dd6856, type: 2} + - {fileID: 2100000, guid: 48d7ade3346b00c42a5ee562708c3251, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -2100,7 +2100,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: f89e6af13552a0f4cba290df419721e2, type: 2} + - {fileID: 2100000, guid: 2c38d6a0a5405a74c9813cab248f5695, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -2248,7 +2248,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: f89e6af13552a0f4cba290df419721e2, type: 2} + - {fileID: 2100000, guid: 2c38d6a0a5405a74c9813cab248f5695, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -3054,7 +3054,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: f89e6af13552a0f4cba290df419721e2, type: 2} + - {fileID: 2100000, guid: 2c38d6a0a5405a74c9813cab248f5695, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -3140,7 +3140,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: dc69f1a5abbb7d348a71d0d194dd6856, type: 2} + - {fileID: 2100000, guid: 48d7ade3346b00c42a5ee562708c3251, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -3341,7 +3341,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: f89e6af13552a0f4cba290df419721e2, type: 2} + - {fileID: 2100000, guid: 2c38d6a0a5405a74c9813cab248f5695, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -3947,7 +3947,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: dc69f1a5abbb7d348a71d0d194dd6856, type: 2} + - {fileID: 2100000, guid: 48d7ade3346b00c42a5ee562708c3251, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -4033,7 +4033,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: dc69f1a5abbb7d348a71d0d194dd6856, type: 2} + - {fileID: 2100000, guid: 48d7ade3346b00c42a5ee562708c3251, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -4212,7 +4212,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: dc69f1a5abbb7d348a71d0d194dd6856, type: 2} + - {fileID: 2100000, guid: 48d7ade3346b00c42a5ee562708c3251, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -4715,7 +4715,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: dc69f1a5abbb7d348a71d0d194dd6856, type: 2} + - {fileID: 2100000, guid: 48d7ade3346b00c42a5ee562708c3251, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -4801,7 +4801,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: f89e6af13552a0f4cba290df419721e2, type: 2} + - {fileID: 2100000, guid: 2c38d6a0a5405a74c9813cab248f5695, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0