diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..2b5a94b Binary files /dev/null and b/.DS_Store differ diff --git a/Assets/.DS_Store b/Assets/.DS_Store new file mode 100644 index 0000000..977e240 Binary files /dev/null and b/Assets/.DS_Store differ diff --git a/Assets/Materials/Ground.mat b/Assets/Materials/Ground.mat new file mode 100644 index 0000000..303e609 --- /dev/null +++ b/Assets/Materials/Ground.mat @@ -0,0 +1,142 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-4506083849162155748 +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: Ground + m_Shader: {fileID: 4800000, guid: 16878c326e384f245bd7997182b1e139, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _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} + - _ShadowMap: + m_Texture: {fileID: 2800000, guid: 05cb056fb4807704d94083bc167b31f5, type: 3} + m_Scale: {x: 50, y: 50} + m_Offset: {x: 4.67, 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 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _ShadowSmoothness: 0.5 + - _ShadowStep: 0.5 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0.8867924, g: 0.55447763, b: 0.28862584, a: 1} + - _Color: {r: 0.09782784, g: 0.5188679, b: 0.04160734, a: 1} + - _Color1: {r: 0.9339623, g: 0.9339623, b: 0.9339623, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _HighlightColor: {r: 0.9607844, g: 0.9686275, b: 0.9803922, a: 1} + - _MainColor: {r: 0.9607844, g: 0.9686275, b: 0.9803922, a: 1} + - _ShadowColor: {r: 0.915, g: 0.915, b: 0.915, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] diff --git a/Assets/Materials/Ground.mat.meta b/Assets/Materials/Ground.mat.meta new file mode 100644 index 0000000..0b91248 --- /dev/null +++ b/Assets/Materials/Ground.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8b77d9e47ff43a7459e55a7989df34c6 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/Sonic_Black.mat b/Assets/Materials/Sonic_Black.mat new file mode 100644 index 0000000..324df3a --- /dev/null +++ b/Assets/Materials/Sonic_Black.mat @@ -0,0 +1,142 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-4506083849162155748 +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: Sonic_Black + m_Shader: {fileID: 4800000, guid: 16878c326e384f245bd7997182b1e139, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _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} + - _ShadowMap: + m_Texture: {fileID: 2800000, guid: 05cb056fb4807704d94083bc167b31f5, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _ShadowSmoothness: 0.5 + - _ShadowStep: 0.5 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0.8867924, g: 0.55447763, b: 0.28862584, a: 1} + - _Color: {r: 0.09782784, g: 0.5188679, b: 0.04160734, a: 1} + - _Color1: {r: 0.9339623, g: 0.9339623, b: 0.9339623, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _HighlightColor: {r: 0, g: 0, b: 0, a: 1} + - _MainColor: {r: 0, g: 0, b: 0, a: 1} + - _ShadowColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] diff --git a/Assets/Materials/Sonic_Black.mat.meta b/Assets/Materials/Sonic_Black.mat.meta new file mode 100644 index 0000000..de53966 --- /dev/null +++ b/Assets/Materials/Sonic_Black.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 22a2f92d1085ea340ba2464c26bbed99 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/Sonic_Blue.mat b/Assets/Materials/Sonic_Blue.mat new file mode 100644 index 0000000..d39fb32 --- /dev/null +++ b/Assets/Materials/Sonic_Blue.mat @@ -0,0 +1,142 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-4506083849162155748 +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: Sonic_Blue + m_Shader: {fileID: 4800000, guid: 16878c326e384f245bd7997182b1e139, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _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} + - _ShadowMap: + m_Texture: {fileID: 0} + m_Scale: {x: 10, y: 10} + 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 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _ShadowSmoothness: 0.5 + - _ShadowStep: 0.5 + - _Smoothness: 1 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0.8867924, g: 0.55447763, b: 0.28862584, a: 1} + - _Color: {r: 0.09782784, g: 0.5188679, b: 0.04160734, a: 1} + - _Color1: {r: 0.9339623, g: 0.9339623, b: 0.9339623, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _HighlightColor: {r: 0.45098042, g: 0.7137255, b: 0.9960785, a: 1} + - _MainColor: {r: 0.23529413, g: 0.5647059, b: 0.91372555, a: 1} + - _ShadowColor: {r: 0.18077251, g: 0.43385395, b: 0.70199996, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] diff --git a/Assets/Materials/Sonic_Blue.mat.meta b/Assets/Materials/Sonic_Blue.mat.meta new file mode 100644 index 0000000..859a64f --- /dev/null +++ b/Assets/Materials/Sonic_Blue.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 50f80e2240c07864c8b123ac04d031b8 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/Sonic_Red.mat b/Assets/Materials/Sonic_Red.mat new file mode 100644 index 0000000..6f412ef --- /dev/null +++ b/Assets/Materials/Sonic_Red.mat @@ -0,0 +1,142 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-4506083849162155748 +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: Sonic_Red + m_Shader: {fileID: 4800000, guid: 16878c326e384f245bd7997182b1e139, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _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} + - _ShadowMap: + m_Texture: {fileID: 2800000, guid: 05cb056fb4807704d94083bc167b31f5, type: 3} + m_Scale: {x: 5, y: 5} + 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 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _ShadowSmoothness: 0.5 + - _ShadowStep: 0.5 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0.8867924, g: 0.55447763, b: 0.28862584, a: 1} + - _Color: {r: 0.09782784, g: 0.5188679, b: 0.04160734, a: 1} + - _Color1: {r: 0.9339623, g: 0.9339623, b: 0.9339623, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _HighlightColor: {r: 0.7176471, g: 0.14901961, b: 0.08627451, a: 1} + - _MainColor: {r: 0.4901961, g: 0.08235294, b: 0.03529412, a: 1} + - _ShadowColor: {r: 0.39, g: 0.06551998, b: 0.028079987, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] diff --git a/Assets/Materials/Sonic_Red.mat.meta b/Assets/Materials/Sonic_Red.mat.meta new file mode 100644 index 0000000..c07a933 --- /dev/null +++ b/Assets/Materials/Sonic_Red.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 55da7159b60cbc144af535b6a6ff9fa2 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/Sonic_White.mat b/Assets/Materials/Sonic_White.mat new file mode 100644 index 0000000..57ded86 --- /dev/null +++ b/Assets/Materials/Sonic_White.mat @@ -0,0 +1,142 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-4506083849162155748 +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: Sonic_White + m_Shader: {fileID: 4800000, guid: 16878c326e384f245bd7997182b1e139, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _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} + - _ShadowMap: + m_Texture: {fileID: 0} + m_Scale: {x: 10, y: 10} + 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 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _ShadowSmoothness: 0.5 + - _ShadowStep: 0.5 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0.8867924, g: 0.55447763, b: 0.28862584, a: 1} + - _Color: {r: 0.09782784, g: 0.5188679, b: 0.04160734, a: 1} + - _Color1: {r: 0.9339623, g: 0.9339623, b: 0.9339623, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _HighlightColor: {r: 0.9607844, g: 0.9686275, b: 0.9803922, a: 1} + - _MainColor: {r: 0.67058825, g: 0.7411765, b: 0.8588236, a: 1} + - _ShadowColor: {r: 0.5981096, g: 0.6610685, b: 0.766, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] diff --git a/Assets/Materials/Sonic_White.mat.meta b/Assets/Materials/Sonic_White.mat.meta new file mode 100644 index 0000000..6e8e91f --- /dev/null +++ b/Assets/Materials/Sonic_White.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7a6b6838000f5f3428dead7bdae0729f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/Sonic_Yellow.mat b/Assets/Materials/Sonic_Yellow.mat new file mode 100644 index 0000000..4617d79 --- /dev/null +++ b/Assets/Materials/Sonic_Yellow.mat @@ -0,0 +1,141 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-4506083849162155748 +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: Sonic_Yellow + m_Shader: {fileID: 4800000, guid: 16878c326e384f245bd7997182b1e139, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _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} + - _ShadowMap: + 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 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _ShadowStep: 0.5 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0.8867924, g: 0.55447763, b: 0.28862584, a: 1} + - _Color: {r: 0.09782784, g: 0.5188679, b: 0.04160734, a: 1} + - _Color1: {r: 0.9339623, g: 0.9339623, b: 0.9339623, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _HighlightColor: {r: 0.95294124, g: 0.854902, b: 0.5529412, a: 1} + - _MainColor: {r: 0.9333334, g: 0.81568635, b: 0.44705886, a: 1} + - _ShadowColor: {r: 0.83, g: 0.72537816, b: 0.39756304, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] diff --git a/Assets/Materials/Sonic_Yellow.mat.meta b/Assets/Materials/Sonic_Yellow.mat.meta new file mode 100644 index 0000000..34dd64c --- /dev/null +++ b/Assets/Materials/Sonic_Yellow.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: abc706a8a59871c4fb28490427412ff3 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/Toon1.mat b/Assets/Materials/Toon1.mat new file mode 100644 index 0000000..4cab9e0 --- /dev/null +++ b/Assets/Materials/Toon1.mat @@ -0,0 +1,132 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-4506083849162155748 +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: Toon1 + m_Shader: {fileID: 4800000, guid: 2f3713804e36646dda2f467ed512e004, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _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 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 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 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 0.09782784, g: 0.5188679, b: 0.04160734, 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: [] diff --git a/Assets/Materials/Toon1.mat.meta b/Assets/Materials/Toon1.mat.meta new file mode 100644 index 0000000..ecd1090 --- /dev/null +++ b/Assets/Materials/Toon1.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a5e61ab2dc00a47dfbc8b95846a30752 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/Toon2.mat b/Assets/Materials/Toon2.mat new file mode 100644 index 0000000..e74b494 --- /dev/null +++ b/Assets/Materials/Toon2.mat @@ -0,0 +1,134 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-4506083849162155748 +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: Toon2 + m_Shader: {fileID: 4800000, guid: 27611b4b7b59e46a592f9ae79d6e42de, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _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 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _ShadowStep: 0.5 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0.8867924, g: 0.55447763, b: 0.28862584, a: 1} + - _Color: {r: 0.09782784, g: 0.5188679, b: 0.04160734, a: 1} + - _Color1: {r: 0.9339623, g: 0.9339623, b: 0.9339623, 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: [] diff --git a/Assets/Materials/Toon2.mat.meta b/Assets/Materials/Toon2.mat.meta new file mode 100644 index 0000000..331a6c0 --- /dev/null +++ b/Assets/Materials/Toon2.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c7342280014514e7f93a06303c6b5190 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Lab Scene 1.unity b/Assets/Scenes/Lab Scene 1.unity index acae54e..60ade06 100644 --- a/Assets/Scenes/Lab Scene 1.unity +++ b/Assets/Scenes/Lab Scene 1.unity @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.1802854, g: 0.22571602, b: 0.30692476, a: 1} + m_IndirectSpecularColor: {r: 0.18028516, g: 0.22571574, b: 0.30692407, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -140,7 +140,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!114 &307408141 MonoBehaviour: m_ObjectHideFlags: 0 @@ -235,7 +235,7 @@ Transform: m_GameObject: {fileID: 307408140} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.58, y: 1.1467793, z: -3.51} + m_LocalPosition: {x: 1.783, y: 2.27, z: 1.341} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -327,8 +327,8 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 330585543} serializedVersion: 2 - m_LocalRotation: {x: 0.12718117, y: -0.7039343, z: 0.13040932, w: 0.6865092} - m_LocalPosition: {x: 3.493, y: 2.477, z: 0} + m_LocalRotation: {x: -0.038131654, y: -0.9507278, z: 0.27886003, w: -0.12999883} + m_LocalPosition: {x: -0.33049214, y: 2.2201765, z: 1.1859138} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -556,7 +556,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: d60db1350aa31bd4080a3bb5e2541934, type: 2} + - {fileID: 2100000, guid: a5e61ab2dc00a47dfbc8b95846a30752, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -662,7 +662,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: d60db1350aa31bd4080a3bb5e2541934, type: 2} + - {fileID: 2100000, guid: c7342280014514e7f93a06303c6b5190, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 diff --git a/Assets/Scenes/Lab Scene 2.unity b/Assets/Scenes/Lab Scene 2.unity index fae77c0..ce0be0f 100644 --- a/Assets/Scenes/Lab Scene 2.unity +++ b/Assets/Scenes/Lab Scene 2.unity @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1} + m_IndirectSpecularColor: {r: 0.17558266, g: 0.21970278, b: 0.30202767, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -209,8 +209,8 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 330585543} serializedVersion: 2 - m_LocalRotation: {x: -0.033433102, y: 0.72074836, z: -0.034845546, w: -0.69151276} - m_LocalPosition: {x: 4.8398438, y: 2, z: 0} + m_LocalRotation: {x: 0.044427417, y: -0.6534965, z: 0.038480897, w: 0.7546441} + m_LocalPosition: {x: 5.403064, y: 2.182105, z: -0.25135314} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -348,13 +348,13 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 410087039} serializedVersion: 2 - m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalRotation: {x: 0.5600876, y: -0.121269844, z: 0.039395846, w: 0.81856185} m_LocalPosition: {x: 0, y: 3, z: -2.61} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} + m_LocalEulerAnglesHint: {x: 67.894, y: -24.223, z: -10.929} --- !u!114 &410087042 MonoBehaviour: m_ObjectHideFlags: 0 @@ -439,7 +439,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: d60db1350aa31bd4080a3bb5e2541934, type: 2} + - {fileID: 2100000, guid: 8b77d9e47ff43a7459e55a7989df34c6, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -477,13 +477,13 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1309247978} serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalRotation: {x: -0, y: -0, z: -0.28356734, w: 0.95895237} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalScale: {x: 2.6165996, y: 2.6165996, z: 2.6165996} m_ConstrainProportionsScale: 1 m_Children: [] m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: -32.946} --- !u!1001 &1599074629 PrefabInstance: m_ObjectHideFlags: 0 @@ -566,47 +566,137 @@ PrefabInstance: type: 3} propertyPath: m_Materials.Array.data[0] value: - objectReference: {fileID: 2100000, guid: d60db1350aa31bd4080a3bb5e2541934, type: 2} + objectReference: {fileID: 2100000, guid: abc706a8a59871c4fb28490427412ff3, type: 2} + - target: {fileID: -8602433362572305629, guid: 221abe15e8e581b43bb1d0dc4e10c784, + type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: abc706a8a59871c4fb28490427412ff3, type: 2} + - target: {fileID: -7407988419630983719, guid: 221abe15e8e581b43bb1d0dc4e10c784, + type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 7a6b6838000f5f3428dead7bdae0729f, type: 2} + - target: {fileID: -5733981035308023022, guid: 221abe15e8e581b43bb1d0dc4e10c784, + type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 50f80e2240c07864c8b123ac04d031b8, type: 2} - target: {fileID: -5493175262189019911, guid: 221abe15e8e581b43bb1d0dc4e10c784, type: 3} propertyPath: m_Materials.Array.data[0] value: - objectReference: {fileID: 2100000, guid: d60db1350aa31bd4080a3bb5e2541934, type: 2} + objectReference: {fileID: 2100000, guid: 50f80e2240c07864c8b123ac04d031b8, type: 2} + - target: {fileID: -5326866014839177254, guid: 221abe15e8e581b43bb1d0dc4e10c784, + type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 7a6b6838000f5f3428dead7bdae0729f, type: 2} - target: {fileID: -4982485458470054150, guid: 221abe15e8e581b43bb1d0dc4e10c784, type: 3} propertyPath: m_Materials.Array.data[0] value: - objectReference: {fileID: 2100000, guid: d60db1350aa31bd4080a3bb5e2541934, type: 2} + objectReference: {fileID: 2100000, guid: abc706a8a59871c4fb28490427412ff3, type: 2} + - target: {fileID: -2750859397604594270, guid: 221abe15e8e581b43bb1d0dc4e10c784, + type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: abc706a8a59871c4fb28490427412ff3, type: 2} - target: {fileID: -1705196261938046187, guid: 221abe15e8e581b43bb1d0dc4e10c784, type: 3} propertyPath: m_Materials.Array.data[0] value: - objectReference: {fileID: 2100000, guid: d60db1350aa31bd4080a3bb5e2541934, type: 2} + objectReference: {fileID: 2100000, guid: 7a6b6838000f5f3428dead7bdae0729f, type: 2} + - target: {fileID: -742350899316325245, guid: 221abe15e8e581b43bb1d0dc4e10c784, + type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: abc706a8a59871c4fb28490427412ff3, type: 2} - target: {fileID: -534966553111944830, guid: 221abe15e8e581b43bb1d0dc4e10c784, type: 3} propertyPath: m_Materials.Array.data[0] value: - objectReference: {fileID: 2100000, guid: d60db1350aa31bd4080a3bb5e2541934, type: 2} + objectReference: {fileID: 2100000, guid: 7a6b6838000f5f3428dead7bdae0729f, type: 2} - target: {fileID: 744112959957790968, guid: 221abe15e8e581b43bb1d0dc4e10c784, type: 3} propertyPath: m_Materials.Array.data[0] value: - objectReference: {fileID: 2100000, guid: d60db1350aa31bd4080a3bb5e2541934, type: 2} + objectReference: {fileID: 2100000, guid: 7a6b6838000f5f3428dead7bdae0729f, type: 2} - target: {fileID: 919132149155446097, guid: 221abe15e8e581b43bb1d0dc4e10c784, type: 3} propertyPath: m_Name value: Sonic Model objectReference: {fileID: 0} + - target: {fileID: 1443583819320638466, guid: 221abe15e8e581b43bb1d0dc4e10c784, + type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 22a2f92d1085ea340ba2464c26bbed99, type: 2} + - target: {fileID: 2035337607983341931, guid: 221abe15e8e581b43bb1d0dc4e10c784, + type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 55da7159b60cbc144af535b6a6ff9fa2, type: 2} + - target: {fileID: 2035337607983341931, guid: 221abe15e8e581b43bb1d0dc4e10c784, + type: 3} + propertyPath: m_Materials.Array.data[1] + value: + objectReference: {fileID: 2100000, guid: 7a6b6838000f5f3428dead7bdae0729f, type: 2} + - target: {fileID: 2389692026055523335, guid: 221abe15e8e581b43bb1d0dc4e10c784, + type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 7a6b6838000f5f3428dead7bdae0729f, type: 2} + - target: {fileID: 2413864688904672789, guid: 221abe15e8e581b43bb1d0dc4e10c784, + type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 50f80e2240c07864c8b123ac04d031b8, type: 2} + - target: {fileID: 2945044530011656084, guid: 221abe15e8e581b43bb1d0dc4e10c784, + type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 22a2f92d1085ea340ba2464c26bbed99, type: 2} + - target: {fileID: 3253409454975574844, guid: 221abe15e8e581b43bb1d0dc4e10c784, + type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: abc706a8a59871c4fb28490427412ff3, type: 2} + - target: {fileID: 3791342574719154946, guid: 221abe15e8e581b43bb1d0dc4e10c784, + type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 22a2f92d1085ea340ba2464c26bbed99, type: 2} - target: {fileID: 5188758170544245908, guid: 221abe15e8e581b43bb1d0dc4e10c784, type: 3} propertyPath: m_Materials.Array.data[0] value: - objectReference: {fileID: 2100000, guid: d60db1350aa31bd4080a3bb5e2541934, type: 2} + objectReference: {fileID: 2100000, guid: 7a6b6838000f5f3428dead7bdae0729f, type: 2} - target: {fileID: 5804768582271061324, guid: 221abe15e8e581b43bb1d0dc4e10c784, type: 3} propertyPath: m_Materials.Array.data[0] value: - objectReference: {fileID: 2100000, guid: d60db1350aa31bd4080a3bb5e2541934, type: 2} + objectReference: {fileID: 2100000, guid: 50f80e2240c07864c8b123ac04d031b8, type: 2} + - target: {fileID: 5955265388225236956, guid: 221abe15e8e581b43bb1d0dc4e10c784, + type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: abc706a8a59871c4fb28490427412ff3, type: 2} + - target: {fileID: 8259033719123135965, guid: 221abe15e8e581b43bb1d0dc4e10c784, + type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 55da7159b60cbc144af535b6a6ff9fa2, type: 2} + - target: {fileID: 8259033719123135965, guid: 221abe15e8e581b43bb1d0dc4e10c784, + type: 3} + propertyPath: m_Materials.Array.data[1] + value: + objectReference: {fileID: 2100000, guid: 7a6b6838000f5f3428dead7bdae0729f, type: 2} + - target: {fileID: 9074906319803942526, guid: 221abe15e8e581b43bb1d0dc4e10c784, + type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: abc706a8a59871c4fb28490427412ff3, type: 2} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] diff --git a/Assets/Shaders/.DS_Store b/Assets/Shaders/.DS_Store new file mode 100644 index 0000000..2d378a4 Binary files /dev/null and b/Assets/Shaders/.DS_Store differ diff --git a/Assets/Shaders/ToonShader.shader b/Assets/Shaders/ToonShader.shader new file mode 100644 index 0000000..fd1520c --- /dev/null +++ b/Assets/Shaders/ToonShader.shader @@ -0,0 +1,109 @@ +Shader "Custom/ToonShader" +{ + Properties + { + _MainColor ("Main Color", Color) = (1, 1, 1, 1) + _HighlightColor ("Highlight Color", Color) = (1, 1, 1, 1) + _ShadowColor ("Shadow Color", Color) = (1, 1, 1, 1) + _ShadowMap("Shadow Map", 2D) = "white" + _Smoothness("Smoothness", Float) = 0.5 + } + SubShader + { + + Tags { "LightMode" = "UniversalForward" "RenderType" = "Opaque" "RenderPipeline" = "UniversalPipeline" } + + Pass + { + HLSLPROGRAM + + #pragma vertex vert + #pragma fragment frag + #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN + + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" + + struct Attributes + { + float4 positionOS : POSITION; + float3 normalOS : NORMAL; + float2 uv : TEXCOORD0; + }; + + struct Varyings + { + float4 positionCS : SV_POSITION; + float3 positionWS : TEXCOORD0; + float3 normal : TEXCOORD1; + float4 objPos : TEXCOORD2; + float4 shadowCoords : TEXCOORD3; + float2 uv : TEXCOORD4; + }; + + + TEXTURE2D(_ShadowMap); + SAMPLER(sampler_ShadowMap); + + CBUFFER_START(UnityPerMaterial) + half4 _MainColor; + half4 _HighlightColor; + half4 _ShadowColor; + float4 _ShadowMap_ST; + float _Smoothness; + CBUFFER_END + + Varyings vert(Attributes IN) + { + Varyings OUT; + + VertexPositionInputs positions = GetVertexPositionInputs(IN.positionOS.xyz); + VertexNormalInputs normals = GetVertexNormalInputs(IN.normalOS); + + OUT.positionCS = positions.positionCS; + OUT.positionWS = positions.positionWS; + OUT.normal = normals.normalWS; + + OUT.shadowCoords = GetShadowCoord(positions); + + OUT.uv = TRANSFORM_TEX(IN.uv, _ShadowMap); + + return OUT; + } + + half4 GetShadowColor(half shadow, float2 uv) + { + half4 tex = SAMPLE_TEXTURE2D(_ShadowMap, sampler_ShadowMap, uv); + half4 shadowColor = tex * _ShadowColor; + return shadow * _MainColor + (1-shadow) * shadowColor; + } + half4 GetSmoothColor(float NdotL) + { + if(NdotL < 0.5) return _MainColor; + float theta = acos(NdotL) * 180 / 3.1415926; + + float u = smoothstep(15 - _Smoothness * 15, 15 + _Smoothness * 15, theta); + + half4 res = u * _MainColor + (1-u) * _HighlightColor; + return res; + } + + half4 frag(Varyings IN) : SV_Target + { + Light mainLight = GetMainLight(); + + float3 N = normalize(IN.normal); + float3 L = mainLight.direction; + + float NdotL = saturate(dot(N, L)); + + half shadowAmount = MainLightRealtimeShadow(IN.shadowCoords); + + return shadowAmount < 0.5 ? GetShadowColor(shadowAmount, IN.uv) : GetSmoothColor(NdotL); + } + + ENDHLSL + } + } + FallBack "Diffuse" +} diff --git a/Assets/Shaders/ToonShader.shader.meta b/Assets/Shaders/ToonShader.shader.meta new file mode 100644 index 0000000..d875974 --- /dev/null +++ b/Assets/Shaders/ToonShader.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 16878c326e384f245bd7997182b1e139 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/ToonShader1.shader b/Assets/Shaders/ToonShader1.shader new file mode 100644 index 0000000..fc49230 --- /dev/null +++ b/Assets/Shaders/ToonShader1.shader @@ -0,0 +1,76 @@ +Shader "Custom/ToonShader1" +{ + Properties + { + _Color ("Color", Color) = (1,1,1,1) + } + SubShader + { + Tags { "RenderType"="Opaque" } + LOD 100 + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + #include "UnityStandardBRDF.cginc" + #include "AutoLight.cginc" + #include "Lighting.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + float3 normal : NORMAL; + }; + + struct v2f + { + float3 worldPos : TEXCOORD0; + float4 vertex : SV_POSITION; + float3 normal : TEXCOORD1; + float4 objPos : TEXCOORD2; + }; + + float4 _Color; + + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.objPos = v.vertex; + o.worldPos = mul(unity_ObjectToWorld, v.vertex).xyz; + o.normal = UnityObjectToWorldNormal(v.normal); + return o; + } + + + fixed4 frag (v2f i) : SV_Target + { + float4 col = _Color; + + float3 L = normalize(lerp(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz - i.worldPos.xyz, _WorldSpaceLightPos0.w)); + float3 V = normalize(_WorldSpaceCameraPos.xyz - i.vertex.xyz); + float3 H = Unity_SafeNormalize(L + V); + float3 N = i.normal; + + float NdotL = saturate( dot( N,L )); + float NdotH = saturate( dot( N,H )); + float NdotV = saturate( dot( N,V )); + float VdotH = saturate( dot( V,H )); + float LdotH = saturate( dot( L,H )); + + col *= NdotL > 0.9 ? 2.0 : 1.0; + //col = float4(i.objPos.xyz, 1.0); + //return float4(col, 1); + return col; + } + ENDCG + } + } + FallBack "Diffuse" +} diff --git a/Assets/Shaders/ToonShader1.shader.meta b/Assets/Shaders/ToonShader1.shader.meta new file mode 100644 index 0000000..44a859a --- /dev/null +++ b/Assets/Shaders/ToonShader1.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2f3713804e36646dda2f467ed512e004 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/ToonShader2.shader b/Assets/Shaders/ToonShader2.shader new file mode 100644 index 0000000..562f5cc --- /dev/null +++ b/Assets/Shaders/ToonShader2.shader @@ -0,0 +1,82 @@ +Shader "Custom/ToonShader2" +{ + + Properties + { + _BaseColor("Base Color", Color) = (1, 1, 1, 1) + } + SubShader + { + + Tags { "LightMode" = "UniversalForward" "RenderType" = "Opaque" "RenderPipeline" = "UniversalPipeline" } + + Pass + { + HLSLPROGRAM + + #pragma vertex vert + #pragma fragment frag + #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN + + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" + + CBUFFER_START(UnityPerMaterial) + half4 _BaseColor; + CBUFFER_END + + struct appdata + { + float4 position : POSITION; + float3 normal : NORMAL; + }; + + struct v2f + { + float3 worldPos : TEXCOORD0; + float4 vertex : SV_POSITION; + float3 normal : TEXCOORD1; + float4 objPos : TEXCOORD2; + float4 shadowCoords : TEXCOORD3; + }; + + v2f vert(appdata v) + { + v2f o; + + o.vertex = TransformObjectToHClip(v.position.xyz); + + // Get the VertexPositionInputs for the vertex position + VertexPositionInputs positions = GetVertexPositionInputs(v.position.xyz); + VertexNormalInputs normals = GetVertexNormalInputs(v.normal); + + // Convert the vertex position to a position on the shadow map + float4 shadowCoordinates = GetShadowCoord(positions); + + // Pass the shadow coordinates to the fragment shader + o.shadowCoords = shadowCoordinates; + + + o.objPos = v.position; + o.worldPos = positions.positionWS; + o.normal = normals.normalWS; + + return o; + } + + half4 frag(v2f i) : SV_Target + { + float4 col = _BaseColor; + half shadowAmount = MainLightRealtimeShadow(i.shadowCoords); + + Light mainLight = GetMainLight(); + + col *= shadowAmount < 1 ? 0.3 : 1.0; + + return col; + } + + ENDHLSL + } + } +} diff --git a/Assets/Shaders/ToonShader2.shader.meta b/Assets/Shaders/ToonShader2.shader.meta new file mode 100644 index 0000000..8ea9724 --- /dev/null +++ b/Assets/Shaders/ToonShader2.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 27611b4b7b59e46a592f9ae79d6e42de +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/README.md b/README.md index b8551a7..bdb5aa5 100644 --- a/README.md +++ b/README.md @@ -1,44 +1,27 @@ # Lab 05 - Stylization! -Let's practice adding stylization to a 3D scene using Unity's shader graph! - -## Introduction -We will be stylizing a "toon" look by creating a shader in Unity that supports shadows and multiple lights in real-time! In the process, you will gain some familiarity with Unity’s shader graph. - -## What’s provided: -This tutorial video will cover the base code, and then go over the process of making a limited version of a toon shader. - -Start by downloading Unity 2022.3.9f1 - -[Lab Overview and Puzzle 1 Tutorial Video](https://youtu.be/jc5MLgzJong) - -## Lab Puzzles: -The goal of each puzzle will be to replicate the look of each puzzle’s image. ### 1. Puzzle 1: Simple two-tone toon shading -277997527-f27aec24-0d04-4b73-95d3-b55e2da13603 +image - * Follow the tutorial to create a 2 band toon shader, and then create multiple materials based off of the shader graph - * Attach those materials to the objects (the sphere and plane) in the default scene "Lab Scene 1" to produce a look similar to the one above! ### 2. Puzzle 2: Leveled-up toon shading -277998209-12d0a844-b6a8-4054-86f9-ee13b5533bf2 +image - * Edit your materials to allow for a 3rd color in your scene, such that you have highlights, midtones, shadows on your objects. Edit your shader so that the thresholds on these values are adjustable. - * Shade the sonic and shadow receiving plane in "Lab Scene 2" to get a look similar to the one above! ### 3. Puzzle 3: Stylized Shadow -277998492-be35de1e-1157-4a6e-b4ea-ba015f2750c9 +image - * Use one of the provided texture png’s in order to add a screenspace shadow pattern onto the shadows of the scene! - * Hint 1: What does the "ShadowAttenuation" variable do? -Extra Credit: - * Add some soft interpolation at the edges of your bands, for smooth transitions between color bands. Create a "smoothness" parameter that adjusts the degree of smoothness! +### Extra Credit: + +##### Smooth = 0.0 +image -# Submission: -- Create a pull request against this repository -- In your readme, add screenshots of your results for Puzzles 1, 2 and 3 -- Profit +##### Smooth = 0.5 + image + +##### Smooth = 1.0 + image