This commit is contained in:
2025-11-14 18:44:06 +08:00
parent 10156da245
commit 22e867d077
7013 changed files with 2572882 additions and 1804 deletions

View File

@@ -0,0 +1,182 @@
%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: BambooA
m_Shader: {fileID: -6465566751694194690, guid: efc0d598798d1ce4cb40f2d893122127, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _ISMASKALPHA
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- Texture2D_176a92298d9144619b5d798e44fa3f30:
m_Texture: {fileID: 2800000, guid: c045e4571aad7524ebda0f2a576730b0, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_4cb1602ca86a4a45b99b211c3809a18b:
m_Texture: {fileID: 2800000, guid: 65a53fcc9429c714d8c05cb3f54c1fa8, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: cbb3844beb390cb48b40ec4b2694e13f, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Mask:
m_Texture: {fileID: 2800000, guid: c5768acf97c9a8d45b5b83b27b1cbc43, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SampleTexture2D_1851ca4df4be466580cbcf4affe0d6f2_Texture_1:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- Vector1_0d9babb9343c4d2690105a88152c8502: 0
- Vector1_161dbfa027c44ab1a3430af5780e64b9: 0
- Vector1_37c1f56f89a545a29e2da845aad03dc8: 0.1
- Vector1_743e70dfe95a4c44b4fd2b5c0b254e6b: 0.3
- Vector1_77cee07d2ebc479b9199721468b51749: 0.5
- Vector1_a4901df360a941faa15f35cc099e9355: 50
- Vector1_d3a2532a72c142f99b386df110b8d031: 0.3
- Vector1_e3e7c13e91184a96b0e2131128e1ee63: 1
- Vector1_fae98ee2204244bb93c4a6a2d68c7592: 0.1
- _AlphaClip: 0
- _BigWindOffset: 0
- _BigWindSpeed: 0
- _Blend: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Clip: 0.1
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _EnvironmentReflections: 1
- _Float: 0.92
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _ISMASKALPHA: 1
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueControl: 0
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _Snownny: 1
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _WindScale: 0
- _WindStrength: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- Color_ed3b33804fe24b65b63dd97a99f4a9e1: {r: 0.53093714, g: 0.754717, b: 0.15307939, a: 1}
- Vector2_20b04faf97e74572bfe225aa3ced7416: {r: 0.18, g: 0.5, b: 0, a: 0}
- Vector2_26e54ed83c7241d385ae01b7c22585a6: {r: -1, g: 30, b: 0, a: 0}
- Vector2_29cdce34a66045b4a5b7bb1d4ac630f5: {r: 1, g: 0.9, b: 0, a: 0}
- Vector2_9c9b3e288dbd4a1bbcda4571fe26e602: {r: 0, g: 45, b: 0, a: 0}
- Vector2_db9447a0c5a244d3b9771c6737aca20c: {r: 0, g: 0.5, b: 0, a: 0}
- Vector2_f4ef9006d16344799ec265e8754723e5: {r: 0.33, g: 0.06, b: 0, a: 0}
- Vector3_1624391471a44e3ebc9227f4ca09e3bf: {r: 0, g: 40, b: 0, a: 0}
- Vector3_5aecd588af7f48d0b3f4d958a316b19d: {r: 0, g: 0, b: 0, a: 0}
- Vector3_c31fb379c3ae4e9692885a5a287c4742: {r: 0, g: -40, b: 0, a: 0}
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _ColorBottom: {r: 0.09344962, g: 0.5660378, b: 0.24872853, a: 1}
- _Color_1: {r: 0.6698113, g: 0.56518763, b: 0.21800458, a: 1}
- _CutoutPosition: {r: 0, g: 0, b: 0, a: 0}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SnowColor: {r: 0.70888215, g: 0.8185839, b: 0.8490566, a: 1}
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
- _Vector3: {r: 0, g: 1, b: 0, a: 0}
- _WindDirA: {r: 0, g: 0, b: 0, a: 0}
- _WindDirB: {r: 0, g: 0, b: 0, a: 0}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &8237895349550093189
MonoBehaviour:
m_ObjectHideFlags: 11
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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 10

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4911adfd2a7a4844f8408189d5143c2c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,182 @@
%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: BambooB
m_Shader: {fileID: -6465566751694194690, guid: efc0d598798d1ce4cb40f2d893122127, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _ISMASKALPHA
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- Texture2D_176a92298d9144619b5d798e44fa3f30:
m_Texture: {fileID: 2800000, guid: c045e4571aad7524ebda0f2a576730b0, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_4cb1602ca86a4a45b99b211c3809a18b:
m_Texture: {fileID: 2800000, guid: 65a53fcc9429c714d8c05cb3f54c1fa8, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: b8b63092499397d469c6e8f39b50b16e, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Mask:
m_Texture: {fileID: 2800000, guid: c5768acf97c9a8d45b5b83b27b1cbc43, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SampleTexture2D_1851ca4df4be466580cbcf4affe0d6f2_Texture_1:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- Vector1_0d9babb9343c4d2690105a88152c8502: 0
- Vector1_161dbfa027c44ab1a3430af5780e64b9: 0
- Vector1_37c1f56f89a545a29e2da845aad03dc8: 0.1
- Vector1_743e70dfe95a4c44b4fd2b5c0b254e6b: 0.3
- Vector1_77cee07d2ebc479b9199721468b51749: 0.5
- Vector1_a4901df360a941faa15f35cc099e9355: 50
- Vector1_d3a2532a72c142f99b386df110b8d031: 0.3
- Vector1_e3e7c13e91184a96b0e2131128e1ee63: 1
- Vector1_fae98ee2204244bb93c4a6a2d68c7592: 0.1
- _AlphaClip: 0
- _BigWindOffset: 0
- _BigWindSpeed: 0
- _Blend: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Clip: 0.1
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _EnvironmentReflections: 1
- _Float: 0
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _ISMASKALPHA: 1
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueControl: 0
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _Snownny: 1
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _WindScale: 0
- _WindStrength: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- Color_ed3b33804fe24b65b63dd97a99f4a9e1: {r: 0.53093714, g: 0.754717, b: 0.15307939, a: 1}
- Vector2_20b04faf97e74572bfe225aa3ced7416: {r: 0.18, g: 0.5, b: 0, a: 0}
- Vector2_26e54ed83c7241d385ae01b7c22585a6: {r: -1, g: 30, b: 0, a: 0}
- Vector2_29cdce34a66045b4a5b7bb1d4ac630f5: {r: 1, g: 0.9, b: 0, a: 0}
- Vector2_9c9b3e288dbd4a1bbcda4571fe26e602: {r: 0, g: 45, b: 0, a: 0}
- Vector2_db9447a0c5a244d3b9771c6737aca20c: {r: 0, g: 0.5, b: 0, a: 0}
- Vector2_f4ef9006d16344799ec265e8754723e5: {r: 0.33, g: 0.06, b: 0, a: 0}
- Vector3_1624391471a44e3ebc9227f4ca09e3bf: {r: 0, g: 40, b: 0, a: 0}
- Vector3_5aecd588af7f48d0b3f4d958a316b19d: {r: 0, g: 0, b: 0, a: 0}
- Vector3_c31fb379c3ae4e9692885a5a287c4742: {r: 0, g: -40, b: 0, a: 0}
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 0.9764151, g: 1, b: 0.9910043, a: 1}
- _ColorBottom: {r: 0.09344962, g: 0.5660378, b: 0.24872853, a: 1}
- _Color_1: {r: 0.6698113, g: 0.56518763, b: 0.21800458, a: 1}
- _CutoutPosition: {r: 0, g: 0, b: 0, a: 0}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SnowColor: {r: 0.70888215, g: 0.8185839, b: 0.8490566, a: 1}
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
- _Vector3: {r: 0, g: 0, b: 1, a: 0}
- _WindDirA: {r: 0, g: 0, b: 0, a: 0}
- _WindDirB: {r: 0, g: 0, b: 0, a: 0}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &8237895349550093189
MonoBehaviour:
m_ObjectHideFlags: 11
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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 10

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: fa75bbaa60f504d45982c77daf3cbaea
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,185 @@
%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: Flower
m_Shader: {fileID: -6465566751694194690, guid: 8a2ac1ebca7ddae40a94251f12707af4, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- Texture2D_176a92298d9144619b5d798e44fa3f30:
m_Texture: {fileID: 2800000, guid: c045e4571aad7524ebda0f2a576730b0, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_4cb1602ca86a4a45b99b211c3809a18b:
m_Texture: {fileID: 2800000, guid: 65a53fcc9429c714d8c05cb3f54c1fa8, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: d5bcf698b994ea14da136460547a881c, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Mask:
m_Texture: {fileID: 2800000, guid: 928ed27a71c25f24585fbf1cb56412fa, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SampleTexture2D_1851ca4df4be466580cbcf4affe0d6f2_Texture_1:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ShadowMask:
m_Texture: {fileID: 2800000, guid: 9330d8ade35b5894fae1502ff804a218, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- Vector1_0d9babb9343c4d2690105a88152c8502: 0
- Vector1_161dbfa027c44ab1a3430af5780e64b9: 0
- Vector1_37c1f56f89a545a29e2da845aad03dc8: 0.1
- Vector1_743e70dfe95a4c44b4fd2b5c0b254e6b: 0.3
- Vector1_77cee07d2ebc479b9199721468b51749: 0.5
- Vector1_a4901df360a941faa15f35cc099e9355: 50
- Vector1_d3a2532a72c142f99b386df110b8d031: 0.3
- Vector1_e3e7c13e91184a96b0e2131128e1ee63: 1
- Vector1_fae98ee2204244bb93c4a6a2d68c7592: 0.1
- _AlphaClip: 0
- _BigWindOffset: 0.1
- _BigWindSpeed: 2
- _Blend: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Clip: 0.1
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _ISGRASSNORMAL: 0
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueControl: 0
- _QueueOffset: 0
- _ReceiveShadows: 1
- _ShadowStrength: 1
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _WindScale: 0
- _WindStrength: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- Color_ed3b33804fe24b65b63dd97a99f4a9e1: {r: 0.53093714, g: 0.754717, b: 0.15307939, a: 1}
- Vector2_20b04faf97e74572bfe225aa3ced7416: {r: 0.18, g: 0.5, b: 0, a: 0}
- Vector2_26e54ed83c7241d385ae01b7c22585a6: {r: -1, g: 30, b: 0, a: 0}
- Vector2_29cdce34a66045b4a5b7bb1d4ac630f5: {r: 1, g: 0.9, b: 0, a: 0}
- Vector2_9c9b3e288dbd4a1bbcda4571fe26e602: {r: 0, g: 45, b: 0, a: 0}
- Vector2_db9447a0c5a244d3b9771c6737aca20c: {r: 0, g: 0.5, b: 0, a: 0}
- Vector2_f4ef9006d16344799ec265e8754723e5: {r: 0.33, g: 0.06, b: 0, a: 0}
- Vector3_1624391471a44e3ebc9227f4ca09e3bf: {r: 0, g: 40, b: 0, a: 0}
- Vector3_5aecd588af7f48d0b3f4d958a316b19d: {r: 0, g: 0, b: 0, a: 0}
- Vector3_c31fb379c3ae4e9692885a5a287c4742: {r: 0, g: -40, b: 0, a: 0}
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _ColorBottom: {r: 0.09344962, g: 0.5660378, b: 0.24872853, a: 1}
- _Color_1: {r: 0.6698113, g: 0.56518763, b: 0.21800458, a: 1}
- _CutoutPosition: {r: 0, g: 0, b: 0, a: 0}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _GrassNormal: {r: 0, g: 0, b: 0, a: 0}
- _ShadowMaskUvTilling: {r: 3.34, g: -13, b: -134, a: 0}
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
- _Vector3: {r: 0, g: 0, b: 1, a: 0}
- _WindDirA: {r: 0, g: 0, b: 0, a: 0}
- _WindDirB: {r: 0, g: 0, b: 0, a: 0}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &8237895349550093189
MonoBehaviour:
m_ObjectHideFlags: 11
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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 10

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a67ba37086fedbd4fb8680eb17408730
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 8a2ac1ebca7ddae40a94251f12707af4
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}

View File

@@ -0,0 +1,42 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GpuCullCamera : MonoBehaviour
{
public static GpuCullCamera inst;
public Camera cam;
Plane[] cameraFrustumPlanes = new Plane[6];
[HideInInspector]
public Vector4[] frustumPlanes = new Vector4[6];
private void OnEnable()
{
inst = this;
cam = Camera.main;
}
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
private void LateUpdate()
{
cameraFrustumPlanes = GeometryUtility.CalculateFrustumPlanes(cam);
for (int i = 0; i < cameraFrustumPlanes.Length; i++)
{
Vector3 normal = -cameraFrustumPlanes[i].normal;
frustumPlanes[i] = new Vector4(normal.x, normal.y, normal.z, -cameraFrustumPlanes[i].distance);
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: e9bd9b1527e7e6848bcdb5a48d265712
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,118 @@
#pragma kernel CSMain
struct InstData
{
float3 pos;
float3 angle;
float3 scale;
};
RWStructuredBuffer<InstData> _InstDataBuffer;
//
float4 _FrustumPlanes[6];
float3 _BoundMin;
float3 _BoundMax;
AppendStructuredBuffer<uint> _CullIDsBuffer;
float4 EularToQuaternion(float3 angle)
{
float X = angle.x * 0.0174532925 / 2;
float Y = angle.y * 0.0174532925 / 2;
float Z = angle.z * 0.0174532925 / 2;
float x = sin(X) * cos(Y) * cos(Z) + cos(X) * sin(Y) * sin(Z);
float y = cos(X) * sin(Y) * cos(Z) - sin(X) * cos(Y) * sin(Z);
float z = cos(X) * cos(Y) * sin(Z) - sin(X) * sin(Y) * cos(Z);
float w = cos(X) * cos(Y) * cos(Z) + sin(X) * sin(Y) * sin(Z);
return float4(x, y, z, w);
}
float4x4 TRSMatrix(float3 position, float4 rotation, float3 scale)
{
float4x4 m = 0.0;
m[0][0] = (1.0 - 2.0 * (rotation.y * rotation.y + rotation.z * rotation.z)) * scale.x;
m[1][0] = (rotation.x * rotation.y + rotation.z * rotation.w) * scale.x * 2.0;
m[2][0] = (rotation.x * rotation.z - rotation.y * rotation.w) * scale.x * 2.0;
m[3][0] = 0.0;
m[0][1] = (rotation.x * rotation.y - rotation.z * rotation.w) * scale.y * 2.0;
m[1][1] = (1.0 - 2.0 * (rotation.x * rotation.x + rotation.z * rotation.z)) * scale.y;
m[2][1] = (rotation.y * rotation.z + rotation.x * rotation.w) * scale.y * 2.0;
m[3][1] = 0.0;
m[0][2] = (rotation.x * rotation.z + rotation.y * rotation.w) * scale.z * 2.0;
m[1][2] = (rotation.y * rotation.z - rotation.x * rotation.w) * scale.z * 2.0;
m[2][2] = (1.0 - 2.0 * (rotation.x * rotation.x + rotation.y * rotation.y)) * scale.z;
m[3][2] = 0.0;
m[0][3] = position.x;
m[1][3] = position.y;
m[2][3] = position.z;
m[3][3] = 1.0;
return m;
}
bool IsOutsideThePlane(float4 plane, float3 position)
{
return dot(plane.xyz, position) + plane.w > 0;
}
void FrustumCull(float index)
{
InstData instData = _InstDataBuffer[index];
//
float4x4 m = TRSMatrix(instData.pos, EularToQuaternion(instData.angle), instData.scale);
float4 boundPoints[8];
boundPoints[0] = mul(m, float4(_BoundMin, 1));
boundPoints[1] = mul(m, float4(_BoundMax, 1));
boundPoints[2] = mul(m, float4(_BoundMax.x, _BoundMax.y, _BoundMin.z, 1));
boundPoints[3] = mul(m, float4(_BoundMax.x, _BoundMin.y, _BoundMax.z, 1));
boundPoints[4] = mul(m, float4(_BoundMax.x, _BoundMin.y, _BoundMin.z, 1));
boundPoints[5] = mul(m, float4(_BoundMin.x, _BoundMax.y, _BoundMax.z, 1));
boundPoints[6] = mul(m, float4(_BoundMin.x, _BoundMax.y, _BoundMin.z, 1));
boundPoints[7] = mul(m, float4(_BoundMin.x, _BoundMin.y, _BoundMax.z, 1));
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 8; j++)
{
float3 p = boundPoints[j].xyz;
if (!IsOutsideThePlane(_FrustumPlanes[i], p))
{
break;
}
if (j == 7)
{
return;
}
}
}
_CullIDsBuffer.Append(index);
}
// We used to just be able to use (1, 1, 1) threads for whatever population (not sure the old limit), but a Unity update
// imposed a thread limit of 65535. Now, to populations above that, we need to be more granular with our threads.
[numthreads(128, 1, 1)]
void CSMain(uint3 id : SV_DispatchThreadID)
{
//Action(id.x);
FrustumCull(id.x);
}

View File

@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: f7376f7c9e4a733438a3cf6840872492
ComputeShaderImporter:
externalObjects: {}
currentAPIMask: 4
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,158 @@
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Rendering;
public class Grass : MonoBehaviour
{
public Mesh mesh;
public Material material;
public Bounds bounds;
public float scaleMult;
public ShadowCastingMode shadowCastingMode;
public bool isReceiveShadow;
public Vector3 objectBoundMin;
public Vector3 objectBoundMax;
public ComputeShader computeShader;
int kernel = 0;
ComputeBuffer instDataBuffer;
ComputeBuffer cullIDsBuffer;
ComputeBuffer argsBuffer;
public Transform root;
List<InstData> dataInfors = new List<InstData>();
private struct InstData
{
public Vector3 pos;
public Vector3 angle;
public Vector3 scale;
//
public static int GetNum()
{
return sizeof(float) * 3 + sizeof(float) * 3 + sizeof(float) * 3;
}
}
private void Start()
{
GetDataInfors();
InitializeBuffers();
}
void GetDataInfors()
{
foreach (Transform t in root.GetComponentInChildren<Transform>())
{
InstData instData = new InstData();
instData.pos = t.position;
instData.angle = t.eulerAngles;
instData.scale = t.localScale * scaleMult;
dataInfors.Add(instData);
//
t.gameObject.SetActive(false);
}
}
private void InitializeBuffers()
{
// Arguments for drawing mesh.
uint[] args = new uint[5] { 0, 0, 0, 0, 0 };
// 0 == number of triangle indices, 1 == count, others are only relevant if drawing submeshes.
args[0] = (uint)mesh.GetIndexCount(0);
args[1] = (uint)dataInfors.Count;
args[2] = (uint)mesh.GetIndexStart(0);
args[3] = (uint)mesh.GetBaseVertex(0);
argsBuffer = new ComputeBuffer(1, args.Length * sizeof(uint), ComputeBufferType.IndirectArguments);
argsBuffer.SetData(args);
// Initialize buffer with the given population.
material = Instantiate(material);
instDataBuffer = new ComputeBuffer(dataInfors.Count, InstData.GetNum());
instDataBuffer.SetData(dataInfors);
material.SetBuffer("_InstDataBuffer", instDataBuffer);
cullIDsBuffer = new ComputeBuffer(dataInfors.Count, sizeof(uint), ComputeBufferType.Append);
material.SetBuffer("_CullIDsBuffer", cullIDsBuffer);
//
computeShader = Instantiate(computeShader);
kernel = computeShader.FindKernel("CSMain");
computeShader.SetBuffer(kernel, "_InstDataBuffer", instDataBuffer);
computeShader.SetVector("_BoundMin", objectBoundMin);
computeShader.SetVector("_BoundMax", objectBoundMax);
computeShader.SetBuffer(kernel, "_CullIDsBuffer", cullIDsBuffer);
}
private void Update()
{
cullIDsBuffer.SetCounterValue(0);
computeShader.SetVectorArray("_FrustumPlanes", GpuCullCamera.inst.frustumPlanes);
computeShader.Dispatch(kernel, Mathf.CeilToInt(dataInfors.Count / 128f), 1, 1);
ComputeBuffer.CopyCount(cullIDsBuffer, argsBuffer, sizeof(uint));
//
Graphics.DrawMeshInstancedIndirect(mesh, 0, material, bounds, argsBuffer, 0, null, shadowCastingMode, isReceiveShadow, LayerMask.NameToLayer("Instance"));
}
private void OnDrawGizmos()
{
Gizmos.color = Color.blue;
Gizmos.DrawWireCube(bounds.center, bounds.size);
}
private void OnDisable()
{
// Release gracefully.
if (instDataBuffer != null)
{
instDataBuffer.Release();
}
instDataBuffer = null;
if (cullIDsBuffer != null)
{
cullIDsBuffer.Release();
}
cullIDsBuffer = null;
if (argsBuffer != null)
{
argsBuffer.Release();
}
argsBuffer = null;
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: dda0ecfe9235c9948b0bbf7c0fac4c04
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,199 @@
%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: Grass
m_Shader: {fileID: -6465566751694194690, guid: c3cf2c1d77918f242876d3e3e43a8267, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- Texture2D_176a92298d9144619b5d798e44fa3f30:
m_Texture: {fileID: 2800000, guid: c045e4571aad7524ebda0f2a576730b0, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_4cb1602ca86a4a45b99b211c3809a18b:
m_Texture: {fileID: 2800000, guid: 65a53fcc9429c714d8c05cb3f54c1fa8, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Mask:
m_Texture: {fileID: 2800000, guid: 5edf21fd1ed167e44824ccf80ceedb4a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SampleTexture2D_1851ca4df4be466580cbcf4affe0d6f2_Texture_1:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SampleTexture2D_eabcc0d5333a40a28bcfbc96d4a7b75b_Texture_1_Texture2D:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ShadowMask:
m_Texture: {fileID: 2800000, guid: 9330d8ade35b5894fae1502ff804a218, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Texture2D:
m_Texture: {fileID: 2800000, guid: 3a9522d5a552c234e81288b4a70a7043, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- Vector1_0d9babb9343c4d2690105a88152c8502: 0
- Vector1_161dbfa027c44ab1a3430af5780e64b9: 0
- Vector1_37c1f56f89a545a29e2da845aad03dc8: 0.1
- Vector1_743e70dfe95a4c44b4fd2b5c0b254e6b: 0.3
- Vector1_77cee07d2ebc479b9199721468b51749: 0.5
- Vector1_a4901df360a941faa15f35cc099e9355: 50
- Vector1_d3a2532a72c142f99b386df110b8d031: 0.3
- Vector1_e3e7c13e91184a96b0e2131128e1ee63: 1
- Vector1_fae98ee2204244bb93c4a6a2d68c7592: 0.1
- _AlphaClip: 0
- _BigWindOffset: 0
- _BigWindSpeed: 0
- _Blend: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Clip: 0.1
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _EnvironmentReflections: 1
- _Float: 0.5
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueControl: 0
- _QueueOffset: 0
- _ReceiveShadows: 1
- _ShadowStrength: 1
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _Snownny: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _WindScale: 0
- _WindStrength: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- Color_ed3b33804fe24b65b63dd97a99f4a9e1: {r: 0.3775324, g: 0.5568628, b: 0.23921567, a: 1}
- Vector2_20b04faf97e74572bfe225aa3ced7416: {r: 0.18, g: 0.5, b: 0, a: 0}
- Vector2_26e54ed83c7241d385ae01b7c22585a6: {r: -1, g: 30, b: 0, a: 0}
- Vector2_29cdce34a66045b4a5b7bb1d4ac630f5: {r: 1, g: 0.9, b: 0, a: 0}
- Vector2_9c9b3e288dbd4a1bbcda4571fe26e602: {r: 0, g: 45, b: 0, a: 0}
- Vector2_db9447a0c5a244d3b9771c6737aca20c: {r: 0, g: 0.5, b: 0, a: 0}
- Vector2_f4ef9006d16344799ec265e8754723e5: {r: 0.33, g: 0.06, b: 0, a: 0}
- Vector3_1624391471a44e3ebc9227f4ca09e3bf: {r: 0, g: 40, b: 0, a: 0}
- Vector3_5aecd588af7f48d0b3f4d958a316b19d: {r: 0, g: 0, b: 0, a: 0}
- Vector3_c31fb379c3ae4e9692885a5a287c4742: {r: 0, g: -40, b: 0, a: 0}
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _ColorBottom: {r: 0.14509805, g: 0.34901962, b: 0.20069829, a: 1}
- _Color_1: {r: 0.6698113, g: 0.56518763, b: 0.21800458, a: 1}
- _CutoutPosition: {r: 0, g: 0, b: 0, a: 0}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _GrassNormal: {r: 0, g: 0, b: 1, a: 0}
- _ShadowMaskUvOffset: {r: 0, g: 0.875, b: 0, a: 0}
- _ShadowMaskUvScale: {r: 0.0035, g: 0.0035, b: 0, a: 0}
- _ShadowMaskUvTilling: {r: 3.34, g: -13, b: -134, a: 0}
- _SnowColor: {r: 0.70888215, g: 0.8185839, b: 0.8490566, a: 1}
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
- _Vector2: {r: 0, g: 0.875, b: 0, a: 0}
- _Vector3: {r: 0, g: 0, b: 1, a: 0}
- _WindDirA: {r: 0, g: 0, b: 0, a: 0}
- _WindDirB: {r: 0, g: 0, b: 0, a: 0}
- _uvmask: {r: 0.0035, g: 0.0035, b: 0, a: 0}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &8237895349550093189
MonoBehaviour:
m_ObjectHideFlags: 11
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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 10

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 738b76ea23f9dce46b0647c42f529ddc
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: c3cf2c1d77918f242876d3e3e43a8267
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}

View File

@@ -0,0 +1,111 @@
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Rendering;
public class GrassTest : MonoBehaviour
{
public Mesh mesh;
public Material material;
public Bounds bounds;
public float scaleMult;
public ShadowCastingMode shadowCastingMode;
public bool isReceiveShadow;
private ComputeBuffer instDataBuffer;
private ComputeBuffer argsBuffer;
// Mesh Properties struct to be read from the GPU.
// Size() is a convenience funciton which returns the stride of the struct.
public Transform root;
List<InstData> dataInfors = new List<InstData>();
private struct InstData
{
public Vector3 pos;
public Vector3 angle;
public Vector3 scale;
//
public static int GetNum()
{
return sizeof(float) * 3 + sizeof(float) * 3 + sizeof(float) * 3;
}
}
private void Start()
{
GetDataInfors();
InitializeBuffers();
}
private void Update()
{
Graphics.DrawMeshInstancedIndirect(mesh, 0, material, bounds, argsBuffer, 0, null, shadowCastingMode, isReceiveShadow, LayerMask.NameToLayer("Instance"));
}
void GetDataInfors()
{
foreach (Transform t in root.GetComponentInChildren<Transform>())
{
InstData instData = new InstData();
instData.pos = t.position;
instData.angle = t.eulerAngles;
instData.scale = t.localScale * scaleMult;
dataInfors.Add(instData);
//
t.gameObject.SetActive(false);
}
}
private void InitializeBuffers()
{
// Argument buffer used by DrawMeshInstancedIndirect.
uint[] args = new uint[5] { 0, 0, 0, 0, 0 };
// Arguments for drawing mesh.
// 0 == number of triangle indices, 1 == population, others are only relevant if drawing submeshes.
args[0] = (uint)mesh.GetIndexCount(0);
args[1] = (uint)dataInfors.Count;
args[2] = (uint)mesh.GetIndexStart(0);
args[3] = (uint)mesh.GetBaseVertex(0);
argsBuffer = new ComputeBuffer(1, args.Length * sizeof(uint), ComputeBufferType.IndirectArguments);
argsBuffer.SetData(args);
// Initialize buffer with the given population.
instDataBuffer = new ComputeBuffer(dataInfors.Count, InstData.GetNum());
instDataBuffer.SetData(dataInfors);
material = Instantiate(material);
material.SetBuffer("_InstDataBuffer", instDataBuffer);
}
private void OnDisable()
{
// Release gracefully.
if (instDataBuffer != null)
{
instDataBuffer.Release();
}
instDataBuffer = null;
if (argsBuffer != null)
{
argsBuffer.Release();
}
argsBuffer = null;
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: c34fdd1f8d2a7e94fb5114e9a7a8d86e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,185 @@
%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: Siyecao
m_Shader: {fileID: -6465566751694194690, guid: 8a2ac1ebca7ddae40a94251f12707af4, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- Texture2D_176a92298d9144619b5d798e44fa3f30:
m_Texture: {fileID: 2800000, guid: c045e4571aad7524ebda0f2a576730b0, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_4cb1602ca86a4a45b99b211c3809a18b:
m_Texture: {fileID: 2800000, guid: 65a53fcc9429c714d8c05cb3f54c1fa8, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: d5bcf698b994ea14da136460547a881c, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Mask:
m_Texture: {fileID: 2800000, guid: 928ed27a71c25f24585fbf1cb56412fa, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SampleTexture2D_1851ca4df4be466580cbcf4affe0d6f2_Texture_1:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ShadowMask:
m_Texture: {fileID: 2800000, guid: 9330d8ade35b5894fae1502ff804a218, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- Vector1_0d9babb9343c4d2690105a88152c8502: 0
- Vector1_161dbfa027c44ab1a3430af5780e64b9: 0
- Vector1_37c1f56f89a545a29e2da845aad03dc8: 0.1
- Vector1_743e70dfe95a4c44b4fd2b5c0b254e6b: 0.3
- Vector1_77cee07d2ebc479b9199721468b51749: 0.5
- Vector1_a4901df360a941faa15f35cc099e9355: 50
- Vector1_d3a2532a72c142f99b386df110b8d031: 0.3
- Vector1_e3e7c13e91184a96b0e2131128e1ee63: 1
- Vector1_fae98ee2204244bb93c4a6a2d68c7592: 0.1
- _AlphaClip: 0
- _BigWindOffset: 0.1
- _BigWindSpeed: 2
- _Blend: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Clip: 0.1
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _ISGRASSNORMAL: 0
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueControl: 0
- _QueueOffset: 0
- _ReceiveShadows: 1
- _ShadowStrength: 0.1
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _WindScale: 0
- _WindStrength: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- Color_ed3b33804fe24b65b63dd97a99f4a9e1: {r: 0.53093714, g: 0.754717, b: 0.15307939, a: 1}
- Vector2_20b04faf97e74572bfe225aa3ced7416: {r: 0.18, g: 0.5, b: 0, a: 0}
- Vector2_26e54ed83c7241d385ae01b7c22585a6: {r: -1, g: 30, b: 0, a: 0}
- Vector2_29cdce34a66045b4a5b7bb1d4ac630f5: {r: 1, g: 0.9, b: 0, a: 0}
- Vector2_9c9b3e288dbd4a1bbcda4571fe26e602: {r: 0, g: 45, b: 0, a: 0}
- Vector2_db9447a0c5a244d3b9771c6737aca20c: {r: 0, g: 0.5, b: 0, a: 0}
- Vector2_f4ef9006d16344799ec265e8754723e5: {r: 0.33, g: 0.06, b: 0, a: 0}
- Vector3_1624391471a44e3ebc9227f4ca09e3bf: {r: 0, g: 40, b: 0, a: 0}
- Vector3_5aecd588af7f48d0b3f4d958a316b19d: {r: 0, g: 0, b: 0, a: 0}
- Vector3_c31fb379c3ae4e9692885a5a287c4742: {r: 0, g: -40, b: 0, a: 0}
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _ColorBottom: {r: 0.09344962, g: 0.5660378, b: 0.24872853, a: 1}
- _Color_1: {r: 0.6698113, g: 0.56518763, b: 0.21800458, a: 1}
- _CutoutPosition: {r: 0, g: 0, b: 0, a: 0}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _GrassNormal: {r: 0, g: 0, b: 0, a: 0}
- _ShadowMaskUvTilling: {r: 3.34, g: -13, b: -134, a: 0}
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
- _Vector3: {r: 0, g: 0, b: 1, a: 0}
- _WindDirA: {r: 0.1, g: 0, b: -0.2, a: 0}
- _WindDirB: {r: -0.3, g: 0, b: 0.2, a: 0}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &8237895349550093189
MonoBehaviour:
m_ObjectHideFlags: 11
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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 10

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 86d1707ef43362c4abd10dfd180bf585
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: efc0d598798d1ce4cb40f2d893122127
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}

View File

@@ -0,0 +1,182 @@
%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: TreeA
m_Shader: {fileID: -6465566751694194690, guid: efc0d598798d1ce4cb40f2d893122127, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _ISMASKALPHA
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- Texture2D_176a92298d9144619b5d798e44fa3f30:
m_Texture: {fileID: 2800000, guid: c045e4571aad7524ebda0f2a576730b0, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_4cb1602ca86a4a45b99b211c3809a18b:
m_Texture: {fileID: 2800000, guid: 65a53fcc9429c714d8c05cb3f54c1fa8, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: ea60a248b028f0443aefa2425f94ef68, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Mask:
m_Texture: {fileID: 2800000, guid: ab5ba0bb0b7f69649917887d3190cc92, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SampleTexture2D_1851ca4df4be466580cbcf4affe0d6f2_Texture_1:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- Vector1_0d9babb9343c4d2690105a88152c8502: 0
- Vector1_161dbfa027c44ab1a3430af5780e64b9: 0
- Vector1_37c1f56f89a545a29e2da845aad03dc8: 0.1
- Vector1_743e70dfe95a4c44b4fd2b5c0b254e6b: 0.3
- Vector1_77cee07d2ebc479b9199721468b51749: 0.5
- Vector1_a4901df360a941faa15f35cc099e9355: 50
- Vector1_d3a2532a72c142f99b386df110b8d031: 0.3
- Vector1_e3e7c13e91184a96b0e2131128e1ee63: 1
- Vector1_fae98ee2204244bb93c4a6a2d68c7592: 0.1
- _AlphaClip: 0
- _BigWindOffset: 0
- _BigWindSpeed: 1
- _Blend: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Clip: 0.1
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _EnvironmentReflections: 1
- _Float: 0
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _ISMASKALPHA: 1
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueControl: 0
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _Snownny: 1
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _WindScale: 0
- _WindStrength: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- Color_ed3b33804fe24b65b63dd97a99f4a9e1: {r: 0.53093714, g: 0.754717, b: 0.15307939, a: 1}
- Vector2_20b04faf97e74572bfe225aa3ced7416: {r: 0.18, g: 0.5, b: 0, a: 0}
- Vector2_26e54ed83c7241d385ae01b7c22585a6: {r: -1, g: 30, b: 0, a: 0}
- Vector2_29cdce34a66045b4a5b7bb1d4ac630f5: {r: 1, g: 0.9, b: 0, a: 0}
- Vector2_9c9b3e288dbd4a1bbcda4571fe26e602: {r: 0, g: 45, b: 0, a: 0}
- Vector2_db9447a0c5a244d3b9771c6737aca20c: {r: 0, g: 0.5, b: 0, a: 0}
- Vector2_f4ef9006d16344799ec265e8754723e5: {r: 0.33, g: 0.06, b: 0, a: 0}
- Vector3_1624391471a44e3ebc9227f4ca09e3bf: {r: 0, g: 40, b: 0, a: 0}
- Vector3_5aecd588af7f48d0b3f4d958a316b19d: {r: 0, g: 0, b: 0, a: 0}
- Vector3_c31fb379c3ae4e9692885a5a287c4742: {r: 0, g: -40, b: 0, a: 0}
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 0.99799246, b: 0.9858491, a: 1}
- _ColorBottom: {r: 0.09344962, g: 0.5660378, b: 0.24872853, a: 1}
- _Color_1: {r: 0.6698113, g: 0.56518763, b: 0.21800458, a: 1}
- _CutoutPosition: {r: 0, g: 0, b: 0, a: 0}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SnowColor: {r: 0.70888215, g: 0.8185839, b: 0.8490566, a: 1}
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
- _Vector3: {r: 0, g: 0, b: 1, a: 0}
- _WindDirA: {r: 0, g: 0, b: 0, a: 0}
- _WindDirB: {r: 0, g: 0, b: 0, a: 0}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &8237895349550093189
MonoBehaviour:
m_ObjectHideFlags: 11
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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 10

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 3924c8c9b8c754d4fbf4f6bf41e6cc98
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,182 @@
%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: TreeB
m_Shader: {fileID: -6465566751694194690, guid: efc0d598798d1ce4cb40f2d893122127, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _ISMASKALPHA
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- Texture2D_176a92298d9144619b5d798e44fa3f30:
m_Texture: {fileID: 2800000, guid: c045e4571aad7524ebda0f2a576730b0, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_4cb1602ca86a4a45b99b211c3809a18b:
m_Texture: {fileID: 2800000, guid: 65a53fcc9429c714d8c05cb3f54c1fa8, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: 6913b8006d3ad0b4cbf00d0251adf1f7, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Mask:
m_Texture: {fileID: 2800000, guid: f4d0c8b3a8e415f4492f11f9d11a49dc, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SampleTexture2D_1851ca4df4be466580cbcf4affe0d6f2_Texture_1:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- Vector1_0d9babb9343c4d2690105a88152c8502: 0
- Vector1_161dbfa027c44ab1a3430af5780e64b9: 0
- Vector1_37c1f56f89a545a29e2da845aad03dc8: 0.1
- Vector1_743e70dfe95a4c44b4fd2b5c0b254e6b: 0.3
- Vector1_77cee07d2ebc479b9199721468b51749: 0.5
- Vector1_a4901df360a941faa15f35cc099e9355: 50
- Vector1_d3a2532a72c142f99b386df110b8d031: 0.3
- Vector1_e3e7c13e91184a96b0e2131128e1ee63: 1
- Vector1_fae98ee2204244bb93c4a6a2d68c7592: 0.1
- _AlphaClip: 0
- _BigWindOffset: 0
- _BigWindSpeed: 1
- _Blend: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Clip: 0.1
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _EnvironmentReflections: 1
- _Float: 0
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _ISMASKALPHA: 1
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueControl: 0
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _Snownny: 1
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _WindScale: 0
- _WindStrength: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- Color_ed3b33804fe24b65b63dd97a99f4a9e1: {r: 0.53093714, g: 0.754717, b: 0.15307939, a: 1}
- Vector2_20b04faf97e74572bfe225aa3ced7416: {r: 0.18, g: 0.5, b: 0, a: 0}
- Vector2_26e54ed83c7241d385ae01b7c22585a6: {r: -1, g: 30, b: 0, a: 0}
- Vector2_29cdce34a66045b4a5b7bb1d4ac630f5: {r: 1, g: 0.9, b: 0, a: 0}
- Vector2_9c9b3e288dbd4a1bbcda4571fe26e602: {r: 0, g: 45, b: 0, a: 0}
- Vector2_db9447a0c5a244d3b9771c6737aca20c: {r: 0, g: 0.5, b: 0, a: 0}
- Vector2_f4ef9006d16344799ec265e8754723e5: {r: 0.33, g: 0.06, b: 0, a: 0}
- Vector3_1624391471a44e3ebc9227f4ca09e3bf: {r: 0, g: 40, b: 0, a: 0}
- Vector3_5aecd588af7f48d0b3f4d958a316b19d: {r: 0, g: 0, b: 0, a: 0}
- Vector3_c31fb379c3ae4e9692885a5a287c4742: {r: 0, g: -40, b: 0, a: 0}
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 0.96254194, b: 0.9198113, a: 1}
- _ColorBottom: {r: 0.09344962, g: 0.5660378, b: 0.24872853, a: 1}
- _Color_1: {r: 0.6698113, g: 0.56518763, b: 0.21800458, a: 1}
- _CutoutPosition: {r: 0, g: 0, b: 0, a: 0}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SnowColor: {r: 0.70888215, g: 0.8185839, b: 0.8490566, a: 1}
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
- _Vector3: {r: 0, g: 0, b: 1, a: 0}
- _WindDirA: {r: 0.41, g: 0, b: -0.2, a: 0}
- _WindDirB: {r: -0.3, g: 0, b: 0.2, a: 0}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &8237895349550093189
MonoBehaviour:
m_ObjectHideFlags: 11
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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 10

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a2314e58151d0de42acac09b55a1dc8a
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,187 @@
%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: Tuantuancao
m_Shader: {fileID: -6465566751694194690, guid: 8a2ac1ebca7ddae40a94251f12707af4, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- Texture2D_176a92298d9144619b5d798e44fa3f30:
m_Texture: {fileID: 2800000, guid: c045e4571aad7524ebda0f2a576730b0, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_4cb1602ca86a4a45b99b211c3809a18b:
m_Texture: {fileID: 2800000, guid: 65a53fcc9429c714d8c05cb3f54c1fa8, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: b9311a472cdfbc54a9cda34911d0690e, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Mask:
m_Texture: {fileID: 2800000, guid: 415a4e49b9f1e264baab1320a963cd60, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SampleTexture2D_1851ca4df4be466580cbcf4affe0d6f2_Texture_1:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ShadowMask:
m_Texture: {fileID: 2800000, guid: 9e4738c76838436448758b302c744cfe, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- Vector1_0d9babb9343c4d2690105a88152c8502: 0
- Vector1_161dbfa027c44ab1a3430af5780e64b9: 0
- Vector1_37c1f56f89a545a29e2da845aad03dc8: 0.1
- Vector1_743e70dfe95a4c44b4fd2b5c0b254e6b: 0.3
- Vector1_77cee07d2ebc479b9199721468b51749: 0.5
- Vector1_a4901df360a941faa15f35cc099e9355: 50
- Vector1_d3a2532a72c142f99b386df110b8d031: 0.3
- Vector1_e3e7c13e91184a96b0e2131128e1ee63: 1
- Vector1_fae98ee2204244bb93c4a6a2d68c7592: 0.1
- _AlphaClip: 0
- _BigWindOffset: 0
- _BigWindSpeed: 0
- _Blend: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Clip: 0.1
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _ISGRASSNORMAL: 0
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueControl: 0
- _QueueOffset: 0
- _ReceiveShadows: 1
- _ShadowStrength: 1
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _Snownny: 1
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _WindScale: 0
- _WindStrength: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- Color_ed3b33804fe24b65b63dd97a99f4a9e1: {r: 0.53093714, g: 0.754717, b: 0.15307939, a: 1}
- Vector2_20b04faf97e74572bfe225aa3ced7416: {r: 0.18, g: 0.5, b: 0, a: 0}
- Vector2_26e54ed83c7241d385ae01b7c22585a6: {r: -1, g: 30, b: 0, a: 0}
- Vector2_29cdce34a66045b4a5b7bb1d4ac630f5: {r: 1, g: 0.9, b: 0, a: 0}
- Vector2_9c9b3e288dbd4a1bbcda4571fe26e602: {r: 0, g: 45, b: 0, a: 0}
- Vector2_db9447a0c5a244d3b9771c6737aca20c: {r: 0, g: 0.5, b: 0, a: 0}
- Vector2_f4ef9006d16344799ec265e8754723e5: {r: 0.33, g: 0.06, b: 0, a: 0}
- Vector3_1624391471a44e3ebc9227f4ca09e3bf: {r: 0, g: 40, b: 0, a: 0}
- Vector3_5aecd588af7f48d0b3f4d958a316b19d: {r: 0, g: 0, b: 0, a: 0}
- Vector3_c31fb379c3ae4e9692885a5a287c4742: {r: 0, g: -40, b: 0, a: 0}
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _ColorBottom: {r: 0.09344962, g: 0.5660378, b: 0.24872853, a: 1}
- _Color_1: {r: 0.6698113, g: 0.56518763, b: 0.21800458, a: 1}
- _CutoutPosition: {r: 0, g: 0, b: 0, a: 0}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _GrassNormal: {r: 0, g: 0, b: 0, a: 0}
- _ShadowMaskUvTilling: {r: 3.34, g: -13, b: -134, a: 0}
- _SnowColor: {r: 0.70888215, g: 0.8185839, b: 0.8490566, a: 1}
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
- _Vector3: {r: 0, g: 0, b: 1, a: 0}
- _WindDirA: {r: 0, g: 0, b: 0, a: 0}
- _WindDirB: {r: 0, g: 0, b: 0, a: 0}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &8237895349550093189
MonoBehaviour:
m_ObjectHideFlags: 11
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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 10

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 53fd7a0b14aff6d47b65efd653813cd0
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,99 @@
//https://gist.github.com/ArieLeo/d7e6bc5485caa9ba99cd3a59d0f53404
#ifndef SHADER_GRAPH_SUPPORT_H
#define SHADER_GRAPH_SUPPORT_H
// You could also upload the model matrix
struct InstData
{
float3 pos;
float3 angle;
float3 scale;
};
StructuredBuffer<InstData> _InstDataBuffer;
StructuredBuffer<uint> _CullIDsBuffer;
float4 EularToQuaternion(float3 angle)
{
float X = angle.x * 0.0174532925 / 2;
float Y = angle.y * 0.0174532925 / 2;
float Z = angle.z * 0.0174532925 / 2;
float x = sin(X) * cos(Y) * cos(Z) + cos(X) * sin(Y) * sin(Z);
float y = cos(X) * sin(Y) * cos(Z) - sin(X) * cos(Y) * sin(Z);
float z = cos(X) * cos(Y) * sin(Z) - sin(X) * sin(Y) * cos(Z);
float w = cos(X) * cos(Y) * cos(Z) + sin(X) * sin(Y) * sin(Z);
return float4(x, y, z, w);
}
float4x4 TRSMatrix(float3 position, float3 angle, float3 scale)
{
float4 rotation = EularToQuaternion(angle);
float4x4 m = 0.0;
m[0][0] = (1.0 - 2.0 * (rotation.y * rotation.y + rotation.z * rotation.z)) * scale.x;
m[1][0] = (rotation.x * rotation.y + rotation.z * rotation.w) * scale.x * 2.0;
m[2][0] = (rotation.x * rotation.z - rotation.y * rotation.w) * scale.x * 2.0;
m[3][0] = 0.0;
m[0][1] = (rotation.x * rotation.y - rotation.z * rotation.w) * scale.y * 2.0;
m[1][1] = (1.0 - 2.0 * (rotation.x * rotation.x + rotation.z * rotation.z)) * scale.y;
m[2][1] = (rotation.y * rotation.z + rotation.x * rotation.w) * scale.y * 2.0;
m[3][1] = 0.0;
m[0][2] = (rotation.x * rotation.z + rotation.y * rotation.w) * scale.z * 2.0;
m[1][2] = (rotation.y * rotation.z - rotation.x * rotation.w) * scale.z * 2.0;
m[2][2] = (1.0 - 2.0 * (rotation.x * rotation.x + rotation.y * rotation.y)) * scale.z;
m[3][2] = 0.0;
m[0][3] = position.x;
m[1][3] = position.y;
m[2][3] = position.z;
m[3][3] = 1.0;
return m;
}
inline void SetUnityMatrices(uint instanceID, inout float4x4 objectToWorld, inout float4x4 worldToObject)
{
#if UNITY_ANY_INSTANCING_ENABLED
//Get Data
InstData instData = _InstDataBuffer[_CullIDsBuffer[instanceID]];
//InstData instData = _InstDataBuffer[instanceID];
//Build Matrix
objectToWorld = mul(objectToWorld, TRSMatrix(instData.pos, instData.angle, instData.scale));
//objectToWorld = mul(objectToWorld, instData.mat);
//Transform objectToWorld
float3x3 w2oRotation;
w2oRotation[0] = objectToWorld[1].yzx * objectToWorld[2].zxy - objectToWorld[1].zxy * objectToWorld[2].yzx;
w2oRotation[1] = objectToWorld[0].zxy * objectToWorld[2].yzx - objectToWorld[0].yzx * objectToWorld[2].zxy;
w2oRotation[2] = objectToWorld[0].yzx * objectToWorld[1].zxy - objectToWorld[0].zxy * objectToWorld[1].yzx;
float det = dot(objectToWorld[0].xyz, w2oRotation[0]);
w2oRotation = transpose(w2oRotation);
w2oRotation *= rcp(det);
float3 w2oPosition = mul(w2oRotation, -objectToWorld._14_24_34);
worldToObject._11_21_31_41 = float4(w2oRotation._11_21_31, 0.0f);
worldToObject._12_22_32_42 = float4(w2oRotation._12_22_32, 0.0f);
worldToObject._13_23_33_43 = float4(w2oRotation._13_23_33, 0.0f);
worldToObject._14_24_34_44 = float4(w2oPosition, 1.0f);
#endif
}
void grassPassThroughVec3_float(in float3 In, out float3 Out)
{
Out = In;
}
void setup()
{
#if UNITY_ANY_INSTANCING_ENABLED
SetUnityMatrices(unity_InstanceID, unity_ObjectToWorld, unity_WorldToObject);
#endif
}
#endif

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 15fc50f03ee376e459c6ae932e9b4dd7
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 KiB

View File

@@ -0,0 +1,179 @@
fileFormatVersion: 2
guid: 9e4738c76838436448758b302c744cfe
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 2
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant: