Add shaders

This commit is contained in:
Williams
2026-05-19 15:33:18 +02:00
committed by Lucien
parent 593c2e75b2
commit cd9df45d08
1358 changed files with 2429155 additions and 0 deletions
+188
View File
@@ -0,0 +1,188 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-1050748995529062934
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: 7
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: M_SeaShells
m_Shader: {fileID: -6465566751694194690, guid: 1caa1cbf1210e6f46b59e4604b348b46,
type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords:
- _DISABLE_SSR_TRANSPARENT
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2225
stringTagMap:
MotionVector: User
RenderType: Opaque
disabledShaderPasses:
- TransparentDepthPrepass
- TransparentDepthPostpass
- TransparentBackface
- RayTracingPrepass
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 2800000, guid: abc00000000014088773072043029803, type: 3}
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}
- _EmissiveMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _GrayScaleMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MRA:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMap:
m_Texture: {fileID: 2800000, guid: abc00000000008170224283528559472, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ORM:
m_Texture: {fileID: 2800000, guid: abc00000000010966804995486856963, 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:
- _AOIntensity: 1
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaCutoffEnable: 0
- _AlphaDstBlend: 0
- _AlphaSrcBlend: 1
- _AlphaToMask: 0
- _AlphaToMaskInspectorValue: 0
- _BaseNormalStrength: 1
- _BaseTintIntensity: 1
- _Blend: 0
- _BlendMode: 0
- _CastShadows: 1
- _ConservativeDepthOffsetEnable: 0
- _Contrast: 1
- _Cull: 2
- _CullMode: 2
- _CullModeForward: 2
- _DepthOffsetEnable: 0
- _DetailNormalStrength: 0
- _DetailNormalTiling: 1
- _DoubleSidedEnable: 0
- _DoubleSidedGIMode: 0
- _DoubleSidedNormalMode: 2
- _DstBlend: 0
- _EmissiveIntensity: 0
- _EnableBlendModePreserveSpecularLighting: 1
- _EnableFogOnTransparent: 1
- _MaskContrast: 1
- _MaskPower: 0.5
- _MaskSize: 2048
- _MetallicIntensity: 1
- _NormalStrength: 1
- _OpacityIntensity: 1
- _OpaqueCullMode: 2
- _QueueControl: 1
- _QueueOffset: 0
- _RayTracing: 0
- _ReceiveShadows: 1
- _ReceivesSSR: 1
- _ReceivesSSRTransparent: 0
- _RefractionModel: 0
- _RenderQueueType: 1
- _RequireSplitLighting: 0
- _RoughnessIntensity: 1.5
- _SrcBlend: 1
- _StencilRef: 0
- _StencilRefDepth: 8
- _StencilRefDistortionVec: 4
- _StencilRefGBuffer: 10
- _StencilRefMV: 40
- _StencilWriteMask: 6
- _StencilWriteMaskDepth: 8
- _StencilWriteMaskDistortionVec: 4
- _StencilWriteMaskGBuffer: 14
- _StencilWriteMaskMV: 40
- _SupportDecals: 1
- _Surface: 0
- _SurfaceType: 0
- _TransparentBackfaceEnable: 0
- _TransparentCullMode: 2
- _TransparentDepthPostpassEnable: 0
- _TransparentDepthPrepassEnable: 0
- _TransparentSortPriority: 0
- _TransparentWritingMotionVec: 0
- _TransparentZWrite: 0
- _UV_Tiling: 1
- _UseAOMap: 1
- _UseMask: 0
- _UseOpacity: 0
- _UseShadowThreshold: 0
- _WorkflowMode: 1
- _ZTest: 4
- _ZTestDepthEqualForOpaque: 3
- _ZTestGBuffer: 4
- _ZTestTransparent: 4
- _ZWrite: 1
- _ZWriteControl: 0
m_Colors:
- _BaseTint: {r: 1, g: 1, b: 1, a: 0}
- _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0}
- _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
m_BuildTextureStacks: []
--- !u!114 &2729580817515540645
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: da692e001514ec24dbc4cca1949ff7e8, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 12
hdPluginSubTargetMaterialVersions:
m_Keys: []
m_Values:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 14a7b65516ffef04790bfcb14b8bcba4
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
+188
View File
@@ -0,0 +1,188 @@
%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: M_Starfish
m_Shader: {fileID: -6465566751694194690, guid: 1caa1cbf1210e6f46b59e4604b348b46,
type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords:
- _DISABLE_SSR_TRANSPARENT
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2225
stringTagMap:
MotionVector: User
RenderType: Opaque
disabledShaderPasses:
- TransparentDepthPrepass
- TransparentDepthPostpass
- TransparentBackface
- RayTracingPrepass
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 2800000, guid: abc00000000013369839432732347851, type: 3}
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}
- _EmissiveMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _GrayScaleMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MRA:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMap:
m_Texture: {fileID: 2800000, guid: abc00000000014557206704945075280, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ORM:
m_Texture: {fileID: 2800000, guid: abc00000000009481427868432583651, 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:
- _AOIntensity: 1
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaCutoffEnable: 0
- _AlphaDstBlend: 0
- _AlphaSrcBlend: 1
- _AlphaToMask: 0
- _AlphaToMaskInspectorValue: 0
- _BaseNormalStrength: 1
- _BaseTintIntensity: 1
- _Blend: 0
- _BlendMode: 0
- _CastShadows: 1
- _ConservativeDepthOffsetEnable: 0
- _Contrast: 1
- _Cull: 2
- _CullMode: 2
- _CullModeForward: 2
- _DepthOffsetEnable: 0
- _DetailNormalStrength: 0
- _DetailNormalTiling: 1
- _DoubleSidedEnable: 0
- _DoubleSidedGIMode: 0
- _DoubleSidedNormalMode: 2
- _DstBlend: 0
- _EmissiveIntensity: 0
- _EnableBlendModePreserveSpecularLighting: 1
- _EnableFogOnTransparent: 1
- _MaskContrast: 1
- _MaskPower: 0.5
- _MaskSize: 2048
- _MetallicIntensity: 1
- _NormalStrength: 1
- _OpacityIntensity: 1
- _OpaqueCullMode: 2
- _QueueControl: 1
- _QueueOffset: 0
- _RayTracing: 0
- _ReceiveShadows: 1
- _ReceivesSSR: 1
- _ReceivesSSRTransparent: 0
- _RefractionModel: 0
- _RenderQueueType: 1
- _RequireSplitLighting: 0
- _RoughnessIntensity: 1
- _SrcBlend: 1
- _StencilRef: 0
- _StencilRefDepth: 8
- _StencilRefDistortionVec: 4
- _StencilRefGBuffer: 10
- _StencilRefMV: 40
- _StencilWriteMask: 6
- _StencilWriteMaskDepth: 8
- _StencilWriteMaskDistortionVec: 4
- _StencilWriteMaskGBuffer: 14
- _StencilWriteMaskMV: 40
- _SupportDecals: 1
- _Surface: 0
- _SurfaceType: 0
- _TransparentBackfaceEnable: 0
- _TransparentCullMode: 2
- _TransparentDepthPostpassEnable: 0
- _TransparentDepthPrepassEnable: 0
- _TransparentSortPriority: 0
- _TransparentWritingMotionVec: 0
- _TransparentZWrite: 0
- _UV_Tiling: 1
- _UseAOMap: 1
- _UseMask: 0
- _UseOpacity: 0
- _UseShadowThreshold: 0
- _WorkflowMode: 1
- _ZTest: 4
- _ZTestDepthEqualForOpaque: 3
- _ZTestGBuffer: 4
- _ZTestTransparent: 4
- _ZWrite: 1
- _ZWriteControl: 0
m_Colors:
- _BaseTint: {r: 1, g: 1, b: 1, a: 0}
- _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0}
- _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
m_BuildTextureStacks: []
--- !u!114 &2729580817515540645
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: da692e001514ec24dbc4cca1949ff7e8, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 12
hdPluginSubTargetMaterialVersions:
m_Keys: []
m_Values:
--- !u!114 &6128591167654687281
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: 7
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a7071aa932ce4974099869517e265431
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
+127
View File
@@ -0,0 +1,127 @@
%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: M_SeaShells
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_ValidKeywords:
- _NORMALMAP
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 2800000, guid: abc00000000014088773072043029803, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 2800000, guid: abc00000000008170224283528559472, type: 3}
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: abc00000000014088773072043029803, 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}
- _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:
- _AlphaClip: 0
- _Blend: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0.8, g: 0.8, b: 0.8, a: 1}
- _Color: {r: 0.8, g: 0.8, b: 0.8, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
--- !u!114 &1404482569780146929
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: 5
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 50381706b3f9ae04bb66ff79308fa9ba
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
+127
View File
@@ -0,0 +1,127 @@
%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: M_Starfish
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_ValidKeywords:
- _NORMALMAP
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 2800000, guid: abc00000000013369839432732347851, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 2800000, guid: abc00000000014557206704945075280, type: 3}
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: abc00000000013369839432732347851, 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}
- _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:
- _AlphaClip: 0
- _Blend: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0.8, g: 0.8, b: 0.8, a: 1}
- _Color: {r: 0.8, g: 0.8, b: 0.8, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
--- !u!114 &6748809086508997571
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: 5
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c4052b7ff8512de4f8610c9136723c70
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.
@@ -0,0 +1,169 @@
fileFormatVersion: 2
guid: abc00000000015243169230931071009
ModelImporter:
serializedVersion: 21300
internalIDToNameTable:
- first:
1: 100000
second: //RootNode
- first:
1: 100002
second: SM_ShellClam_01_LOD0
- first:
1: 100004
second: SM_ShellClam_01_LOD1
- first:
1: 100006
second: SM_ShellClam_01_LOD2
- first:
4: 400000
second: //RootNode
- first:
4: 400002
second: SM_ShellClam_01_LOD0
- first:
4: 400004
second: SM_ShellClam_01_LOD1
- first:
4: 400006
second: SM_ShellClam_01_LOD2
- first:
21: 2100000
second: M_SeaShells
- first:
23: 2300000
second: SM_ShellClam_01_LOD0
- first:
23: 2300002
second: SM_ShellClam_01_LOD1
- first:
23: 2300004
second: SM_ShellClam_01_LOD2
- first:
33: 3300000
second: SM_ShellClam_01_LOD0
- first:
33: 3300002
second: SM_ShellClam_01_LOD1
- first:
33: 3300004
second: SM_ShellClam_01_LOD2
- first:
43: 4300000
second: SM_ShellClam_01_LOD0
- first:
43: 4300002
second: SM_ShellClam_01_LOD1
- first:
43: 4300004
second: SM_ShellClam_01_LOD2
- first:
43: 4300006
second: SM_ShellClam_01_ConvexHulls
- first:
205: 20500000
second: //RootNode
externalObjects: {}
materials:
materialImportMode: 1
materialName: 1
materialSearch: 1
materialLocation: 0
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages:
- 0.25
- 0.125
- 0.01
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 0
fileIdsGeneration: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 0
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: 1
indexFormat: 2
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 0
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 0
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 1
addHumanoidExtraRootOnlyWhenUsingAvatar: 0
remapMaterialsIfMaterialImportModeIsNone: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.
@@ -0,0 +1,169 @@
fileFormatVersion: 2
guid: abc00000000005089793872425314704
ModelImporter:
serializedVersion: 21300
internalIDToNameTable:
- first:
1: 100000
second: //RootNode
- first:
1: 100002
second: SM_ShellClam_02_LOD0
- first:
1: 100004
second: SM_ShellClam_02_LOD1
- first:
1: 100006
second: SM_ShellClam_02_LOD2
- first:
4: 400000
second: //RootNode
- first:
4: 400002
second: SM_ShellClam_02_LOD0
- first:
4: 400004
second: SM_ShellClam_02_LOD1
- first:
4: 400006
second: SM_ShellClam_02_LOD2
- first:
21: 2100000
second: M_SeaShells
- first:
23: 2300000
second: SM_ShellClam_02_LOD0
- first:
23: 2300002
second: SM_ShellClam_02_LOD1
- first:
23: 2300004
second: SM_ShellClam_02_LOD2
- first:
33: 3300000
second: SM_ShellClam_02_LOD0
- first:
33: 3300002
second: SM_ShellClam_02_LOD1
- first:
33: 3300004
second: SM_ShellClam_02_LOD2
- first:
43: 4300000
second: SM_ShellClam_02_LOD0
- first:
43: 4300002
second: SM_ShellClam_02_LOD1
- first:
43: 4300004
second: SM_ShellClam_02_LOD2
- first:
43: 4300006
second: SM_ShellClam_02_ConvexHulls
- first:
205: 20500000
second: //RootNode
externalObjects: {}
materials:
materialImportMode: 1
materialName: 1
materialSearch: 1
materialLocation: 0
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages:
- 0.25
- 0.125
- 0.01
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 0
fileIdsGeneration: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 0
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: 1
indexFormat: 2
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 0
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 0
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 1
addHumanoidExtraRootOnlyWhenUsingAvatar: 0
remapMaterialsIfMaterialImportModeIsNone: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.
@@ -0,0 +1,185 @@
fileFormatVersion: 2
guid: abc00000000002882969095390229543
ModelImporter:
serializedVersion: 21300
internalIDToNameTable:
- first:
1: 100000
second: //RootNode
- first:
1: 100002
second: SM_ShellConch_01_LOD0
- first:
1: 100004
second: SM_ShellConch_01_LOD1
- first:
1: 100006
second: SM_ShellConch_01_LOD2
- first:
1: 100008
second: SM_ShellConch_01_LOD3
- first:
4: 400000
second: //RootNode
- first:
4: 400002
second: SM_ShellConch_01_LOD0
- first:
4: 400004
second: SM_ShellConch_01_LOD1
- first:
4: 400006
second: SM_ShellConch_01_LOD2
- first:
4: 400008
second: SM_ShellConch_01_LOD3
- first:
21: 2100000
second: M_SeaShells
- first:
23: 2300000
second: SM_ShellConch_01_LOD0
- first:
23: 2300002
second: SM_ShellConch_01_LOD1
- first:
23: 2300004
second: SM_ShellConch_01_LOD2
- first:
23: 2300006
second: SM_ShellConch_01_LOD3
- first:
33: 3300000
second: SM_ShellConch_01_LOD0
- first:
33: 3300002
second: SM_ShellConch_01_LOD1
- first:
33: 3300004
second: SM_ShellConch_01_LOD2
- first:
33: 3300006
second: SM_ShellConch_01_LOD3
- first:
43: 4300000
second: SM_ShellConch_01_LOD0
- first:
43: 4300002
second: SM_ShellConch_01_LOD1
- first:
43: 4300004
second: SM_ShellConch_01_LOD2
- first:
43: 4300006
second: SM_ShellConch_01_LOD3
- first:
43: 4300008
second: SM_ShellConch_01_ConvexHulls
- first:
205: 20500000
second: //RootNode
externalObjects: {}
materials:
materialImportMode: 1
materialName: 1
materialSearch: 1
materialLocation: 0
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages:
- 0.25
- 0.125
- 0.0625
- 0.01
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 0
fileIdsGeneration: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 0
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: 1
indexFormat: 2
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 0
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 0
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 1
addHumanoidExtraRootOnlyWhenUsingAvatar: 0
remapMaterialsIfMaterialImportModeIsNone: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.
@@ -0,0 +1,169 @@
fileFormatVersion: 2
guid: abc00000000017861035451597240181
ModelImporter:
serializedVersion: 21300
internalIDToNameTable:
- first:
1: 100000
second: //RootNode
- first:
1: 100002
second: SM_ShellSnail_01_LOD0
- first:
1: 100004
second: SM_ShellSnail_01_LOD1
- first:
1: 100006
second: SM_ShellSnail_01_LOD2
- first:
4: 400000
second: //RootNode
- first:
4: 400002
second: SM_ShellSnail_01_LOD0
- first:
4: 400004
second: SM_ShellSnail_01_LOD1
- first:
4: 400006
second: SM_ShellSnail_01_LOD2
- first:
21: 2100000
second: M_SeaShells
- first:
23: 2300000
second: SM_ShellSnail_01_LOD0
- first:
23: 2300002
second: SM_ShellSnail_01_LOD1
- first:
23: 2300004
second: SM_ShellSnail_01_LOD2
- first:
33: 3300000
second: SM_ShellSnail_01_LOD0
- first:
33: 3300002
second: SM_ShellSnail_01_LOD1
- first:
33: 3300004
second: SM_ShellSnail_01_LOD2
- first:
43: 4300000
second: SM_ShellSnail_01_LOD0
- first:
43: 4300002
second: SM_ShellSnail_01_LOD1
- first:
43: 4300004
second: SM_ShellSnail_01_LOD2
- first:
43: 4300006
second: SM_ShellSnail_01_ConvexHulls
- first:
205: 20500000
second: //RootNode
externalObjects: {}
materials:
materialImportMode: 1
materialName: 1
materialSearch: 1
materialLocation: 0
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages:
- 0.25
- 0.125
- 0.01
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 0
fileIdsGeneration: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 0
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: 1
indexFormat: 2
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 0
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 0
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 1
addHumanoidExtraRootOnlyWhenUsingAvatar: 0
remapMaterialsIfMaterialImportModeIsNone: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.
@@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: abc00000000003861988349212607380
ModelImporter:
serializedVersion: 21300
internalIDToNameTable:
- first:
1: 100000
second: //RootNode
- first:
4: 400000
second: //RootNode
- first:
21: 2100000
second: M_SeaShells
- first:
23: 2300000
second: //RootNode
- first:
33: 3300000
second: //RootNode
- first:
43: 4300000
second: SM_ShellSnail_02
- first:
43: 4300002
second: SM_ShellSnail_02_LOD0
- first:
43: 4300004
second: SM_ShellSnail_02_ConvexHulls
externalObjects: {}
materials:
materialImportMode: 1
materialName: 1
materialSearch: 1
materialLocation: 0
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 0
fileIdsGeneration: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 0
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: 1
indexFormat: 2
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 0
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 0
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 1
addHumanoidExtraRootOnlyWhenUsingAvatar: 0
remapMaterialsIfMaterialImportModeIsNone: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.
@@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: abc00000000009962119470243078729
ModelImporter:
serializedVersion: 21300
internalIDToNameTable:
- first:
1: 100000
second: //RootNode
- first:
4: 400000
second: //RootNode
- first:
21: 2100000
second: M_SeaShells
- first:
23: 2300000
second: //RootNode
- first:
33: 3300000
second: //RootNode
- first:
43: 4300000
second: SM_ShellSpiral_01
- first:
43: 4300002
second: SM_ShellSpiral_01_LOD0
- first:
43: 4300004
second: SM_ShellSpiral_01_ConvexHulls
externalObjects: {}
materials:
materialImportMode: 1
materialName: 1
materialSearch: 1
materialLocation: 0
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 0
fileIdsGeneration: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 0
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: 1
indexFormat: 2
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 0
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 0
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 1
addHumanoidExtraRootOnlyWhenUsingAvatar: 0
remapMaterialsIfMaterialImportModeIsNone: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.
+169
View File
@@ -0,0 +1,169 @@
fileFormatVersion: 2
guid: abc00000000012369350195072497446
ModelImporter:
serializedVersion: 21300
internalIDToNameTable:
- first:
1: 100000
second: //RootNode
- first:
1: 100002
second: SM_Starfish_01_LOD0
- first:
1: 100004
second: SM_Starfish_01_LOD1
- first:
1: 100006
second: SM_Starfish_01_LOD2
- first:
4: 400000
second: //RootNode
- first:
4: 400002
second: SM_Starfish_01_LOD0
- first:
4: 400004
second: SM_Starfish_01_LOD1
- first:
4: 400006
second: SM_Starfish_01_LOD2
- first:
21: 2100000
second: M_Starfish
- first:
23: 2300000
second: SM_Starfish_01_LOD0
- first:
23: 2300002
second: SM_Starfish_01_LOD1
- first:
23: 2300004
second: SM_Starfish_01_LOD2
- first:
33: 3300000
second: SM_Starfish_01_LOD0
- first:
33: 3300002
second: SM_Starfish_01_LOD1
- first:
33: 3300004
second: SM_Starfish_01_LOD2
- first:
43: 4300000
second: SM_Starfish_01_LOD0
- first:
43: 4300002
second: SM_Starfish_01_LOD1
- first:
43: 4300004
second: SM_Starfish_01_LOD2
- first:
43: 4300006
second: SM_Starfish_01_ConvexHulls
- first:
205: 20500000
second: //RootNode
externalObjects: {}
materials:
materialImportMode: 1
materialName: 1
materialSearch: 1
materialLocation: 0
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages:
- 0.25
- 0.125
- 0.01
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 0
fileIdsGeneration: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 0
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: 1
indexFormat: 2
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 0
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 0
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 1
addHumanoidExtraRootOnlyWhenUsingAvatar: 0
remapMaterialsIfMaterialImportModeIsNone: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: ecf62857cec71f2499793a7a2ac88f60
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: a41a47634ec9ed4438ea49a9aaaca71e
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 72ecad3b36362354a8857a4718bdaea1
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: dd91f8c268c9cbd4eadee80a1410d269
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 92a8dda5824b9c74c91c1a06a3366353
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
+10
View File
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: a2991a03359ecf049a1a006c200406cc
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 7a0703d98e225a0429cf16cf6e0a8d54
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: ccbdea634bcfa8b4c8c6a3522c1dd22d
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 4d2a6ccda8e256d4c93642176eaa37d1
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 7de567685cdb338448372e3075268f12
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 48d29efa1db9c764ea80f1ccf8725c6b
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 64e22165f15883d4c9bf56b78c0ebabd
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 47de885b0b01fbd4c8a93969fba075b4
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: e7e5a1e1801ab64478b917aa2fed29dc
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 90e49d88e70dd6a4d8af2f0af1b91cc1
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: c4eb5a30ed536d743bf20ca20d5383bf
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 2ae51fdf39277e94483301e22420d52e
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 2025378261652f844b092c2b464cfa67
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: c52272204101b2948b168475583a1ed0
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 045d1f63e0d0b86489496ffdee2390f1
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 5f091799159828a4190943bb698cdb3e
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: aac149e7e507ea64fb1a49ee3e38984a
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 350f241d2401e2a4fa77a084383ee378
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: b94599c49cdf9d14180440b6cd484b40
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 6c4994e2a1e7edc4c962badf1634890e
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: e20b6f08b34477d42ab1d7fa582472b3
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,165 @@
Shader "AdvancedTerrainGrass/Internal-DeferredReflections" {
Properties {
_SrcBlend ("", Float) = 1
_DstBlend ("", Float) = 1
}
SubShader {
// Calculates reflection contribution from a single probe (rendered as cubes) or default reflection (rendered as full screen quad)
Pass {
ZWrite Off
ZTest LEqual
Blend [_SrcBlend] [_DstBlend]
CGPROGRAM
#pragma target 3.0
#pragma vertex vert_deferred
#pragma fragment frag
#include "UnityCG.cginc"
#include "UnityDeferredLibrary.cginc"
#include "UnityStandardUtils.cginc"
#include "UnityStandardBRDF.cginc"
#include "UnityPBSLighting.cginc"
#include "../Includes/AtgStandardBRDF.cginc"
sampler2D _CameraGBufferTexture0;
sampler2D _CameraGBufferTexture1;
sampler2D _CameraGBufferTexture2;
half3 distanceFromAABB(half3 p, half3 aabbMin, half3 aabbMax)
{
return max(max(p - aabbMax, aabbMin - p), half3(0.0, 0.0, 0.0));
}
half4 frag (unity_v2f_deferred i) : SV_Target
{
// Stripped from UnityDeferredCalculateLightParams, refactor into function ?
i.ray = i.ray * (_ProjectionParams.z / i.ray.z);
float2 uv = i.uv.xy / i.uv.w;
// read depth and reconstruct world position
float depth = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, uv);
depth = Linear01Depth (depth);
float4 viewPos = float4(i.ray * depth,1);
float3 worldPos = mul (unity_CameraToWorld, viewPos).xyz;
half4 gbuffer0 = tex2D (_CameraGBufferTexture0, uv);
half4 gbuffer1 = tex2D (_CameraGBufferTexture1, uv);
half4 gbuffer2 = tex2D (_CameraGBufferTexture2, uv);
// Check for translucent material
half TransMat = floor(gbuffer2.a * 3 + 0.5f) == 2 ? 1 : 0;
// Rewrite specColor if needed
half3 specColor = (TransMat == 1)? gbuffer1.rrr : gbuffer1.rgb;
// Added: specularIntensity
half specularIntensity = 1;
// Grass
if (TransMat * gbuffer1.r == 1 ){
specularIntensity = gbuffer1.g;
specColor.rgb = unity_ColorSpaceDielectricSpec.rgb;
}
half oneMinusRoughness = gbuffer1.a;
half3 worldNormal = gbuffer2.rgb * 2 - 1;
worldNormal = normalize(worldNormal);
float3 eyeVec = normalize(worldPos - _WorldSpaceCameraPos);
half oneMinusReflectivity = 1 - SpecularStrength(specColor.rgb);
half occlusion = gbuffer0.a;
// Grass
occlusion *= saturate(specularIntensity + 0.5);
half3 worldNormalRefl = reflect(eyeVec, worldNormal);
float blendDistance = unity_SpecCube1_ProbePosition.w; // will be set to blend distance for this probe
#if UNITY_SPECCUBE_BOX_PROJECTION
// For box projection, use expanded bounds as they are rendered; otherwise
// box projection artifacts when outside of the box.
float4 boxMin = unity_SpecCube0_BoxMin - float4(blendDistance,blendDistance,blendDistance,0);
float4 boxMax = unity_SpecCube0_BoxMax + float4(blendDistance,blendDistance,blendDistance,0);
half3 worldNormal0 = BoxProjectedCubemapDirection (worldNormalRefl, worldPos, unity_SpecCube0_ProbePosition, boxMin, boxMax);
#else
half3 worldNormal0 = worldNormalRefl;
#endif
Unity_GlossyEnvironmentData g;
g.roughness = 1 - oneMinusRoughness;
g.reflUVW = worldNormal0;
half3 env0 = Unity_GlossyEnvironment (UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, g);
UnityLight light;
light.color = 0;
light.dir = 0;
light.ndotl = 0;
UnityIndirect ind;
ind.diffuse = 0;
ind.specular = env0 * occlusion;
// Specular Occlusion (Gotanda)
//ind.specular = env0 * saturate(pow( saturate( dot(worldNormal, -eyeVec)) + occlusion, exp2(-16.0 * g.roughness - 1.0)) - 1.0 + occlusion); //occlusion;
//half3 rgb = UNITY_BRDF_PBS (0, specColor, oneMinusReflectivity, oneMinusRoughness, worldNormal, -eyeVec, light, ind).rgb;
half3 rgb = BRDF1_ATG_PBS (0, specColor, oneMinusReflectivity, oneMinusRoughness, worldNormal, -eyeVec, light, ind, specularIntensity).rgb;
// Calculate falloff value, so reflections on the edges of the probe would gradually blend to previous reflection.
// Also this ensures that pixels not located in the reflection probe AABB won't
// accidentally pick up reflections from this probe.
half3 distance = distanceFromAABB(worldPos, unity_SpecCube0_BoxMin.xyz, unity_SpecCube0_BoxMax.xyz);
half falloff = saturate(1.0 - length(distance)/blendDistance);
return half4(rgb, falloff);
}
ENDCG
}
// Adds reflection buffer to the lighting buffer
Pass
{
ZWrite Off
ZTest Always
Blend [_SrcBlend] [_DstBlend]
CGPROGRAM
#pragma target 3.0
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile ___ UNITY_HDR_ON
#include "UnityCG.cginc"
sampler2D _CameraReflectionsTexture;
struct v2f {
float2 uv : TEXCOORD0;
float4 pos : SV_POSITION;
};
v2f vert (float4 vertex : POSITION)
{
v2f o;
o.pos = UnityObjectToClipPos(vertex);
o.uv = ComputeScreenPos (o.pos).xy;
return o;
}
half4 frag (v2f i) : SV_Target
{
half4 c = tex2D (_CameraReflectionsTexture, i.uv);
#ifdef UNITY_HDR_ON
return float4(c.rgb, 0.0f);
#else
return float4(exp2(-c.rgb), 0.0f);
#endif
}
ENDCG
}
}
Fallback Off
}
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 7970282d66a10481fb439bfdb237312a
timeCreated: 1453758311
licenseType: Store
ShaderImporter:
defaultTextures: []
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,222 @@
Shader "AdvancedTerrainGrass/Internal-DeferredShading" {
Properties {
_LightTexture0 ("", any) = "" {}
_LightTextureB0 ("", 2D) = "" {}
_ShadowMapTexture ("", any) = "" {}
_SrcBlend ("", Float) = 1
_DstBlend ("", Float) = 1
}
SubShader {
// Pass 1: Lighting pass
// LDR case - Lighting encoded into a subtractive ARGB8 buffer
// HDR case - Lighting additively blended into floating point buffer
Pass {
ZWrite Off
Blend [_SrcBlend] [_DstBlend]
CGPROGRAM
#pragma target 3.0
#pragma vertex vert_deferred
#pragma fragment frag
#pragma multi_compile_lightpass
#pragma multi_compile ___ UNITY_HDR_ON
#pragma exclude_renderers nomrt
#include "UnityCG.cginc"
#include "UnityDeferredLibrary.cginc"
#include "UnityPBSLighting.cginc"
#include "UnityStandardUtils.cginc"
#include "UnityStandardBRDF.cginc"
#include "../Includes/AtgStandardBRDF.cginc"
sampler2D _CameraGBufferTexture0;
sampler2D _CameraGBufferTexture1;
sampler2D _CameraGBufferTexture2;
half4 CalculateLight (unity_v2f_deferred i)
{
float3 wpos;
float2 uv;
float atten, fadeDist;
UnityLight light;
UNITY_INITIALIZE_OUTPUT(UnityLight, light);
UnityDeferredCalculateLightParams (i, wpos, uv, light.dir, atten, fadeDist);
half4 gbuffer0 = tex2D (_CameraGBufferTexture0, uv);
half4 gbuffer1 = tex2D (_CameraGBufferTexture1, uv);
half4 gbuffer2 = tex2D (_CameraGBufferTexture2, uv);
// Check for translucent material
half TransMat = floor(gbuffer2.a * 3 + 0.5f) == 2 ? 1 : 0;
light.color = _LightColor.rgb * atten;
half3 baseColor = gbuffer0.rgb;
// Rewrite specColor if needed
half3 specColor = (TransMat == 1)? gbuffer1.rrr : gbuffer1.rgb;
half oneMinusRoughness = gbuffer1.a;
half3 normalWorld = gbuffer2.rgb * 2 - 1;
normalWorld = normalize(normalWorld);
float3 eyeVec = normalize(wpos-_WorldSpaceCameraPos);
half oneMinusReflectivity = 1 - SpecularStrength(specColor.rgb);
light.ndotl = LambertTerm(normalWorld, light.dir);
UnityIndirect ind;
UNITY_INITIALIZE_OUTPUT(UnityIndirect, ind);
ind.diffuse = 0;
ind.specular = 0;
//half4 res = UNITY_BRDF_PBS (baseColor, specColor, oneMinusReflectivity, oneMinusRoughness, normalWorld, -eyeVec, light, ind);
// Added: specularIntensity
half specularIntensity = 1;
// Pick grass: spec color r is 0
//half grass = TransMat * saturate(1 - gbuffer1.r * 255);
// Pick grass: spec color r is 1 - due to Lux Plus support
half grass = (gbuffer1.r == 1) ? TransMat : 0;
// Grass
if (grass){
specularIntensity = gbuffer1.g;
specColor.rgb = unity_ColorSpaceDielectricSpec.rgb;
}
// Energy conserving wrapped around diffuse lighting / http://blog.stevemcauley.com/2011/12/03/energy-conserving-wrapped-diffuse/
// half wrap1 = 0.4;
// half NdotLDirect = saturate( ( dot(normalWorld, light.dir) + wrap1 ) / ( (1 + wrap1) * (1 + wrap1) ) );
//light.ndotl = (gbuffer2.a == 0) ? wrappedNdotL1 : LambertTerm(normalWorld, light.dir); // As Unity 5.5. does not know light.ndotl anymore
half NdotLDirect = /*TransMat ? NdotLDirect :*/ saturate(dot(normalWorld, light.dir));
half4 res = BRDF1_ATG_PBS (baseColor, specColor, oneMinusReflectivity, oneMinusRoughness, normalWorld, -eyeVec, light, ind, specularIntensity);
// res.w contains specularTerm.r (monochrome)
/*
// Thin Layer Translucency
// Only using dotNL gives us more lively lighting beyond the shadow distance.
half backlight = saturate( dot(-normalWorld, light.dir) + 0.2);
half fresnel = (1.0 - backlight) * (1.0 - backlight);
fresnel *= fresnel;
//#if defined (DIRECTIONAL) || defined (DIRECTIONAL_COOKIE)
res.rgb += baseColor * backlight * (1.0 - fresnel) * 4.0f * gbuffer1.b * light.color * TransMat;
//res.rgb = backlight * (1.0 - fresnel);
half wrap = 0.5;
half wrappedNdotL = saturate( ( dot(-normalWorld, light.dir) + wrap ) / ( (1 + wrap) * (1 + wrap) ) );
half VdotL = saturate( dot(-eyeVec, -light.dir) );
half a2 = 0.7 * 0.7;
half d = ( VdotL * a2 - VdotL ) * VdotL + 1;
half GGX = (a2 / UNITY_PI) / (d * d);
half3 lightScattering = wrappedNdotL * GGX * gbuffer1.b * light.color;
// res.rgb += lightScattering * baseColor * 4;
*/
// Best for grass as the normal counts less
// // https://colinbarrebrisebois.com/2012/04/09/approximating-translucency-revisited-with-simplified-spherical-gaussian/
// grass has no transpower but stores specintensity in gbuffer1.g
UNITY_BRANCH
if(TransMat) {
half transPower = lerp( gbuffer1.g * 10.0f, 6.0f, grass);
half3 transLightDir = light.dir + normalWorld * 0.01;
half transDot = dot( transLightDir, eyeVec ); // sign(minus) comes from eyeVec
transDot = exp2(saturate(transDot) * transPower - transPower);
half3 lightScattering = transDot * light.color * lerp(1.0 - NdotLDirect, 1.0, grass);
// res.rgb += baseColor * 4.0 * gbuffer1.b * lightScattering * TransMat /* mask trans by spec */ * (1.0 - saturate(res.a))
// /* grass: here we reduce the diffuse lighting contribution - not good for flowers */ - Luminance(res.rgb) * lightScattering * grass * (1.0 - saturate(res.a));
// Simplyfied version to match Lux Plus
res.rgb += baseColor * 4.0 * gbuffer1.b * lightScattering * TransMat /* mask trans by spec */ * (1.0 - saturate(res.a));
}
res.a = 1;
//res.rgb = specColor;
//
return res;
}
#ifdef UNITY_HDR_ON
half4
#else
fixed4
#endif
frag (unity_v2f_deferred i) : SV_Target
{
half4 c = CalculateLight(i);
#ifdef UNITY_HDR_ON
return c;
#else
return exp2(-c);
#endif
}
ENDCG
}
// Pass 2: Final decode pass.
// Used only with HDR off, to decode the logarithmic buffer into the main RT
Pass {
ZTest Always Cull Off ZWrite Off
Stencil {
ref [_StencilNonBackground]
readmask [_StencilNonBackground]
// Normally just comp would be sufficient, but there's a bug and only front face stencil state is set (case 583207)
compback equal
compfront equal
}
CGPROGRAM
#pragma target 3.0
#pragma vertex vert
#pragma fragment frag
#pragma exclude_renderers nomrt
sampler2D _LightBuffer;
struct v2f {
float4 vertex : SV_POSITION;
float2 texcoord : TEXCOORD0;
};
v2f vert (float4 vertex : POSITION, float2 texcoord : TEXCOORD0)
{
v2f o;
o.vertex = UnityObjectToClipPos(vertex);
o.texcoord = texcoord.xy;
#ifdef UNITY_SINGLE_PASS_STEREO
o.texcoord = TransformStereoScreenSpaceTex(o.texcoord, 1.0f);
#endif
return o;
}
fixed4 frag (v2f i) : SV_Target
{
return -log2(tex2D(_LightBuffer, i.texcoord));
}
ENDCG
}
}
Fallback Off
}
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 74c1aeb6f161f4fc5959aedac7310b49
timeCreated: 1453758311
licenseType: Store
ShaderImporter:
defaultTextures: []
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,726 @@
// Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt)
Shader "Hidden/ATG-Internal-DepthNormalsTexture" {
Properties {
_MainTex ("", 2D) = "white" {}
_MainTexArray ("", 2DArray) = "white" {}
_Cutoff ("", Float) = 0.5
_Color ("", Color) = (1,1,1,1)
// Additional inputs
_SampleNormal ("Use NormalBuffer", Float) = 0
_NormalBend ("Bend Normal", Range(0,1)) = 0.5
_WindMultiplier ("Strength Main (X) Jitter (Y)", Vector) = (1, 0.5, 0, 0)
_SamplePivot ("Sample Wind at Pivot", Float) = 0
_WindLOD ("Wind LOD (int)", Float) = 0
_ScaleMode ("Scale Mode", Float) = 0
}
SubShader {
Tags { "RenderType"="ATGrass" }
Pass {
Cull Off
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 4.5
// Wind sample mode
#pragma multi_compile _ _METALLICGLOSSMAP
// NormalBuffer
#pragma multi_compile _ _NORMAL
#define UNITY_ASSUME_UNIFORM_SCALING
#include "UnityCG.cginc"
#define DEPTHNORMAL
float _Clip;
float _WindLOD;
float _NormalBend;
half2 _MinMaxScales;
fixed4 _HealthyColor;
fixed4 _DryColor;
float _ScaleMode;
// Generalized custom CBUFFER
CBUFFER_START(AtgGrass)
sampler2D _AtgWindRT;
float4 _AtgWindDirSize;
float4 _AtgWindStrengthMultipliers;
float4 _AtgSinTime;
float4 _AtgGrassFadeProps;
float4 _AtgGrassShadowFadeProps;
CBUFFER_END
#include "../Includes/GrassInstancedIndirect_Vertex.cginc"
#if SHADER_TARGET >= 45
StructuredBuffer<float4x4> GrassMatrixBuffer;
#endif
struct v2f {
float4 pos : SV_POSITION;
float2 uv : TEXCOORD0;
float4 nz : TEXCOORD1;
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert( appdata_full v, uint instanceID : SV_InstanceID ) {
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
#if SHADER_TARGET >= 45
float4x4 data = GrassMatrixBuffer[instanceID];
#else
float4x4 data = 0;
#endif
unity_ObjectToWorld = data;
// Restore matrix as it could contain layer data here!
float InstanceScale = frac(unity_ObjectToWorld[3].w);
InstanceScale *= 100.0f;
float3 terrainNormal = 0;
#if defined(_NORMAL)
terrainNormal = unity_ObjectToWorld[3].xyz;
#endif
unity_ObjectToWorld[3] = float4(0, 0, 0, 1.0f);
unity_WorldToObject._14_24_34 = 1.0f / unity_WorldToObject._14_24_34;
unity_WorldToObject._11_22_33 *= -1;
vertgrass(v, terrainNormal, InstanceScale);
o.pos = UnityObjectToClipPos(v.vertex);
o.uv = v.texcoord;
v.normal = UnityObjectToWorldNormal(v.normal);
v.normal = mul(UNITY_MATRIX_V, float4( v.normal, 0) ).xyz;
o.nz.xyz = normalize(v.normal); //COMPUTE_VIEW_NORMAL;
o.nz.w = COMPUTE_DEPTH_01;
return o;
}
uniform sampler2D _MainTex;
uniform fixed _Cutoff;
uniform fixed4 _Color;
fixed4 frag(v2f i) : SV_Target {
fixed4 texcol = tex2D(_MainTex, i.uv);
clip( texcol.a - _Cutoff );
return EncodeDepthNormal (i.nz.w, i.nz.xyz);
}
ENDCG
}
}
SubShader {
Tags { "RenderType"="ATGrassArray"}
Pass {
Cull Off
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 4.5
// Wind sample mode
#pragma multi_compile _ _METALLICGLOSSMAP
// NormalBuffer
#pragma multi_compile _ _NORMAL
#define UNITY_ASSUME_UNIFORM_SCALING
#include "UnityCG.cginc"
#define DEPTHNORMAL
float _Clip;
float _WindLOD;
float _NormalBend;
half2 _MinMaxScales;
fixed4 _HealthyColor;
fixed4 _DryColor;
float _ScaleMode;
// Generalized custom CBUFFER
CBUFFER_START(AtgGrass)
sampler2D _AtgWindRT;
float4 _AtgWindDirSize;
float4 _AtgWindStrengthMultipliers;
float4 _AtgSinTime;
float4 _AtgGrassFadeProps;
float4 _AtgGrassShadowFadeProps;
CBUFFER_END
#include "../Includes/GrassInstancedIndirect_Vertex.cginc"
#if SHADER_TARGET >= 45
StructuredBuffer<float4x4> GrassMatrixBuffer;
StructuredBuffer<float3> GrassNormalBuffer;
#endif
struct v2f {
float4 pos : SV_POSITION;
float2 uv : TEXCOORD0;
float4 nz : TEXCOORD1;
float layer : TEXCOORD2;
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert( appdata_full v, uint instanceID : SV_InstanceID ) {
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
#if SHADER_TARGET >= 45
float4x4 data = GrassMatrixBuffer[instanceID];
#else
float4x4 data = 0;
#endif
unity_ObjectToWorld = data;
// Restore matrix as it could contain layer data here!
float InstanceScale = frac(unity_ObjectToWorld[3].w);
o.layer = unity_ObjectToWorld[3].w - InstanceScale;
InstanceScale *= 100.0f;
float3 terrainNormal = 0;
#if defined(_NORMAL)
terrainNormal = unity_ObjectToWorld[3].xyz;
#endif
unity_ObjectToWorld[3] = float4(0, 0, 0, 1.0f);
unity_WorldToObject = unity_ObjectToWorld;
unity_WorldToObject._14_24_34 = 1.0f / unity_WorldToObject._14_24_34;
unity_WorldToObject._11_22_33 *= -1;
vertgrass(v, terrainNormal, InstanceScale);
o.pos = UnityObjectToClipPos(v.vertex);
o.uv = v.texcoord;
v.normal = UnityObjectToWorldNormal(v.normal);
v.normal = mul(UNITY_MATRIX_V, float4( v.normal, 0) ).xyz;
o.nz.xyz = normalize(v.normal); //COMPUTE_VIEW_NORMAL;
o.nz.w = COMPUTE_DEPTH_01;
return o;
}
UNITY_DECLARE_TEX2DARRAY(_MainTexArray);
uniform fixed _Cutoff;
uniform fixed4 _Color;
fixed4 frag(v2f i) : SV_Target {
fixed4 texcol = UNITY_SAMPLE_TEX2DARRAY(_MainTexArray, float3(i.uv, i.layer ));
clip( texcol.a - _Cutoff );
return EncodeDepthNormal (i.nz.w, i.nz.xyz);
}
ENDCG
}
}
SubShader {
Tags { "RenderType"="ATGFoliage" }
Pass {
Cull Off
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 4.5
// Wind sample mode
#pragma multi_compile _ _METALLICGLOSSMAP
#define UNITY_ASSUME_UNIFORM_SCALING
#include "UnityCG.cginc"
#define DEPTHNORMAL
#include "TerrainEngine.cginc"
#include "../Includes/FoliageInstancedIndirect_Vertex.cginc"
#if SHADER_TARGET >= 45
StructuredBuffer<float4x4> GrassMatrixBuffer;
#endif
struct v2f {
float4 pos : SV_POSITION;
float2 uv : TEXCOORD0;
float4 nz : TEXCOORD1;
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert( appdata_full v, uint instanceID : SV_InstanceID ) {
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
#if SHADER_TARGET >= 45
float4x4 data = GrassMatrixBuffer[instanceID];
#else
float4x4 data = 0;
#endif
unity_ObjectToWorld = data;
// Restore matrix as it could contain layer data here!
float InstanceScale = frac(unity_ObjectToWorld[3].w);
InstanceScale *= 100.0f;
unity_ObjectToWorld[3] = float4(0, 0, 0, 1.0f);
unity_WorldToObject = unity_ObjectToWorld;
unity_WorldToObject._14_24_34 = 1.0f / unity_WorldToObject._14_24_34;
unity_WorldToObject._11_22_33 *= -1;
vertfoliage(v, InstanceScale);
o.pos = UnityObjectToClipPos(v.vertex);
o.uv = v.texcoord;
v.normal = UnityObjectToWorldNormal(v.normal);
v.normal = mul(UNITY_MATRIX_V, float4( v.normal, 0) ).xyz;
o.nz.xyz = normalize(v.normal); //COMPUTE_VIEW_NORMAL;
o.nz.w = COMPUTE_DEPTH_01;
return o;
}
uniform sampler2D _MainTex;
uniform fixed _Cutoff;
uniform fixed4 _Color;
fixed4 frag(v2f i) : SV_Target {
fixed4 texcol = tex2D(_MainTex, i.uv);
clip( texcol.a - _Cutoff );
return EncodeDepthNormal (i.nz.w, i.nz.xyz);
}
ENDCG
}
}
SubShader {
Tags { "RenderType"="ATGVertexLit" }
Pass {
Cull Off
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 4.5
// Wind sample mode
#pragma multi_compile _ _METALLICGLOSSMAP
#define UNITY_ASSUME_UNIFORM_SCALING
#include "UnityCG.cginc"
#define DEPTHNORMAL
#if SHADER_TARGET >= 45
StructuredBuffer<float4x4> GrassMatrixBuffer;
#endif
struct v2f {
float4 pos : SV_POSITION;
float4 nz : TEXCOORD1;
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert( appdata_full v, uint instanceID : SV_InstanceID ) {
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
#if SHADER_TARGET >= 45
float4x4 data = GrassMatrixBuffer[instanceID];
#else
float4x4 data = 0;
#endif
unity_ObjectToWorld = data;
// Restore matrix as it could contain layer data here!
unity_ObjectToWorld[3].w = 1.0f;
unity_WorldToObject = unity_ObjectToWorld;
unity_WorldToObject._14_24_34 = 1.0f / unity_WorldToObject._14_24_34;
unity_WorldToObject._11_22_33 *= -1;
o.pos = UnityObjectToClipPos(v.vertex);
v.normal = UnityObjectToWorldNormal(v.normal);
v.normal = mul(UNITY_MATRIX_V, float4( v.normal, 0) ).xyz;
o.nz.xyz = normalize(v.normal); //COMPUTE_VIEW_NORMAL;
o.nz.w = COMPUTE_DEPTH_01;
return o;
}
fixed4 frag(v2f i) : SV_Target {
return EncodeDepthNormal (i.nz.w, i.nz.xyz);
}
ENDCG
}
}
// original unity shaders ----------------------------
SubShader {
Tags { "RenderType"="Opaque" }
Pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct v2f {
float4 pos : SV_POSITION;
float4 nz : TEXCOORD0;
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert( appdata_base v ) {
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
o.pos = UnityObjectToClipPos(v.vertex);
o.nz.xyz = COMPUTE_VIEW_NORMAL;
o.nz.w = COMPUTE_DEPTH_01;
return o;
}
fixed4 frag(v2f i) : SV_Target {
return EncodeDepthNormal (i.nz.w, i.nz.xyz);
}
ENDCG
}
}
SubShader {
Tags { "RenderType"="TransparentCutout" }
Pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct v2f {
float4 pos : SV_POSITION;
float2 uv : TEXCOORD0;
float4 nz : TEXCOORD1;
UNITY_VERTEX_OUTPUT_STEREO
};
uniform float4 _MainTex_ST;
v2f vert( appdata_base v ) {
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
o.pos = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
o.nz.xyz = COMPUTE_VIEW_NORMAL;
o.nz.w = COMPUTE_DEPTH_01;
return o;
}
uniform sampler2D _MainTex;
uniform fixed _Cutoff;
uniform fixed4 _Color;
fixed4 frag(v2f i) : SV_Target {
fixed4 texcol = tex2D( _MainTex, i.uv );
clip( texcol.a*_Color.a - _Cutoff );
return EncodeDepthNormal (i.nz.w, i.nz.xyz);
}
ENDCG
}
}
SubShader {
Tags { "RenderType"="TreeBark" }
Pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
#include "Lighting.cginc"
#include "UnityBuiltin3xTreeLibrary.cginc"
struct v2f {
float4 pos : SV_POSITION;
float2 uv : TEXCOORD0;
float4 nz : TEXCOORD1;
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert( appdata_full v ) {
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
TreeVertBark(v);
o.pos = UnityObjectToClipPos(v.vertex);
o.uv = v.texcoord.xy;
o.nz.xyz = COMPUTE_VIEW_NORMAL;
o.nz.w = COMPUTE_DEPTH_01;
return o;
}
fixed4 frag( v2f i ) : SV_Target {
return EncodeDepthNormal (i.nz.w, i.nz.xyz);
}
ENDCG
}
}
SubShader {
Tags { "RenderType"="TreeLeaf" }
Pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
#include "Lighting.cginc"
#include "UnityBuiltin3xTreeLibrary.cginc"
struct v2f {
float4 pos : SV_POSITION;
float2 uv : TEXCOORD0;
float4 nz : TEXCOORD1;
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert( appdata_full v ) {
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
TreeVertLeaf(v);
o.pos = UnityObjectToClipPos(v.vertex);
o.uv = v.texcoord.xy;
o.nz.xyz = COMPUTE_VIEW_NORMAL;
o.nz.w = COMPUTE_DEPTH_01;
return o;
}
uniform sampler2D _MainTex;
uniform fixed _Cutoff;
fixed4 frag( v2f i ) : SV_Target {
half alpha = tex2D(_MainTex, i.uv).a;
clip (alpha - _Cutoff);
return EncodeDepthNormal (i.nz.w, i.nz.xyz);
}
ENDCG
}
}
SubShader {
Tags { "RenderType"="TreeOpaque" "DisableBatching"="True" }
Pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
#include "TerrainEngine.cginc"
struct v2f {
float4 pos : SV_POSITION;
float4 nz : TEXCOORD0;
UNITY_VERTEX_OUTPUT_STEREO
};
struct appdata {
float4 vertex : POSITION;
float3 normal : NORMAL;
fixed4 color : COLOR;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
v2f vert( appdata v ) {
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
TerrainAnimateTree(v.vertex, v.color.w);
o.pos = UnityObjectToClipPos(v.vertex);
o.nz.xyz = COMPUTE_VIEW_NORMAL;
o.nz.w = COMPUTE_DEPTH_01;
return o;
}
fixed4 frag(v2f i) : SV_Target {
return EncodeDepthNormal (i.nz.w, i.nz.xyz);
}
ENDCG
}
}
SubShader {
Tags { "RenderType"="TreeTransparentCutout" "DisableBatching"="True" }
Pass {
Cull Back
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
#include "TerrainEngine.cginc"
struct v2f {
float4 pos : SV_POSITION;
float2 uv : TEXCOORD0;
float4 nz : TEXCOORD1;
UNITY_VERTEX_OUTPUT_STEREO
};
struct appdata {
float4 vertex : POSITION;
float3 normal : NORMAL;
fixed4 color : COLOR;
float4 texcoord : TEXCOORD0;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
v2f vert( appdata v ) {
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
TerrainAnimateTree(v.vertex, v.color.w);
o.pos = UnityObjectToClipPos(v.vertex);
o.uv = v.texcoord.xy;
o.nz.xyz = COMPUTE_VIEW_NORMAL;
o.nz.w = COMPUTE_DEPTH_01;
return o;
}
uniform sampler2D _MainTex;
uniform fixed _Cutoff;
fixed4 frag(v2f i) : SV_Target {
half alpha = tex2D(_MainTex, i.uv).a;
clip (alpha - _Cutoff);
return EncodeDepthNormal (i.nz.w, i.nz.xyz);
}
ENDCG
}
Pass {
Cull Front
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
#include "TerrainEngine.cginc"
struct v2f {
float4 pos : SV_POSITION;
float2 uv : TEXCOORD0;
float4 nz : TEXCOORD1;
UNITY_VERTEX_OUTPUT_STEREO
};
struct appdata {
float4 vertex : POSITION;
float3 normal : NORMAL;
fixed4 color : COLOR;
float4 texcoord : TEXCOORD0;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
v2f vert( appdata v ) {
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
TerrainAnimateTree(v.vertex, v.color.w);
o.pos = UnityObjectToClipPos(v.vertex);
o.uv = v.texcoord.xy;
o.nz.xyz = -COMPUTE_VIEW_NORMAL;
o.nz.w = COMPUTE_DEPTH_01;
return o;
}
uniform sampler2D _MainTex;
uniform fixed _Cutoff;
fixed4 frag(v2f i) : SV_Target {
fixed4 texcol = tex2D( _MainTex, i.uv );
clip( texcol.a - _Cutoff );
return EncodeDepthNormal (i.nz.w, i.nz.xyz);
}
ENDCG
}
}
SubShader {
Tags { "RenderType"="TreeBillboard" }
Pass {
Cull Off
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
#include "TerrainEngine.cginc"
struct v2f {
float4 pos : SV_POSITION;
float2 uv : TEXCOORD0;
float4 nz : TEXCOORD1;
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert (appdata_tree_billboard v) {
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
TerrainBillboardTree(v.vertex, v.texcoord1.xy, v.texcoord.y);
o.pos = UnityObjectToClipPos(v.vertex);
o.uv.x = v.texcoord.x;
o.uv.y = v.texcoord.y > 0;
o.nz.xyz = float3(0,0,1);
o.nz.w = COMPUTE_DEPTH_01;
return o;
}
uniform sampler2D _MainTex;
fixed4 frag(v2f i) : SV_Target {
fixed4 texcol = tex2D( _MainTex, i.uv );
clip( texcol.a - 0.001 );
return EncodeDepthNormal (i.nz.w, i.nz.xyz);
}
ENDCG
}
}
SubShader {
Tags { "RenderType"="GrassBillboard" }
Pass {
Cull Off
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
#include "TerrainEngine.cginc"
struct v2f {
float4 pos : SV_POSITION;
fixed4 color : COLOR;
float2 uv : TEXCOORD0;
float4 nz : TEXCOORD1;
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert (appdata_full v) {
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
WavingGrassBillboardVert (v);
o.color = v.color;
o.pos = UnityObjectToClipPos(v.vertex);
o.uv = v.texcoord.xy;
o.nz.xyz = COMPUTE_VIEW_NORMAL;
o.nz.w = COMPUTE_DEPTH_01;
return o;
}
uniform sampler2D _MainTex;
uniform fixed _Cutoff;
fixed4 frag(v2f i) : SV_Target {
fixed4 texcol = tex2D( _MainTex, i.uv );
fixed alpha = texcol.a * i.color.a;
clip( alpha - _Cutoff );
return EncodeDepthNormal (i.nz.w, i.nz.xyz);
}
ENDCG
}
}
SubShader {
Tags { "RenderType"="Grass" }
Pass {
Cull Off
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
#include "TerrainEngine.cginc"
struct v2f {
float4 pos : SV_POSITION;
fixed4 color : COLOR;
float2 uv : TEXCOORD0;
float4 nz : TEXCOORD1;
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert (appdata_full v) {
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
WavingGrassVert (v);
o.color = v.color;
o.pos = UnityObjectToClipPos(v.vertex);
o.uv = v.texcoord;
o.nz.xyz = COMPUTE_VIEW_NORMAL;
o.nz.w = COMPUTE_DEPTH_01;
return o;
}
uniform sampler2D _MainTex;
uniform fixed _Cutoff;
fixed4 frag(v2f i) : SV_Target {
fixed4 texcol = tex2D( _MainTex, i.uv );
fixed alpha = texcol.a * i.color.a;
clip( alpha - _Cutoff );
return EncodeDepthNormal (i.nz.w, i.nz.xyz);
}
ENDCG
}
}
Fallback Off
}
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: ee9ab1b356a9644b6b3db26b074c8c04
timeCreated: 1504981988
licenseType: Store
ShaderImporter:
defaultTextures: []
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
+9
View File
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 642be23110549614886c51048d0bac53
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:
+465
View File
@@ -0,0 +1,465 @@
// Made with Amplify Shader Editor
// Available at the Unity Asset Store - http://u3d.as/y3X
Shader "AV/Standard/Hair"
{
Properties
{
[Enum(UnityEngine.Rendering.CullMode)][Header(Global Properties)]_CullMode("Cull Mode", Int) = 0
[Enum(Opaque,0,Alpha Test,1)]_BlendMode("Blend Mode", Int) = 0
_MaskClipValue("Mask Clip Value", Range( 0.15 , 0.85)) = 0.5
[Toggle(_)]_AlphaToCoverage("Alpha To Coverage", Int) = 0
_OpacityMaskMultiplier("Opacity Mask Multiplier", Float) = 1
_Smoothness("Smoothness", Range( 0 , 1)) = 0.5
_Metallic("Metallic", Range( 0 , 1)) = 0
_AOIntensity("AO Intensity", Range( 0 , 1)) = 0
[HDR][Header(Main)]_Color("Color", Color) = (1,1,1,0)
_MainTex("Albedo (RGB)", 2D) = "white" {}
_AlbedoDesaturate("Albedo Desaturate", Range( 0 , 1)) = 0
_AlbedoRemapper("Albedo Remapper", Range( -2 , 2)) = 0
_AlbedoMax("Albedo Max", Range( 0 , 2)) = 1
_Emission("Emission", Range( 0 , 10)) = 0
[Normal][Header(Normal)]_BumpMap("Normal", 2D) = "bump" {}
_NormalIntensity("Normal Intensity", Range( 0 , 10)) = 1
[Enum(Normal,0,Normal Create,1)]_NormalMode("Normal Mode", Int) = 0
_NormalCreateOffset("Normal Create Offset", Range( 0 , 0.5)) = 0.35
[Header(SubSurface Scattering)]_ThicknessMap("Thickness Map", 2D) = "white" {}
[HDR]_SSSColor("SSS Color", Color) = (1,1,1,1)
_SSSDistortion("SSS Distortion", Range( 0 , 2.5)) = 1
_SSSPower("SSS Power", Range( 0 , 10)) = 1
_SSSIntensity("SSS Intensity", Range( 0 , 5)) = 0
[Header(Hair Anisotropic)]_HairBlend("Hair Blend", Range( 0 , 1)) = 0
_HairGloss("Hair Gloss", Range( 0 , 1)) = 0
_NoiseFrequency("Noise Frequency", Range( 0 , 100)) = 80
_NoiseSpread("Noise Spread", Range( 0 , 2)) = 0.5
[HDR]_HighlightColor("Highlight Color", Color) = (1,1,1,0)
_HighlightPosition("Highlight Position", Range( -1 , 3)) = 0
_HighlightExponent("Highlight Exponent", Range( 0 , 10)) = 9
_HighlightIntensity("Highlight Intensity", Range( 0 , 3)) = 0.5
[HDR]_SecondaryHighlightColor("Secondary Highlight Color", Color) = (1,1,1,0)
_SecondaryHighlightPosition("Secondary Highlight Position", Range( -1 , 3)) = 0
_SecondaryHighlightExponent("Secondary Highlight Exponent", Range( 0 , 10)) = 7
_SecondaryHighlightIntensity("Secondary Highlight Intensity", Range( 0 , 3)) = 1.5
[Header(Hair Variation)]_HairVariationBlend("Hair Variation Blend", Range( 0 , 1)) = 0
[HDR]_HairVariationColor("Hair Variation Color", Color) = (1,0,0,0)
_HairVariationPosition("Hair Variation Position", Range( -0.5 , 0.5)) = 0
_HairVariationHardness("Hair Variation Hardness", Range( 0 , 1)) = 0.3
[HideInInspector] _texcoord( "", 2D ) = "white" {}
[HideInInspector] __dirty( "", Int ) = 1
}
SubShader
{
Tags{ "RenderType" = "Opaque" "Queue" = "AlphaTest+0" "IsEmissive" = "true" }
Cull [_CullMode]
Blend SrcAlpha OneMinusSrcAlpha
AlphaToMask [_AlphaToCoverage]
CGINCLUDE
#include "UnityStandardUtils.cginc"
#include "UnityCG.cginc"
#include "UnityPBSLighting.cginc"
#include "Lighting.cginc"
#pragma target 3.0
#ifdef UNITY_PASS_SHADOWCASTER
#undef INTERNAL_DATA
#undef WorldReflectionVector
#undef WorldNormalVector
#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;
#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))
#define WorldNormalVector(data,normal) half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))
#endif
struct Input
{
half ASEVFace : VFACE;
float2 uv_texcoord;
float3 worldNormal;
INTERNAL_DATA
float3 worldPos;
};
uniform int _CullMode;
uniform int _AlphaToCoverage;
uniform float _MaskClipValue;
uniform float _NormalIntensity;
uniform sampler2D _BumpMap;
uniform float4 _BumpMap_ST;
uniform sampler2D _MainTex;
uniform float4 _MainTex_ST;
uniform float _NormalCreateOffset;
uniform int _NormalMode;
uniform float _AlbedoDesaturate;
uniform float _AlbedoRemapper;
uniform float _AlbedoMax;
uniform float4 _Color;
uniform float4 _HairVariationColor;
uniform float _HairVariationHardness;
uniform float _HairVariationPosition;
uniform float _HairVariationBlend;
uniform float4 _HighlightColor;
uniform float _NoiseFrequency;
uniform float _NoiseSpread;
uniform float _HighlightPosition;
uniform float _HighlightExponent;
uniform float _HighlightIntensity;
uniform float4 _SecondaryHighlightColor;
uniform float _SecondaryHighlightPosition;
uniform float _SecondaryHighlightExponent;
uniform float _SecondaryHighlightIntensity;
uniform float _HairBlend;
uniform float _SSSDistortion;
uniform float _SSSPower;
uniform float _SSSIntensity;
uniform float4 _SSSColor;
uniform sampler2D _ThicknessMap;
uniform float4 _ThicknessMap_ST;
uniform float _Emission;
uniform float _Metallic;
uniform float _HairGloss;
uniform float _Smoothness;
uniform float _AOIntensity;
uniform float _OpacityMaskMultiplier;
uniform int _BlendMode;
inline float noise_randomValue (float2 uv) { return frac(sin(dot(uv, float2(12.9898, 78.233)))*43758.5453); }
inline float noise_interpolate (float a, float b, float t) { return (1.0-t)*a + (t*b); }
inline float valueNoise (float2 uv)
{
float2 i = floor(uv);
float2 f = frac( uv );
f = f* f * (3.0 - 2.0 * f);
uv = abs( frac(uv) - 0.5);
float2 c0 = i + float2( 0.0, 0.0 );
float2 c1 = i + float2( 1.0, 0.0 );
float2 c2 = i + float2( 0.0, 1.0 );
float2 c3 = i + float2( 1.0, 1.0 );
float r0 = noise_randomValue( c0 );
float r1 = noise_randomValue( c1 );
float r2 = noise_randomValue( c2 );
float r3 = noise_randomValue( c3 );
float bottomOfGrid = noise_interpolate( r0, r1, f.x );
float topOfGrid = noise_interpolate( r2, r3, f.x );
float t = noise_interpolate( bottomOfGrid, topOfGrid, f.y );
return t;
}
float SimpleNoise(float2 UV)
{
float t = 0.0;
float freq = pow( 2.0, float( 0 ) );
float amp = pow( 0.5, float( 3 - 0 ) );
t += valueNoise( UV/freq )*amp;
freq = pow(2.0, float(1));
amp = pow(0.5, float(3-1));
t += valueNoise( UV/freq )*amp;
freq = pow(2.0, float(2));
amp = pow(0.5, float(3-2));
t += valueNoise( UV/freq )*amp;
return t;
}
void surf( Input i , inout SurfaceOutputStandard o )
{
float3 appendResult7_g139 = (float3(1.0 , 1.0 , i.ASEVFace));
float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw;
float2 uv0_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
float2 temp_output_2_0_g99 = uv0_MainTex;
float2 break6_g99 = temp_output_2_0_g99;
float temp_output_25_0_g99 = ( pow( _NormalCreateOffset , 3.0 ) * 0.1 );
float2 appendResult8_g99 = (float2(( break6_g99.x + temp_output_25_0_g99 ) , break6_g99.y));
float4 tex2DNode11_g99 = tex2D( _MainTex, appendResult8_g99 );
float4 tex2DNode14_g99 = tex2D( _MainTex, temp_output_2_0_g99 );
float temp_output_4_0_g99 = _NormalIntensity;
float3 appendResult13_g99 = (float3(1.0 , 0.0 , ( ( max( max( tex2DNode11_g99.r , tex2DNode11_g99.g ) , tex2DNode11_g99.b ) - max( max( tex2DNode14_g99.r , tex2DNode14_g99.g ) , tex2DNode14_g99.b ) ) * temp_output_4_0_g99 )));
float2 appendResult9_g99 = (float2(break6_g99.x , ( break6_g99.y + temp_output_25_0_g99 )));
float4 tex2DNode12_g99 = tex2D( _MainTex, appendResult9_g99 );
float3 appendResult16_g99 = (float3(0.0 , 1.0 , ( ( max( max( tex2DNode12_g99.r , tex2DNode12_g99.g ) , tex2DNode12_g99.b ) - max( max( tex2DNode14_g99.r , tex2DNode14_g99.g ) , tex2DNode14_g99.b ) ) * temp_output_4_0_g99 )));
float3 normalizeResult22_g99 = normalize( cross( appendResult13_g99 , appendResult16_g99 ) );
float3 lerpResult1337 = lerp( UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap ), _NormalIntensity ) , normalizeResult22_g99 , (float)_NormalMode);
float2 _Vector0 = float2(-1,1);
float3 temp_cast_1 = (_Vector0.x).xxx;
float3 temp_cast_2 = (_Vector0.y).xxx;
float3 clampResult1339 = clamp( lerpResult1337 , temp_cast_1 , temp_cast_2 );
float3 temp_output_5_0_g139 = clampResult1339;
float3 normal1334 = ( appendResult7_g139 * temp_output_5_0_g139 );
o.Normal = normal1334;
float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
float4 tex2DNode4 = tex2D( _MainTex, uv_MainTex );
float temp_output_5_0_g130 = tex2DNode4.r;
float temp_output_5_0_g131 = ( temp_output_5_0_g130 + ( tex2DNode4.g * ( 1.0 - temp_output_5_0_g130 ) ) );
float temp_output_1492_0 = ( temp_output_5_0_g131 + ( tex2DNode4.b * ( 1.0 - temp_output_5_0_g131 ) ) );
float3 temp_cast_3 = (temp_output_1492_0).xxx;
float3 lerpResult1446 = lerp( (tex2DNode4).rgb , temp_cast_3 , _AlbedoDesaturate);
float temp_output_7_0_g160 = _AlbedoRemapper;
float3 temp_output_16_0_g161 = _Color.rgb;
float temp_output_12_0_g161 = ( 1.0 - _HairVariationHardness );
float temp_output_14_0_g161 = ( frac( ( i.uv_texcoord.y * 2.0 ) ) + _HairVariationPosition );
float smoothstepResult2_g161 = smoothstep( _HairVariationHardness , temp_output_12_0_g161 , temp_output_14_0_g161);
float3 lerpResult6_g161 = lerp( (_HairVariationColor).rgb , temp_output_16_0_g161 , smoothstepResult2_g161);
float3 lerpResult9_g161 = lerp( temp_output_16_0_g161 , lerpResult6_g161 , _HairVariationBlend);
float3 temp_output_1302_0 = ( ( ( lerpResult1446 * ( ( _AlbedoRemapper + _AlbedoMax ) - temp_output_7_0_g160 ) ) + temp_output_7_0_g160 ) * lerpResult9_g161 );
float3 ase_worldTangent = WorldNormalVector( i, float3( 1, 0, 0 ) );
float3 ase_worldNormal = WorldNormalVector( i, float3( 0, 0, 1 ) );
float3 ase_normWorldNormal = normalize( ase_worldNormal );
float3 T77_g165 = cross( ase_worldTangent , ase_normWorldNormal );
float3 ase_worldPos = i.worldPos;
#if defined(LIGHTMAP_ON) && UNITY_VERSION < 560 //aseld
float3 ase_worldlightDir = 0;
#else //aseld
float3 ase_worldlightDir = Unity_SafeNormalize( UnityWorldSpaceLightDir( ase_worldPos ) );
#endif //aseld
float2 appendResult5_g165 = (float2(( i.uv_texcoord.x * _NoiseFrequency ) , i.uv_texcoord.y));
float simpleNoise6_g165 = SimpleNoise( appendResult5_g165*10.0 );
simpleNoise6_g165 = simpleNoise6_g165*2 - 1;
float smoothstepResult7_g165 = smoothstep( -0.3 , 0.6 , simpleNoise6_g165);
float hairnoise79_g165 = smoothstepResult7_g165;
float3 temp_output_83_0_g165 = normal1334;
float3 normal107_g165 = temp_output_83_0_g165;
float NoiseFX78_g165 = ( hairnoise79_g165 * temp_output_1492_0 * ( (normal107_g165).y + _NoiseSpread ) * _NoiseSpread );
float3 appendResult22_g165 = (float3(ase_worldlightDir.x , ( NoiseFX78_g165 + ase_worldlightDir.y + _HighlightPosition ) , ase_worldlightDir.z));
float3 ase_worldViewDir = normalize( UnityWorldSpaceViewDir( ase_worldPos ) );
float3 normalizeResult29_g165 = normalize( ( appendResult22_g165 + ase_worldViewDir ) );
float3 HL130_g165 = normalizeResult29_g165;
float dotResult36_g165 = dot( T77_g165 , HL130_g165 );
float sinTHL147_g165 = sqrt( ( 1.0 - ( dotResult36_g165 * dotResult36_g165 ) ) );
float3 temp_output_65_0_g165 = ( (_HighlightColor).rgb * pow( sinTHL147_g165 , exp2( _HighlightExponent ) ) * _HighlightIntensity );
float3 appendResult20_g165 = (float3(ase_worldlightDir.x , ( NoiseFX78_g165 + ase_worldlightDir.y + _SecondaryHighlightPosition ) , ase_worldlightDir.z));
float3 normalizeResult28_g165 = normalize( ( appendResult20_g165 + ase_worldViewDir ) );
float3 HL231_g165 = normalizeResult28_g165;
float dotResult37_g165 = dot( T77_g165 , HL231_g165 );
float sinTHL246_g165 = sqrt( ( 1.0 - ( dotResult37_g165 * dotResult37_g165 ) ) );
float dotResult76_g165 = dot( ase_worldlightDir , normalize( (WorldNormalVector( i , temp_output_83_0_g165 )) ) );
float smoothstepResult62_g165 = smoothstep( -1.0 , 0.0 , dotResult36_g165);
float dirAtten64_g165 = smoothstepResult62_g165;
float3 normalizeResult1505 = normalize( temp_output_1302_0 );
float dotResult20_g164 = dot( ase_worldViewDir , -( ase_worldlightDir + ( normalize( (WorldNormalVector( i , normal1334 )) ) * _SSSDistortion ) ) );
float temp_output_22_0_g164 = pow( saturate( dotResult20_g164 ) , _SSSPower );
float2 uv_ThicknessMap = i.uv_texcoord * _ThicknessMap_ST.xy + _ThicknessMap_ST.zw;
float3 temp_output_1111_0 = saturate( ( temp_output_1302_0 + saturate( ( ( temp_output_65_0_g165 + ( (_SecondaryHighlightColor).rgb * pow( sinTHL246_g165 , exp2( _SecondaryHighlightExponent ) ) * _SecondaryHighlightIntensity ) ) * ( dotResult76_g165 * dotResult76_g165 * dotResult76_g165 ) * dirAtten64_g165 * _HairBlend ) ) + ( normalizeResult1505 * ( temp_output_22_0_g164 * _SSSIntensity * (_SSSColor).rgb * (tex2D( _ThicknessMap, uv_ThicknessMap )).rgb ) ) ) );
o.Albedo = temp_output_1111_0;
float3 emission945 = ( temp_output_1111_0 * _Emission );
o.Emission = emission945;
o.Metallic = _Metallic;
float temp_output_5_0_g166 = ( saturate( ( hairnoise79_g165 + _HairGloss ) ) * _HairGloss );
o.Smoothness = ( temp_output_5_0_g166 + ( _Smoothness * ( 1.0 - temp_output_5_0_g166 ) ) );
o.Occlusion = ( 1.0 - _AOIntensity );
o.Alpha = 1;
float opacitymask1462 = ( 1.0 - ( ( 1.0 - saturate( ( tex2DNode4.a * _OpacityMaskMultiplier ) ) ) * _BlendMode ) );
clip( opacitymask1462 - _MaskClipValue );
}
ENDCG
CGPROGRAM
#pragma surface surf Standard keepalpha fullforwardshadows exclude_path:deferred
ENDCG
Pass
{
Name "ShadowCaster"
Tags{ "LightMode" = "ShadowCaster" }
ZWrite On
AlphaToMask Off
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 3.0
#pragma multi_compile_shadowcaster
#pragma multi_compile UNITY_PASS_SHADOWCASTER
#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2
#include "HLSLSupport.cginc"
#if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN )
#define CAN_SKIP_VPOS
#endif
#include "UnityCG.cginc"
#include "Lighting.cginc"
#include "UnityPBSLighting.cginc"
struct v2f
{
V2F_SHADOW_CASTER;
float2 customPack1 : TEXCOORD1;
float4 tSpace0 : TEXCOORD2;
float4 tSpace1 : TEXCOORD3;
float4 tSpace2 : TEXCOORD4;
UNITY_VERTEX_INPUT_INSTANCE_ID
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert( appdata_full v )
{
v2f o;
UNITY_SETUP_INSTANCE_ID( v );
UNITY_INITIALIZE_OUTPUT( v2f, o );
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o );
UNITY_TRANSFER_INSTANCE_ID( v, o );
Input customInputData;
float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz;
half3 worldNormal = UnityObjectToWorldNormal( v.normal );
half3 worldTangent = UnityObjectToWorldDir( v.tangent.xyz );
half tangentSign = v.tangent.w * unity_WorldTransformParams.w;
half3 worldBinormal = cross( worldNormal, worldTangent ) * tangentSign;
o.tSpace0 = float4( worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x );
o.tSpace1 = float4( worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y );
o.tSpace2 = float4( worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z );
o.customPack1.xy = customInputData.uv_texcoord;
o.customPack1.xy = v.texcoord;
TRANSFER_SHADOW_CASTER_NORMALOFFSET( o )
return o;
}
half4 frag( v2f IN
#if !defined( CAN_SKIP_VPOS )
, UNITY_VPOS_TYPE vpos : VPOS
#endif
) : SV_Target
{
UNITY_SETUP_INSTANCE_ID( IN );
Input surfIN;
UNITY_INITIALIZE_OUTPUT( Input, surfIN );
surfIN.uv_texcoord = IN.customPack1.xy;
float3 worldPos = float3( IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w );
half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) );
surfIN.worldPos = worldPos;
surfIN.worldNormal = float3( IN.tSpace0.z, IN.tSpace1.z, IN.tSpace2.z );
surfIN.internalSurfaceTtoW0 = IN.tSpace0.xyz;
surfIN.internalSurfaceTtoW1 = IN.tSpace1.xyz;
surfIN.internalSurfaceTtoW2 = IN.tSpace2.xyz;
SurfaceOutputStandard o;
UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandard, o )
surf( surfIN, o );
#if defined( CAN_SKIP_VPOS )
float2 vpos = IN.pos;
#endif
SHADOW_CASTER_FRAGMENT( IN )
}
ENDCG
}
}
Fallback "Diffuse"
CustomEditor "ASEMaterialInspector"
}
/*ASEBEGIN
Version=18104
361;548;1040;373;321.7769;757.0496;3.645986;True;False
Node;AmplifyShaderEditor.CommentaryNode;1433;984.4292,184.7701;Inherit;False;1526.717;495.5953;;10;1334;1339;1337;1497;1475;857;1338;1329;859;1507;Normal;0,0,1,1;0;0
Node;AmplifyShaderEditor.TexturePropertyNode;1336;987.3409,-381.4098;Inherit;True;Property;_MainTex;Albedo (RGB);9;0;Create;False;0;0;False;0;False;None;38e1b44b53d74b141aad5e83ea42b916;False;white;Auto;Texture2D;-1;0;1;SAMPLER2D;0
Node;AmplifyShaderEditor.RangedFloatNode;859;1034.429,498.2578;Inherit;False;Property;_NormalIntensity;Normal Intensity;15;0;Create;True;0;0;False;0;False;1;0.6;0;10;0;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;1329;1034.665,420.2349;Inherit;False;Property;_NormalCreateOffset;Normal Create Offset;17;0;Create;True;0;0;False;0;False;0.35;0.35;0;0.5;0;1;FLOAT;0
Node;AmplifyShaderEditor.SamplerNode;4;1301.142,-381.1319;Inherit;True;Property;_asdasd;asdasd;8;0;Create;True;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.SamplerNode;857;1331.014,234.77;Inherit;True;Property;_BumpMap;Normal;14;1;[Normal];Create;False;0;0;False;1;Header(Normal);False;-1;None;e041849ee1925fa438dfa3ad631eb277;True;0;True;bump;Auto;True;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.IntNode;1338;1443.534,577.9716;Inherit;False;Property;_NormalMode;Normal Mode;16;1;[Enum];Create;True;2;Normal;0;Normal Create;1;0;False;0;False;0;0;0;1;INT;0
Node;AmplifyShaderEditor.FunctionNode;1475;1356.052,434.2139;Inherit;False;Normal Create Optimized;-1;;99;2eac668477391da4384a613fcf9b1f74;3,27,4,28,4,29,4;4;1;SAMPLER2D;0;False;2;FLOAT2;0,0;False;3;FLOAT;0.5;False;4;FLOAT;2;False;1;FLOAT3;0
Node;AmplifyShaderEditor.Vector2Node;1497;1671.118,284.0506;Inherit;False;Constant;_Vector0;Vector 0;23;0;Create;True;0;0;False;0;False;-1,1;0,0;0;3;FLOAT2;0;FLOAT;1;FLOAT;2
Node;AmplifyShaderEditor.FunctionNode;1491;1616.412,-309.6826;Inherit;False;FastMax;-1;;130;77893a230aa5d4a43b6f6510820a4d66;0;2;5;FLOAT;0;False;6;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.LerpOp;1337;1670.954,410.3343;Inherit;False;3;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT;0;False;1;FLOAT3;0
Node;AmplifyShaderEditor.FunctionNode;1492;1764.785,-309.6826;Inherit;False;FastMax;-1;;131;77893a230aa5d4a43b6f6510820a4d66;0;2;5;FLOAT;0;False;6;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;1443;1642.995,-213.1946;Inherit;False;Property;_AlbedoDesaturate;Albedo Desaturate;10;0;Create;True;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;1450;1642.848,-136.9773;Inherit;False;Property;_AlbedoRemapper;Albedo Remapper;11;0;Create;True;0;0;False;0;False;0;0;-2;2;0;1;FLOAT;0
Node;AmplifyShaderEditor.ComponentMaskNode;738;1616.935,-381.1902;Inherit;False;True;True;True;False;1;0;COLOR;0,0,0,0;False;1;FLOAT3;0
Node;AmplifyShaderEditor.ClampOpNode;1339;1856.05,410.6479;Inherit;False;3;0;FLOAT3;0,0,0;False;1;FLOAT3;-1,0,0;False;2;FLOAT3;1,0,0;False;1;FLOAT3;0
Node;AmplifyShaderEditor.RangedFloatNode;1456;1642.711,-62.5883;Inherit;False;Property;_AlbedoMax;Albedo Max;12;0;Create;True;0;0;False;0;False;1;1;0;2;0;1;FLOAT;0
Node;AmplifyShaderEditor.ColorNode;186;1877.644,-557.7852;Float;False;Property;_Color;Color;8;1;[HDR];Create;True;0;0;False;1;Header(Main);False;1,1,1,0;0.254717,0.1161984,0.0276344,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.SimpleAddOpNode;1457;1939.146,-133.2298;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.FunctionNode;1507;2015.801,409.8917;Inherit;False;Normal Backface Fix;-1;;139;5042132a257410b4b8b94f9551566a01;1,8,0;1;5;FLOAT3;0,0,1;False;1;FLOAT3;0
Node;AmplifyShaderEditor.LerpOp;1446;1946.361,-375.1903;Inherit;False;3;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT;0;False;1;FLOAT3;0
Node;AmplifyShaderEditor.RegisterLocalVarNode;1334;2268.147,404.5546;Inherit;False;normal;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0
Node;AmplifyShaderEditor.FunctionNode;1514;2131.541,-553.6588;Inherit;False;Hair Color Blend;37;;161;2668a07de1b8779428ae358f75c4816c;3,20,1,29,2,33,2;1;16;FLOAT3;0,0,0;False;1;FLOAT3;0
Node;AmplifyShaderEditor.FunctionNode;1449;2133.024,-375.9359;Inherit;False;Remap From 0-1;-1;;160;5454cc39823be5644b26279791046fff;0;3;6;FLOAT3;0,0,0;False;7;FLOAT;0;False;8;FLOAT;1;False;1;FLOAT3;0
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;1302;2361.754,-376.1107;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0
Node;AmplifyShaderEditor.RangedFloatNode;1096;1382.079,27.84278;Inherit;False;Property;_OpacityMaskMultiplier;Opacity Mask Multiplier;4;0;Create;True;0;0;False;0;False;1;1;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.GetLocalVarNode;1143;2068.437,-224.496;Inherit;False;1334;normal;1;0;OBJECT;0;False;1;FLOAT3;0
Node;AmplifyShaderEditor.GetLocalVarNode;1487;1808.326,-658.8912;Inherit;False;1334;normal;1;0;OBJECT;0;False;1;FLOAT3;0
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;1093;1644.344,10.04201;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;2;False;1;FLOAT;0
Node;AmplifyShaderEditor.NormalizeNode;1505;2343.847,-287.3391;Inherit;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0
Node;AmplifyShaderEditor.FunctionNode;1502;2258.003,-219.4318;Inherit;False;Subsurface Scattering;18;;164;5fc3947ab881fac449027203ace33981;2,110,0,167,0;2;45;FLOAT3;0,0,1;False;104;FLOAT3;0,0,0;False;1;FLOAT3;100
Node;AmplifyShaderEditor.FunctionNode;1503;2001.507,-653.6028;Inherit;False;Hair Anisotropic;24;;165;938004f063eefba4ab5538c4c89e1e18;1,81,1;2;83;FLOAT3;0,0,1;False;82;FLOAT;1;False;2;FLOAT3;0;FLOAT;93
Node;AmplifyShaderEditor.SaturateNode;1496;1782.448,9.114454;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;1504;2506.733,-287.369;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0
Node;AmplifyShaderEditor.SimpleAddOpNode;1327;2663.069,-377.5301;Inherit;False;3;3;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;1;FLOAT3;0
Node;AmplifyShaderEditor.IntNode;1431;1927.546,80.11235;Inherit;False;Property;_BlendMode;Blend Mode;1;1;[Enum];Create;True;2;Opaque;0;Alpha Test;1;0;False;0;False;0;1;0;1;INT;0
Node;AmplifyShaderEditor.OneMinusNode;1458;1934.905,8.697037;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;1459;2098.904,8.697037;Inherit;False;2;2;0;FLOAT;0;False;1;INT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;1084;2662.477,-254.8813;Inherit;False;Property;_Emission;Emission;13;0;Create;True;0;0;False;0;False;0;0;0;10;0;1;FLOAT;0
Node;AmplifyShaderEditor.SaturateNode;1111;2804.501,-377.7237;Inherit;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;1012;2973.425,-378.4218;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0
Node;AmplifyShaderEditor.OneMinusNode;1460;2243.905,7.697037;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.RegisterLocalVarNode;945;3136,-384;Inherit;False;emission;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0
Node;AmplifyShaderEditor.RangedFloatNode;897;2568.595,168.4935;Inherit;False;Property;_AOIntensity;AO Intensity;7;0;Create;True;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;1085;2569.005,99.94745;Inherit;False;Property;_Smoothness;Smoothness;5;0;Create;True;0;0;False;0;False;0.5;0.3;0;1;0;1;FLOAT;0
Node;AmplifyShaderEditor.RegisterLocalVarNode;1462;2411.205,2.75108;Inherit;False;opacitymask;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.GetLocalVarNode;875;2826.347,-146.8406;Inherit;False;1334;normal;1;0;OBJECT;;False;1;FLOAT3;0
Node;AmplifyShaderEditor.GetLocalVarNode;1463;2817.11,248.4445;Inherit;False;1462;opacitymask;1;0;OBJECT;;False;1;FLOAT;0
Node;AmplifyShaderEditor.IntNode;852;3136,-144;Inherit;False;Property;_CullMode;Cull Mode;0;1;[Enum];Create;True;1;Option1;0;1;UnityEngine.Rendering.CullMode;True;1;Header(Global Properties);False;0;0;0;1;INT;0
Node;AmplifyShaderEditor.FunctionNode;1495;2860.134,81.14105;Inherit;False;FastMax;-1;;166;77893a230aa5d4a43b6f6510820a4d66;0;2;5;FLOAT;0;False;6;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;1092;2731.781,3.303111;Inherit;False;Property;_Metallic;Metallic;6;0;Create;True;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0
Node;AmplifyShaderEditor.GetLocalVarNode;946;2824.893,-73.6375;Inherit;False;945;emission;1;0;OBJECT;;False;1;FLOAT3;0
Node;AmplifyShaderEditor.RangedFloatNode;1097;3136,-224;Inherit;False;Property;_MaskClipValue;Mask Clip Value;2;0;Create;True;0;0;True;0;False;0.5;0.5;0.15;0.85;0;1;FLOAT;0
Node;AmplifyShaderEditor.OneMinusNode;1464;2859.769,172.9008;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.IntNode;1508;3136,-304;Inherit;False;Property;_AlphaToCoverage;Alpha To Coverage;3;0;Create;True;0;1;;True;1;Toggle(_);False;0;0;0;1;INT;0
Node;AmplifyShaderEditor.RegisterLocalVarNode;1307;2132.128,-469.4288;Inherit;False;maintexRGBmax;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;3136,-64;Float;False;True;-1;2;ASEMaterialInspector;0;0;Standard;AV/Standard/Hair;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;-1;0;False;-1;False;0;False;-1;0;False;-1;False;0;Custom;0.5;True;True;0;True;Opaque;;AlphaTest;ForwardOnly;14;all;True;True;True;True;0;False;-1;False;0;False;-1;255;False;-1;255;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;False;2;15;10;25;False;0.5;True;2;5;False;-1;10;False;-1;0;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;Relative;0;;-1;-1;-1;-1;0;True;0;0;True;852;-1;0;True;1097;0;0;0;False;0.1;False;-1;0;True;1508;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0
Node;AmplifyShaderEditor.CommentaryNode;1509;3353.064,-287.2827;Inherit;False;217.2517;100;works only with MSAA;0;;1,1,1,1;0;0
WireConnection;4;0;1336;0
WireConnection;857;5;859;0
WireConnection;1475;1;1336;0
WireConnection;1475;3;1329;0
WireConnection;1475;4;859;0
WireConnection;1491;5;4;1
WireConnection;1491;6;4;2
WireConnection;1337;0;857;0
WireConnection;1337;1;1475;0
WireConnection;1337;2;1338;0
WireConnection;1492;5;1491;0
WireConnection;1492;6;4;3
WireConnection;738;0;4;0
WireConnection;1339;0;1337;0
WireConnection;1339;1;1497;1
WireConnection;1339;2;1497;2
WireConnection;1457;0;1450;0
WireConnection;1457;1;1456;0
WireConnection;1507;5;1339;0
WireConnection;1446;0;738;0
WireConnection;1446;1;1492;0
WireConnection;1446;2;1443;0
WireConnection;1334;0;1507;0
WireConnection;1514;16;186;0
WireConnection;1449;6;1446;0
WireConnection;1449;7;1450;0
WireConnection;1449;8;1457;0
WireConnection;1302;0;1449;0
WireConnection;1302;1;1514;0
WireConnection;1093;0;4;4
WireConnection;1093;1;1096;0
WireConnection;1505;0;1302;0
WireConnection;1502;45;1143;0
WireConnection;1503;83;1487;0
WireConnection;1503;82;1492;0
WireConnection;1496;0;1093;0
WireConnection;1504;0;1505;0
WireConnection;1504;1;1502;100
WireConnection;1327;0;1302;0
WireConnection;1327;1;1503;0
WireConnection;1327;2;1504;0
WireConnection;1458;0;1496;0
WireConnection;1459;0;1458;0
WireConnection;1459;1;1431;0
WireConnection;1111;0;1327;0
WireConnection;1012;0;1111;0
WireConnection;1012;1;1084;0
WireConnection;1460;0;1459;0
WireConnection;945;0;1012;0
WireConnection;1462;0;1460;0
WireConnection;1495;5;1503;93
WireConnection;1495;6;1085;0
WireConnection;1464;0;897;0
WireConnection;1307;0;1492;0
WireConnection;0;0;1111;0
WireConnection;0;1;875;0
WireConnection;0;2;946;0
WireConnection;0;3;1092;0
WireConnection;0;4;1495;0
WireConnection;0;5;1464;0
WireConnection;0;10;1463;0
ASEEND*/
//CHKSM=DE83C603F1F7AAF5A04E372DDAADD7C16F6DA81A
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 42727044413e1f548a2cf2ba868ce472
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
+9
View File
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 524e0f305f8d73d4c852b86451c77463
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:
+68
View File
@@ -0,0 +1,68 @@
// Calculates adaptation to minimum/maximum luminance values,
// based on "currently adapted" and "new values to adapt to"
// textures (both 1x1).
Shader "Hidden/Contrast Stretch Adaptation" {
Properties {
_MainTex ("Base (RGB)", 2D) = "white" {}
_CurTex ("Base (RGB)", 2D) = "white" {}
}
Category {
SubShader {
Pass {
ZTest Always Cull Off ZWrite Off
CGPROGRAM
#pragma vertex vert_img
#pragma fragment frag
#include "UnityCG.cginc"
uniform sampler2D _MainTex; // currently adapted to
uniform sampler2D _CurTex; // new value to adapt to
uniform float4 _AdaptParams; // x=adaptLerp, y=limitMinimum, z=limitMaximum
float4 frag (v2f_img i) : SV_Target {
// value is: max, min
float2 valAdapted = tex2D(_MainTex, i.uv).xy;
float2 valCur = tex2D(_CurTex, i.uv).xy;
// Calculate new adapted values: interpolate
// from valAdapted to valCur by script-supplied amount.
//
// Because we store adaptation levels in a simple 8 bit/channel
// texture, we might not have enough precision - the interpolation
// amount might be too small to change anything, and we'll never
// arrive at the needed values.
//
// So we make sure the change we do is at least 1/255th of the
// color range - this way we'll always change the value.
const float kMinChange = 1.0/255.0;
float2 delta = (valCur-valAdapted) * _AdaptParams.x;
delta.x = sign(delta.x) * max( kMinChange, abs(delta.x) );
delta.y = sign(delta.y) * max( kMinChange, abs(delta.y) );
float4 valNew;
valNew.xy = valAdapted + delta;
// Impose user limits on maximum/minimum values
valNew.x = max( valNew.x, _AdaptParams.z );
valNew.y = min( valNew.y, _AdaptParams.y );
// Optimization so that our final apply pass is faster:
// z = max-min (plus a small amount to prevent division by zero)
valNew.z = valNew.x - valNew.y + 0.01;
// w = min/(max-min)
valNew.w = valNew.y / valNew.z;
return valNew;
}
ENDCG
}
}
}
Fallback off
}
+4
View File
@@ -0,0 +1,4 @@
fileFormatVersion: 2
guid: 257bc83cbeb544540bd0e558aa9b1383
ShaderImporter:
userData:
+58
View File
@@ -0,0 +1,58 @@
// Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt)
Shader "GlobalSnow/Excluded Terrain/Diffuse-AddPass" {
CGINCLUDE
#pragma surface surf Lambert decal:add vertex:SplatmapVert finalcolor:SplatmapFinalColor finalprepass:SplatmapFinalPrepass finalgbuffer:SplatmapFinalGBuffer fullforwardshadows nometa
#pragma instancing_options assumeuniformscaling nomatrices nolightprobe nolightmap forwardadd
#pragma multi_compile_fog
#define TERRAIN_SPLAT_ADDPASS
#include "TerrainSplatmapCommon.cginc"
void surf(Input IN, inout SurfaceOutput o)
{
half4 splat_control;
half weight;
fixed4 mixedDiffuse;
SplatmapMix(IN, splat_control, weight, mixedDiffuse, o.Normal);
o.Albedo = mixedDiffuse.rgb;
o.Alpha = weight;
}
ENDCG
Category {
Tags {
"Queue" = "Geometry-99"
"IgnoreProjector"="True"
"RenderType" = "Opaque"
}
// TODO: Seems like "#pragma target 3.0 _NORMALMAP" can't fallback correctly on less capable devices?
// Use two sub-shaders to simulate different features for different targets and still fallback correctly.
SubShader { // for sm3.0+ targets
Stencil {
Ref 8
WriteMask 8
Comp Always
Pass replace
}
CGPROGRAM
#pragma target 3.0
#pragma multi_compile __ _NORMALMAP
ENDCG
}
SubShader { // for sm2.0 targets
Stencil {
Ref 8
WriteMask 8
Comp Always
Pass replace
}
CGPROGRAM
ENDCG
}
}
Fallback off
}
+9
View File
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 94590c603f52541c78f061d93990302b
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because one or more lines are too long
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: eba4de16748d44c1db6e9a2471bdde58
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: ca706707dda794df5a2acc28a4fbc3fd
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}
@@ -0,0 +1,136 @@
Shader "NatureManufacture Shaders/Grass/Advanced Grass Light Snow"
{
Properties
{
_Cutoff( "Mask Clip Value", Float ) = 0.5
_HealthyColor("Healthy Color", Color) = (1,1,1,1)
_DryColor("Dry Color", Color) = (0.875,0.8280551,0.7270221,1)
_ColorNoiseSpread("Color Noise Spread", Float) = 15
_MainTex("MainTex", 2D) = "white" {}
_MetallicPower("Metallic Power", Range( 0 , 1)) = 0
_SmoothnessPower("Smoothness Power", Range( 0 , 2)) = 0
_NewNormal("Vertex Normal Multiply", Vector) = (0,0,0,0)
_InitialBend("Wind Initial Bend", Float) = 1
_Stiffness("Wind Stiffness", Float) = 1
_Drag("Wind Drag", Float) = 1
_ShiverDrag("Wind Shiver Drag", Float) = 0.05
_ShiverDirectionality("Wind Shiver Directionality", Range( 0 , 1)) = 0.5
_WindColorInfluence("Wind Color Influence", Vector) = (0,0,0,0)
_WindColorThreshold("Wind Color Threshold", Float) = 1
_WindNormalInfluence("Wind Normal Influence", Float) = 0
_CullFarStart("CullFarStart", Range( 0 , 10000)) = 40
_CullFarDistance("CullFarDistance", Range( 0 , 10000)) = 5
[Toggle]_BackFaceMirrorNormal("BackFace Mirror Normal", Float) = 0
_Snow_Amount("Snow_Amount", Range( 0 , 2)) = 0.13
_SnowCover("Snow Cover", 2D) = "white" {}
_SnowColorBrightness("Snow Color Brightness", Range( 0 , 2)) = 1
_Snow_Min_Height("Snow_Min_Height", Range( -1000 , 10000)) = -1000
_Snow_Min_Height_Blending("Snow_Min_Height_Blending", Range( 0 , 500)) = 1
[Toggle(_TOUCHREACTACTIVE_ON)] _TouchReactActive("TouchReactActive", Float) = 0
[HideInInspector] _texcoord( "", 2D ) = "white" {}
[HideInInspector] __dirty( "", Int ) = 1
}
SubShader
{
Tags{ "RenderType" = "Transparent" "Queue" = "Geometry+0" }
Cull Off
CGPROGRAM
#include "UnityShaderVariables.cginc"
#pragma target 3.0
#pragma multi_compile_instancing
#pragma shader_feature _TOUCHREACTACTIVE_ON
#include "NM_indirect.cginc"
#include "NMWind.cginc"
#pragma instancing_options procedural:setup
#pragma multi_compile GPU_FRUSTUM_ON __
#pragma vertex vert
#pragma surface surf Standard keepalpha addshadow fullforwardshadows
struct Input
{
half ASEVFace : VFACE;
float3 worldPos;
half2 uv_texcoord;
float4 vertexColor : COLOR;
};
uniform half _BackFaceMirrorNormal;
uniform half4 _HealthyColor;
uniform half4 _DryColor;
uniform half _ColorNoiseSpread;
uniform sampler2D _MainTex;
uniform float4 _MainTex_ST;
uniform half3 _WindColorInfluence;
uniform half _WindColorThreshold;
uniform sampler2D _SnowCover;
uniform float4 _SnowCover_ST;
uniform half _SnowColorBrightness;
uniform half _Snow_Amount;
uniform half _Snow_Min_Height;
uniform half _Snow_Min_Height_Blending;
uniform half _MetallicPower;
uniform half _SmoothnessPower;
uniform float _Cutoff = 0.5;
float3 mod2D289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; }
float2 mod2D289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; }
float3 permute( float3 x ) { return mod2D289( ( ( x * 34.0 ) + 1.0 ) * x ); }
float snoise( float2 v )
{
const float4 C = float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 );
float2 i = floor( v + dot( v, C.yy ) );
float2 x0 = v - i + dot( i, C.xx );
float2 i1;
i1 = ( x0.x > x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 );
float4 x12 = x0.xyxy + C.xxzz;
x12.xy -= i1;
i = mod2D289( i );
float3 p = permute( permute( i.y + float3( 0.0, i1.y, 1.0 ) ) + i.x + float3( 0.0, i1.x, 1.0 ) );
float3 m = max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 );
m = m * m;
m = m * m;
float3 x = 2.0 * frac( p * C.www ) - 1.0;
float3 h = abs( x ) - 0.5;
float3 ox = floor( x + 0.5 );
float3 a0 = x - ox;
m *= 1.79284291400159 - 0.85373472095314 * ( a0 * a0 + h * h );
float3 g;
g.x = a0.x * x0.x + h.x * x0.y;
g.yz = a0.yz * x12.xz + h.yz * x12.yw;
return 130.0 * dot( m, g );
}
void surf( Input i , inout SurfaceOutputStandard o )
{
float3 switchResult439 = (((i.ASEVFace>0)?(half3(0,0,1)):(half3(0,0,-1))));
o.Normal = lerp(float3( 0,0,1 ),switchResult439,_BackFaceMirrorNormal);
float3 ase_worldPos = i.worldPos;
float2 appendResult427 = (half2(ase_worldPos.x , ase_worldPos.z));
float simplePerlin2D432 = snoise( ( appendResult427 / _ColorNoiseSpread ) );
float4 lerpResult433 = lerp( _HealthyColor , _DryColor , simplePerlin2D432);
float2 uv0_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
half4 tex2DNode3 = tex2D( _MainTex, uv0_MainTex );
float clampResult437 = clamp( i.vertexColor.r , 0.0 , 1.0 );
float3 lerpResult465 = lerp( ( float3( 1,1,1 ) - _WindColorInfluence ) , ( float3( 1,1,1 ) + _WindColorInfluence ) , pow( clampResult437 , _WindColorThreshold ));
float2 uv0_SnowCover = i.uv_texcoord * _SnowCover_ST.xy + _SnowCover_ST.zw;
float temp_output_495_0 = ( ( 1.0 - _Snow_Min_Height ) + ase_worldPos.y );
float clampResult502 = clamp( ( temp_output_495_0 + 1.0 ) , 0.0 , 1.0 );
float clampResult503 = clamp( ( ( 1.0 - ( ( temp_output_495_0 + _Snow_Min_Height_Blending ) / temp_output_495_0 ) ) + -0.5 ) , 0.0 , 1.0 );
float clampResult505 = clamp( ( clampResult502 + clampResult503 ) , 0.0 , 1.0 );
float4 lerpResult483 = lerp( ( ( lerpResult433 * tex2DNode3 ) * half4( lerpResult465 , 0.0 ) ) , ( tex2D( _SnowCover, uv0_SnowCover ) * _SnowColorBrightness ) , saturate( abs( ( _Snow_Amount * clampResult505 ) ) ));
o.Albedo = lerpResult483.rgb;
o.Metallic = _MetallicPower;
o.Smoothness = _SmoothnessPower;
o.Alpha = 1;
clip( tex2DNode3.a - _Cutoff );
}
ENDCG
}
Fallback "Diffuse"
}
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: f485d5c76878320459be5dc2aba396ee
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:
+121
View File
@@ -0,0 +1,121 @@
Shader "NatureManufacture Shaders/Grass/Advanced Grass Light"
{
Properties
{
_Cutoff( "Mask Clip Value", Float ) = 0.051
_HealthyColor("Healthy Color", Color) = (1,1,1,1)
_DryColor("Dry Color", Color) = (0.875,0.8280551,0.7270221,1)
_ColorNoiseSpread("Color Noise Spread", Float) = 15
_MainTex("MainTex", 2D) = "white" {}
_MetallicPower("Metallic Power", Range( 0 , 1)) = 0
_SmoothnessPower("Smoothness Power", Range( 0 , 2)) = 0
_NewNormal("Vertex Normal Multiply", Vector) = (0,0,0,0)
_InitialBend("Wind Initial Bend", Float) = 1
_Stiffness("Wind Stiffness", Float) = 1
_Drag("Wind Drag", Float) = 1
_ShiverDrag("Wind Shiver Drag", Float) = 0.05
_ShiverDirectionality("Wind Shiver Directionality", Range( 0 , 1)) = 0.5
_WindColorInfluence("Wind Color Influence", Vector) = (0,0,0,0)
_WindColorThreshold("Wind Color Threshold", Range( 0 , 10)) = 1
_WindNormalInfluence("Wind Normal Influence", Float) = 0
_CullFarDistance("CullFarDistance", Range( 0 , 10000)) = 5
_CullFarStart("CullFarStart", Range( 0 , 10000)) = 40
[Toggle]_BackFaceMirrorNormal("BackFace Mirror Normal", Float) = 1
[Toggle(_TOUCHREACTACTIVE_ON)] _TouchReactActive("TouchReactActive", Float) = 0
[HideInInspector] _texcoord( "", 2D ) = "white" {}
[HideInInspector] __dirty( "", Int ) = 1
}
SubShader
{
Tags{ "RenderType" = "Transparent" "Queue" = "Geometry+0" }
Cull Off
CGPROGRAM
#include "UnityShaderVariables.cginc"
#pragma target 3.0
#pragma multi_compile_instancing
#pragma shader_feature _TOUCHREACTACTIVE_ON
#include "NMWind.cginc"
#include "NM_indirect.cginc"
#pragma vertex vert
#pragma multi_compile GPU_FRUSTUM_ON __
#pragma instancing_options procedural:setup
#pragma surface surf Standard keepalpha addshadow fullforwardshadows
struct Input
{
half ASEVFace : VFACE;
float3 worldPos;
half2 uv_texcoord;
float4 vertexColor : COLOR;
};
uniform half _BackFaceMirrorNormal;
uniform half4 _HealthyColor;
uniform half4 _DryColor;
uniform half _ColorNoiseSpread;
uniform sampler2D _MainTex;
uniform float4 _MainTex_ST;
uniform half3 _WindColorInfluence;
uniform half _WindColorThreshold;
uniform half _MetallicPower;
uniform half _SmoothnessPower;
uniform float _Cutoff = 0.051;
float3 mod2D289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; }
float2 mod2D289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; }
float3 permute( float3 x ) { return mod2D289( ( ( x * 34.0 ) + 1.0 ) * x ); }
float snoise( float2 v )
{
const float4 C = float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 );
float2 i = floor( v + dot( v, C.yy ) );
float2 x0 = v - i + dot( i, C.xx );
float2 i1;
i1 = ( x0.x > x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 );
float4 x12 = x0.xyxy + C.xxzz;
x12.xy -= i1;
i = mod2D289( i );
float3 p = permute( permute( i.y + float3( 0.0, i1.y, 1.0 ) ) + i.x + float3( 0.0, i1.x, 1.0 ) );
float3 m = max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 );
m = m * m;
m = m * m;
float3 x = 2.0 * frac( p * C.www ) - 1.0;
float3 h = abs( x ) - 0.5;
float3 ox = floor( x + 0.5 );
float3 a0 = x - ox;
m *= 1.79284291400159 - 0.85373472095314 * ( a0 * a0 + h * h );
float3 g;
g.x = a0.x * x0.x + h.x * x0.y;
g.yz = a0.yz * x12.xz + h.yz * x12.yw;
return 130.0 * dot( m, g );
}
void surf( Input i , inout SurfaceOutputStandard o )
{
float3 switchResult433 = (((i.ASEVFace>0)?(half3(0,0,1)):(half3(0,0,-1))));
o.Normal = lerp(float3( 0,0,1 ),switchResult433,_BackFaceMirrorNormal);
float3 ase_worldPos = i.worldPos;
float2 appendResult427 = (half2(ase_worldPos.x , ase_worldPos.z));
float simplePerlin2D430 = snoise( ( appendResult427 / _ColorNoiseSpread ) );
float4 lerpResult432 = lerp( _HealthyColor , _DryColor , simplePerlin2D430);
float2 uv0_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
half4 tex2DNode3 = tex2D( _MainTex, uv0_MainTex );
float clampResult424 = clamp( i.vertexColor.r , 0.0 , 1.0 );
float3 lerpResult443 = lerp( ( float3( 1,1,1 ) - _WindColorInfluence ) , ( float3( 1,1,1 ) + _WindColorInfluence ) , pow( clampResult424 , _WindColorThreshold ));
o.Albedo = ( ( lerpResult432 * tex2DNode3 ) * half4( lerpResult443 , 0.0 ) ).rgb;
o.Metallic = _MetallicPower;
o.Smoothness = _SmoothnessPower;
o.Alpha = 1;
//clip( ( ( 1.0 - saturate( ( ( distance( ase_worldPos , _WorldSpaceCameraPos ) - _CullFarStart ) / _CullFarDistance ) ) ) * tex2DNode3.a ) - _Cutoff );
clip( tex2DNode3.a - _Cutoff );
}
ENDCG
}
Fallback "Diffuse"
}
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 14642f160589e354db97395ba4bdc651
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,255 @@
Shader "NatureManufacture Shaders/Grass/Advanced Grass Specular Snow"
{
Properties
{
_Cutoff( "Mask Clip Value", Float ) = 0.5
_HealthyColor("Healthy Color", Color) = (1,1,1,1)
_DryColor("Dry Color", Color) = (0.875,0.8280551,0.7270221,1)
_ColorNoiseSpread("Color Noise Spread", Float) = 15
_MainTex("MainTex", 2D) = "white" {}
[NoScaleOffset]_BumpMap("BumpMap", 2D) = "bump" {}
_BumpScale("BumpScale", Range( 0 , 2)) = 1
[NoScaleOffset]_AmbientOcclusionG("AO (G) Sm (A)", 2D) = "white" {}
_AmbientOcclusionPower("Ambient Occlusion Power", Range( 0 , 1)) = 0
_SmoothnessPower("Smoothness Power", Range( 0 , 2)) = 0
_Specular("Specular", Range( 0 , 1)) = 0
_NewNormal("Vertex Normal Multiply", Vector) = (0,0,0,0)
_InitialBend("Wind Initial Bend", Float) = 1
_Stiffness("Wind Stiffness", Float) = 1
_Drag("Wind Drag", Float) = 1
_ShiverDrag("Wind Shiver Drag", Float) = 0.05
_ShiverDirectionality("Wind Shiver Directionality", Range( 0 , 1)) = 0.5
_WindColorInfluence("Wind Color Influence", Vector) = (0,0,0,0)
_WindColorThreshold("Wind Color Threshold", Float) = 1
_WindNormalInfluence("Wind Normal Influence", Float) = 0
_CullFarStart("CullFarStart", Range( 0 , 10000)) = 40
_CullFarDistance("CullFarDistance", Range( 0 , 10000)) = 5
[Toggle]_BackFaceMirrorNormal("BackFace Mirror Normal", Float) = 0
_Snow_Amount("Snow_Amount", Range( 0 , 2)) = 0.13
_SnowCover("Snow Cover", 2D) = "white" {}
_SnowColorBrightness("Snow Color Brightness", Range( 0 , 2)) = 1
_SnowMaxCover("Snow Max Cover", Range( 0 , 2)) = 0.35
_SnowSpecularPower("Snow Specular Power", Range( 0 , 1)) = 0
_Snow_Min_Height("Snow_Min_Height", Range( -1000 , 10000)) = -1000
_Snow_Min_Height_Blending("Snow_Min_Height_Blending", Range( 0 , 500)) = 1
[Toggle(_TOUCHREACTACTIVE_ON)] _TouchReactActive("TouchReactActive", Float) = 0
[HideInInspector] _texcoord( "", 2D ) = "white" {}
[HideInInspector] __dirty( "", Int ) = 1
}
SubShader
{
Tags{ "RenderType" = "Transparent" "Queue" = "Geometry+0" }
Cull Off
CGINCLUDE
#include "UnityStandardUtils.cginc"
#include "UnityShaderVariables.cginc"
#include "UnityPBSLighting.cginc"
#include "Lighting.cginc"
#pragma target 3.0
#pragma multi_compile_instancing
#pragma shader_feature _TOUCHREACTACTIVE_ON
#include "NM_indirect.cginc"
#include "NMWind.cginc"
#pragma instancing_options procedural:setup
#pragma multi_compile GPU_FRUSTUM_ON __
#pragma vertex vert
#ifdef UNITY_PASS_SHADOWCASTER
#undef INTERNAL_DATA
#undef WorldReflectionVector
#undef WorldNormalVector
#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;
#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))
#define WorldNormalVector(data,normal) half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))
#endif
struct Input
{
half2 uv_texcoord;
half ASEVFace : VFACE;
float3 worldPos;
float4 vertexColor : COLOR;
float3 worldNormal;
INTERNAL_DATA
};
uniform half _BackFaceMirrorNormal;
uniform half _BumpScale;
uniform sampler2D _BumpMap;
uniform sampler2D _MainTex;
uniform float4 _MainTex_ST;
uniform half4 _HealthyColor;
uniform half4 _DryColor;
uniform half _ColorNoiseSpread;
uniform half3 _WindColorInfluence;
uniform half _WindColorThreshold;
uniform sampler2D _SnowCover;
uniform float4 _SnowCover_ST;
uniform half _SnowColorBrightness;
uniform half _SnowMaxCover;
uniform half _Snow_Amount;
uniform half _Snow_Min_Height;
uniform half _Snow_Min_Height_Blending;
uniform half _Specular;
uniform half _SnowSpecularPower;
uniform sampler2D _AmbientOcclusionG;
uniform half _SmoothnessPower;
uniform half _AmbientOcclusionPower;
uniform float _Cutoff = 0.5;
float3 mod2D289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; }
float2 mod2D289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; }
float3 permute( float3 x ) { return mod2D289( ( ( x * 34.0 ) + 1.0 ) * x ); }
float snoise( float2 v )
{
const float4 C = float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 );
float2 i = floor( v + dot( v, C.yy ) );
float2 x0 = v - i + dot( i, C.xx );
float2 i1;
i1 = ( x0.x > x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 );
float4 x12 = x0.xyxy + C.xxzz;
x12.xy -= i1;
i = mod2D289( i );
float3 p = permute( permute( i.y + float3( 0.0, i1.y, 1.0 ) ) + i.x + float3( 0.0, i1.x, 1.0 ) );
float3 m = max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 );
m = m * m;
m = m * m;
float3 x = 2.0 * frac( p * C.www ) - 1.0;
float3 h = abs( x ) - 0.5;
float3 ox = floor( x + 0.5 );
float3 a0 = x - ox;
m *= 1.79284291400159 - 0.85373472095314 * ( a0 * a0 + h * h );
float3 g;
g.x = a0.x * x0.x + h.x * x0.y;
g.yz = a0.yz * x12.xz + h.yz * x12.yw;
return 130.0 * dot( m, g );
}
void surf( Input i , inout SurfaceOutputStandardSpecular o )
{
float2 uv0_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
half3 tex2DNode4 = UnpackScaleNormal( tex2D( _BumpMap, uv0_MainTex ), _BumpScale );
float3 switchResult439 = (((i.ASEVFace>0)?(tex2DNode4):(( tex2DNode4 * float3( -1,-1,-1 ) ))));
o.Normal = lerp(tex2DNode4,switchResult439,_BackFaceMirrorNormal);
float3 ase_worldPos = i.worldPos;
float2 appendResult427 = (half2(ase_worldPos.x , ase_worldPos.z));
float simplePerlin2D432 = snoise( ( appendResult427 / _ColorNoiseSpread ) );
float4 lerpResult433 = lerp( _HealthyColor , _DryColor , simplePerlin2D432);
half4 tex2DNode3 = tex2D( _MainTex, uv0_MainTex );
float clampResult437 = clamp( i.vertexColor.r , 0.0 , 1.0 );
float3 lerpResult465 = lerp( ( float3( 1,1,1 ) - _WindColorInfluence ) , ( float3( 1,1,1 ) + _WindColorInfluence ) , pow( clampResult437 , _WindColorThreshold ));
float4 temp_output_355_0 = ( ( lerpResult433 * tex2DNode3 ) * half4( lerpResult465 , 0.0 ) );
float2 uv0_SnowCover = i.uv_texcoord * _SnowCover_ST.xy + _SnowCover_ST.zw;
float4 temp_output_514_0 = ( tex2D( _SnowCover, uv0_SnowCover ) * _SnowColorBrightness );
float3 newWorldNormal475 = (WorldNormalVector( i , tex2DNode4 ));
float temp_output_495_0 = ( ( 1.0 - _Snow_Min_Height ) + ase_worldPos.y );
float clampResult502 = clamp( ( temp_output_495_0 + 1.0 ) , 0.0 , 1.0 );
float clampResult503 = clamp( ( ( 1.0 - ( ( temp_output_495_0 + _Snow_Min_Height_Blending ) / temp_output_495_0 ) ) + -0.5 ) , 0.0 , 1.0 );
float clampResult505 = clamp( ( clampResult502 + clampResult503 ) , 0.0 , 1.0 );
float temp_output_485_0 = saturate( abs( ( ( newWorldNormal475.x + ( newWorldNormal475.y * _SnowMaxCover ) + newWorldNormal475.z ) * ( _Snow_Amount * clampResult505 ) ) ) );
float4 lerpResult483 = lerp( temp_output_355_0 , temp_output_514_0 , temp_output_485_0);
o.Albedo = lerpResult483.rgb;
float4 clampResult420 = clamp( ( _Specular * ( temp_output_355_0 * float4( 0.3,0.3019608,0.3019608,0.3019608 ) ) ) , float4( 0,0,0,0 ) , float4( 0.5019608,0.5019608,0.5019608,0 ) );
float4 clampResult490 = clamp( ( ( float4( 0,0,0,0 ) * temp_output_514_0 ) * _SnowSpecularPower ) , float4( 0,0,0,0 ) , float4( 0.5019608,0.5019608,0.5019608,0 ) );
float4 lerpResult487 = lerp( clampResult420 , clampResult490 , temp_output_485_0);
o.Specular = lerpResult487.rgb;
half4 tex2DNode98 = tex2D( _AmbientOcclusionG, uv0_MainTex );
o.Smoothness = ( tex2DNode98.a * _SmoothnessPower );
float clampResult150 = clamp( tex2DNode98.g , ( 1.0 - _AmbientOcclusionPower ) , 1.0 );
o.Occlusion = clampResult150;
o.Alpha = 1;
clip( tex2DNode3.a - _Cutoff );
}
ENDCG
CGPROGRAM
#pragma surface surf StandardSpecular keepalpha fullforwardshadows
ENDCG
Pass
{
Name "ShadowCaster"
Tags{ "LightMode" = "ShadowCaster" }
ZWrite On
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 3.0
#pragma multi_compile_shadowcaster
#pragma multi_compile UNITY_PASS_SHADOWCASTER
#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2
#include "HLSLSupport.cginc"
#if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN )
#define CAN_SKIP_VPOS
#endif
#include "UnityCG.cginc"
#include "Lighting.cginc"
#include "UnityPBSLighting.cginc"
struct v2f
{
V2F_SHADOW_CASTER;
float2 customPack1 : TEXCOORD1;
float4 tSpace0 : TEXCOORD2;
float4 tSpace1 : TEXCOORD3;
float4 tSpace2 : TEXCOORD4;
half4 color : COLOR0;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
v2f vert( appdata_full v )
{
v2f o;
UNITY_SETUP_INSTANCE_ID( v );
UNITY_INITIALIZE_OUTPUT( v2f, o );
UNITY_TRANSFER_INSTANCE_ID( v, o );
AdditionalWind(v);
Input customInputData;
float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz;
half3 worldNormal = UnityObjectToWorldNormal( v.normal );
half3 worldTangent = UnityObjectToWorldDir( v.tangent.xyz );
half tangentSign = v.tangent.w * unity_WorldTransformParams.w;
half3 worldBinormal = cross( worldNormal, worldTangent ) * tangentSign;
o.tSpace0 = float4( worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x );
o.tSpace1 = float4( worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y );
o.tSpace2 = float4( worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z );
o.customPack1.xy = customInputData.uv_texcoord;
o.customPack1.xy = v.texcoord;
TRANSFER_SHADOW_CASTER_NORMALOFFSET( o )
o.color = v.color;
return o;
}
half4 frag( v2f IN
#if !defined( CAN_SKIP_VPOS )
, UNITY_VPOS_TYPE vpos : VPOS
#endif
) : SV_Target
{
UNITY_SETUP_INSTANCE_ID( IN );
Input surfIN;
UNITY_INITIALIZE_OUTPUT( Input, surfIN );
surfIN.uv_texcoord = IN.customPack1.xy;
float3 worldPos = float3( IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w );
half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) );
surfIN.worldPos = worldPos;
surfIN.worldNormal = float3( IN.tSpace0.z, IN.tSpace1.z, IN.tSpace2.z );
surfIN.internalSurfaceTtoW0 = IN.tSpace0.xyz;
surfIN.internalSurfaceTtoW1 = IN.tSpace1.xyz;
surfIN.internalSurfaceTtoW2 = IN.tSpace2.xyz;
surfIN.vertexColor = IN.color;
SurfaceOutputStandardSpecular o;
UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandardSpecular, o )
surf( surfIN, o );
#if defined( CAN_SKIP_VPOS )
float2 vpos = IN.pos;
#endif
SHADOW_CASTER_FRAGMENT( IN )
}
ENDCG
}
}
Fallback "Diffuse"
}
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 50461d4489451d944888a8a4bef3e799
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

Some files were not shown because too many files have changed in this diff Show More