From 9e8666445355795024fedb4a61be5cda20ba398b Mon Sep 17 00:00:00 2001 From: Toomas Tamm Date: Mon, 15 Mar 2021 02:08:53 +0200 Subject: [PATCH] Add breakout balls, cubes, materials, scripts. --- Assets/Objects (Prefabs)/XR/Breakout.meta | 8 + .../Objects (Prefabs)/XR/Breakout/Ball.prefab | 128 ++ .../XR/Breakout/Ball.prefab.meta | 7 + .../Breakout/Breakable Cube Extra Ball.prefab | 114 ++ .../Breakable Cube Extra Ball.prefab.meta | 7 + .../XR/Breakout/Breakable Cube.prefab | 114 ++ .../XR/Breakout/Breakable Cube.prefab.meta | 7 + .../XR/Breakout/Paddle.prefab | 349 ++++ .../XR/Breakout/Paddle.prefab.meta | 7 + Assets/Other/Delta (Toomas) v0.blend | 4 +- Assets/Other/Delta (Toomas) v0.blend.meta | 4 +- Assets/Other/Delta (Toomas) v0.blend1 | Bin 10566860 -> 10566860 bytes Assets/Other/Materials/Material.001 1.mat | 126 ++ .../Other/Materials/Material.001 1.mat.meta | 8 + Assets/Scenes/Main_scene.unity | 1305 ++++++------ Assets/Scripts/Breakout/BreakableCube.cs | 86 + Assets/Scripts/Breakout/BreakableCube.cs.meta | 11 + Assets/Scripts/Breakout/BreakoutBall.cs | 40 + ...edLimiter.cs.meta => BreakoutBall.cs.meta} | 0 Assets/Scripts/Breakout/BreakoutManager.cs | 95 + .../Scripts/Breakout/BreakoutManager.cs.meta | 11 + Assets/Scripts/Breakout/EndForcefield.cs | 21 +- .../Scripts/Breakout/RigidbodySpeedLimiter.cs | 35 - Assets/Scripts/Events.cs | 11 + Assets/Scripts/Events.cs.meta | 11 + Assets/Shaders/Dissolve.shadergraph | 1821 +++++++++++++++++ Assets/Shaders/Dissolve.shadergraph.meta | 10 + Assets/Shaders/DissolveGreen.mat | 130 ++ Assets/Shaders/DissolveGreen.mat.meta | 8 + Assets/Shaders/DissolveRed.mat | 129 ++ Assets/Shaders/DissolveRed.mat.meta | 8 + 31 files changed, 3953 insertions(+), 662 deletions(-) create mode 100644 Assets/Objects (Prefabs)/XR/Breakout.meta create mode 100644 Assets/Objects (Prefabs)/XR/Breakout/Ball.prefab create mode 100644 Assets/Objects (Prefabs)/XR/Breakout/Ball.prefab.meta create mode 100644 Assets/Objects (Prefabs)/XR/Breakout/Breakable Cube Extra Ball.prefab create mode 100644 Assets/Objects (Prefabs)/XR/Breakout/Breakable Cube Extra Ball.prefab.meta create mode 100644 Assets/Objects (Prefabs)/XR/Breakout/Breakable Cube.prefab create mode 100644 Assets/Objects (Prefabs)/XR/Breakout/Breakable Cube.prefab.meta create mode 100644 Assets/Objects (Prefabs)/XR/Breakout/Paddle.prefab create mode 100644 Assets/Objects (Prefabs)/XR/Breakout/Paddle.prefab.meta create mode 100644 Assets/Other/Materials/Material.001 1.mat create mode 100644 Assets/Other/Materials/Material.001 1.mat.meta create mode 100644 Assets/Scripts/Breakout/BreakableCube.cs create mode 100644 Assets/Scripts/Breakout/BreakableCube.cs.meta create mode 100644 Assets/Scripts/Breakout/BreakoutBall.cs rename Assets/Scripts/Breakout/{RigidbodySpeedLimiter.cs.meta => BreakoutBall.cs.meta} (100%) create mode 100644 Assets/Scripts/Breakout/BreakoutManager.cs create mode 100644 Assets/Scripts/Breakout/BreakoutManager.cs.meta delete mode 100644 Assets/Scripts/Breakout/RigidbodySpeedLimiter.cs create mode 100644 Assets/Scripts/Events.cs create mode 100644 Assets/Scripts/Events.cs.meta create mode 100644 Assets/Shaders/Dissolve.shadergraph create mode 100644 Assets/Shaders/Dissolve.shadergraph.meta create mode 100644 Assets/Shaders/DissolveGreen.mat create mode 100644 Assets/Shaders/DissolveGreen.mat.meta create mode 100644 Assets/Shaders/DissolveRed.mat create mode 100644 Assets/Shaders/DissolveRed.mat.meta diff --git a/Assets/Objects (Prefabs)/XR/Breakout.meta b/Assets/Objects (Prefabs)/XR/Breakout.meta new file mode 100644 index 00000000..f0bc9639 --- /dev/null +++ b/Assets/Objects (Prefabs)/XR/Breakout.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 78bb893b4655d344389d4b934cd8c7e5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Objects (Prefabs)/XR/Breakout/Ball.prefab b/Assets/Objects (Prefabs)/XR/Breakout/Ball.prefab new file mode 100644 index 00000000..05869155 --- /dev/null +++ b/Assets/Objects (Prefabs)/XR/Breakout/Ball.prefab @@ -0,0 +1,128 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &8722459144436683754 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8722459144436683750} + - component: {fileID: 8722459144436683751} + - component: {fileID: 8722459144436683748} + - component: {fileID: 8722459144436683749} + - component: {fileID: 8722459144436683745} + - component: {fileID: 8722459144436683744} + m_Layer: 0 + m_Name: Ball + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8722459144436683750 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8722459144436683754} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 21.862654, y: 4.650095, z: -0.10043144} + m_LocalScale: {x: 0.2, y: 0.2, z: 0.2} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8722459144436683751 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8722459144436683754} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8722459144436683748 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8722459144436683754} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 92a601d1f219bf4459a1dd55001debd8, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!135 &8722459144436683749 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8722459144436683754} + m_Material: {fileID: 13400000, guid: 2c672b62fe838be4dae8950345f56e31, type: 2} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!54 &8722459144436683745 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8722459144436683754} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 1 +--- !u!114 &8722459144436683744 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8722459144436683754} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 83f379a702a6eff48b7a38d9e14b79af, type: 3} + m_Name: + m_EditorClassIdentifier: + speed: 1.5 diff --git a/Assets/Objects (Prefabs)/XR/Breakout/Ball.prefab.meta b/Assets/Objects (Prefabs)/XR/Breakout/Ball.prefab.meta new file mode 100644 index 00000000..f3e71844 --- /dev/null +++ b/Assets/Objects (Prefabs)/XR/Breakout/Ball.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c4c82be1460eebd429189ea1df531212 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Objects (Prefabs)/XR/Breakout/Breakable Cube Extra Ball.prefab b/Assets/Objects (Prefabs)/XR/Breakout/Breakable Cube Extra Ball.prefab new file mode 100644 index 00000000..536eac98 --- /dev/null +++ b/Assets/Objects (Prefabs)/XR/Breakout/Breakable Cube Extra Ball.prefab @@ -0,0 +1,114 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4446013279578327973 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4446013279578327972} + - component: {fileID: 4446013279578327971} + - component: {fileID: 4446013279578327968} + - component: {fileID: 4446013279578327969} + - component: {fileID: -4836666522876622061} + m_Layer: 0 + m_Name: Breakable Cube Extra Ball + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4446013279578327972 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4446013279578327973} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 15.363, y: 5.259, z: -0.928} + m_LocalScale: {x: 0.5, y: 0.65, z: 0.65} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4446013279578327971 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4446013279578327973} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &4446013279578327968 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4446013279578327973} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 1c9649ac6612feb41980e2a04023b4d9, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &4446013279578327969 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4446013279578327973} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &-4836666522876622061 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4446013279578327973} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 937cad764c6bfd649a75d521269ae995, type: 3} + m_Name: + m_EditorClassIdentifier: + speed: {x: 0.05, y: 0, z: 0} + spawnBall: 1 + ballPrefab: {fileID: 8722459144436683754, guid: c4c82be1460eebd429189ea1df531212, + type: 3} diff --git a/Assets/Objects (Prefabs)/XR/Breakout/Breakable Cube Extra Ball.prefab.meta b/Assets/Objects (Prefabs)/XR/Breakout/Breakable Cube Extra Ball.prefab.meta new file mode 100644 index 00000000..158c4ba5 --- /dev/null +++ b/Assets/Objects (Prefabs)/XR/Breakout/Breakable Cube Extra Ball.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5353b5457960d5644a286e6f8f1bed7a +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Objects (Prefabs)/XR/Breakout/Breakable Cube.prefab b/Assets/Objects (Prefabs)/XR/Breakout/Breakable Cube.prefab new file mode 100644 index 00000000..04feb9e2 --- /dev/null +++ b/Assets/Objects (Prefabs)/XR/Breakout/Breakable Cube.prefab @@ -0,0 +1,114 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4446013279578327973 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4446013279578327972} + - component: {fileID: 4446013279578327971} + - component: {fileID: 4446013279578327968} + - component: {fileID: 4446013279578327969} + - component: {fileID: 4446013279578327975} + m_Layer: 0 + m_Name: Breakable Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4446013279578327972 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4446013279578327973} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 15.363, y: 5.259, z: -0.928} + m_LocalScale: {x: 0.5, y: 0.65, z: 0.65} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4446013279578327971 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4446013279578327973} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &4446013279578327968 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4446013279578327973} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 7a2000b1dca8c0c4b9ad94e877c8b0a0, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &4446013279578327969 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4446013279578327973} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &4446013279578327975 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4446013279578327973} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 937cad764c6bfd649a75d521269ae995, type: 3} + m_Name: + m_EditorClassIdentifier: + speed: {x: 0.05, y: 0, z: 0} + spawnBall: 0 + ballPrefab: {fileID: 8722459144436683754, guid: c4c82be1460eebd429189ea1df531212, + type: 3} diff --git a/Assets/Objects (Prefabs)/XR/Breakout/Breakable Cube.prefab.meta b/Assets/Objects (Prefabs)/XR/Breakout/Breakable Cube.prefab.meta new file mode 100644 index 00000000..ce05a1c4 --- /dev/null +++ b/Assets/Objects (Prefabs)/XR/Breakout/Breakable Cube.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2060a03d4fc95a64db8d7b615fb2bc65 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Objects (Prefabs)/XR/Breakout/Paddle.prefab b/Assets/Objects (Prefabs)/XR/Breakout/Paddle.prefab new file mode 100644 index 00000000..f782c928 --- /dev/null +++ b/Assets/Objects (Prefabs)/XR/Breakout/Paddle.prefab @@ -0,0 +1,349 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &683641809410680648 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 683641809410680631} + - component: {fileID: 683641809410680628} + - component: {fileID: 683641809410680629} + - component: {fileID: 683641809410680627} + - component: {fileID: 683641809410680626} + m_Layer: 0 + m_Name: Paddle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &683641809410680631 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 683641809410680648} + m_LocalRotation: {x: 0.5, y: 0.5, z: -0.5, w: 0.5} + m_LocalPosition: {x: 0.050354015, y: 2.664, z: -0.050353996} + m_LocalScale: {x: 10, y: 0.4999999, z: 5} + m_Children: [] + m_Father: {fileID: 683641811316564866} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: 90, z: 0} +--- !u!33 &683641809410680628 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 683641809410680648} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &683641809410680629 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 683641809410680648} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: f858ac6f541dc6e428f1cf66c5d2df60, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &683641809410680627 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 683641809410680648} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad1c1fb4f4c956040a341a0dbda221c7, type: 3} + m_Name: + m_EditorClassIdentifier: + amplification: 1 +--- !u!136 &683641809410680626 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 683641809410680648} + m_Material: {fileID: 13400000, guid: 2d5b273ec9081ca4684e185030431ebf, type: 2} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.4871509 + m_Height: 1.0182452 + m_Direction: 2 + m_Center: {x: -0.019358475, y: 0.2808855, z: 0.006656251} +--- !u!1 &683641810726029905 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 683641810726029904} + m_Layer: 0 + m_Name: Paddle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &683641810726029904 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 683641810726029905} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 176.99866, y: -15.076772, z: 23.519966} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 683641811316564866} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &683641811316564867 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 683641811316564866} + - component: {fileID: 683641811316564879} + - component: {fileID: 683641811316564864} + - component: {fileID: 683641811316564877} + - component: {fileID: 683641811316564878} + - component: {fileID: 683641811316564876} + - component: {fileID: 683641811316564865} + m_Layer: 0 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &683641811316564866 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 683641811316564867} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: -153.767, y: 19.684, z: -23.217} + m_LocalScale: {x: 0.02, y: 0.15, z: 0.02} + m_Children: + - {fileID: 683641809410680631} + m_Father: {fileID: 683641810726029904} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!33 &683641811316564879 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 683641811316564867} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &683641811316564864 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 683641811316564867} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: -876546973899608171, guid: 1fd0825a53d79d742aad4e37fa4a93b2, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 2 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!54 &683641811316564877 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 683641811316564867} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 0 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 3 +--- !u!114 &683641811316564878 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 683641811316564867} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c96c5d5e9ecc35d4b8732d567d0c8458, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 0} + m_Colliders: + - {fileID: 683641811316564865} + m_InteractionLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_OnFirstHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_OnHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_OnHoverExited: + m_PersistentCalls: + m_Calls: [] + m_OnLastHoverExited: + m_PersistentCalls: + m_Calls: [] + m_OnSelectEntered: + m_PersistentCalls: + m_Calls: [] + m_OnSelectExited: + m_PersistentCalls: + m_Calls: [] + m_OnSelectCanceled: + m_PersistentCalls: + m_Calls: [] + m_OnActivate: + m_PersistentCalls: + m_Calls: [] + m_OnDeactivate: + m_PersistentCalls: + m_Calls: [] + m_CustomReticle: {fileID: 0} + m_AttachTransform: {fileID: 0} + m_AttachEaseInTime: 0.15 + m_MovementType: 1 + m_TrackPosition: 1 + m_SmoothPosition: 0 + m_SmoothPositionAmount: 5 + m_TightenPosition: 0.5 + m_TrackRotation: 1 + m_SmoothRotation: 0 + m_SmoothRotationAmount: 5 + m_TightenRotation: 0.5 + m_ThrowOnDetach: 1 + m_ThrowSmoothingDuration: 0.25 + m_ThrowSmoothingCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_ThrowVelocityScale: 1.5 + m_ThrowAngularVelocityScale: 1 + m_GravityOnDetach: 0 + m_RetainTransformParent: 1 +--- !u!114 &683641811316564876 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 683641811316564867} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad1c1fb4f4c956040a341a0dbda221c7, type: 3} + m_Name: + m_EditorClassIdentifier: + amplification: 1 +--- !u!65 &683641811316564865 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 683641811316564867} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1.0000002, y: 1, z: 1.0000002} + m_Center: {x: 0, y: -0.0000038146973, z: 0.00012207031} diff --git a/Assets/Objects (Prefabs)/XR/Breakout/Paddle.prefab.meta b/Assets/Objects (Prefabs)/XR/Breakout/Paddle.prefab.meta new file mode 100644 index 00000000..8eb128d5 --- /dev/null +++ b/Assets/Objects (Prefabs)/XR/Breakout/Paddle.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b3aa1fd769428e5478861349062a763b +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Other/Delta (Toomas) v0.blend b/Assets/Other/Delta (Toomas) v0.blend index 7d6d8787..0ecf6dde 100644 --- a/Assets/Other/Delta (Toomas) v0.blend +++ b/Assets/Other/Delta (Toomas) v0.blend @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5829f39ca29ef4412caae10ba5b9ecc717f0a0830b75607a7954df6c620ee38f -size 10566860 +oid sha256:59583efe65db63c3d8886ce53bf834c4d90e7d7b3756f69fa462564a565a2008 +size 10579720 diff --git a/Assets/Other/Delta (Toomas) v0.blend.meta b/Assets/Other/Delta (Toomas) v0.blend.meta index 7d91d3a1..0bfc820e 100644 --- a/Assets/Other/Delta (Toomas) v0.blend.meta +++ b/Assets/Other/Delta (Toomas) v0.blend.meta @@ -280,13 +280,13 @@ ModelImporter: secondaryUVAreaDistortion: 15 secondaryUVHardAngle: 88 secondaryUVMarginMethod: 1 - secondaryUVMinLightmapResolution: 64 + secondaryUVMinLightmapResolution: 40 secondaryUVMinObjectScale: 1 secondaryUVPackMargin: 64 useFileScale: 1 tangentSpace: normalSmoothAngle: 60 - normalImportMode: 0 + normalImportMode: 1 tangentImportMode: 3 normalCalculationMode: 4 legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 diff --git a/Assets/Other/Delta (Toomas) v0.blend1 b/Assets/Other/Delta (Toomas) v0.blend1 index 0ce7a1a1d577a76e6f54d9400f49072d016c7b46..cc2fc0d65916c41e242da0c497a1810265384d72 100644 GIT binary patch delta 43091 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 delta 43208 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 prKWPL%55qiQ`xC(); + + if (ball == null) return; + DestroyCube(); + } + + public virtual void DestroyCube() + { + + if (spawnBall & !_hasSpawnedBall) + { + _hasSpawnedBall = true; + var ball = Instantiate(ballPrefab, transform.position, Quaternion.identity, null); + + ball.GetComponent().AddForce( + new Vector3( + Random.Range(-2.0f, 2.0f), + Random.Range(-2.0f, 2.0f), + Random.Range(-2.0f, 2.0f) + )); + } + + speed.x = 0; + + StartCoroutine(FadeMaterial(GetComponent().material, fadeTime)); + + //Destroy(gameObject, Time.maximumDeltaTime); + } + + private void SetSpeed(float newspeed) + { + speed.x = newspeed; + } + + private IEnumerator FadeMaterial(Material material, float fadeTime) + { + while (material.GetFloat(Dissolve) < 0.9) + { + var newDissolve = Mathf.MoveTowards(material.GetFloat(Dissolve), 1, fadeTime * Time.deltaTime); + material.SetFloat(Dissolve, newDissolve); + yield return null; + } + + Destroy(gameObject); + } + } +} diff --git a/Assets/Scripts/Breakout/BreakableCube.cs.meta b/Assets/Scripts/Breakout/BreakableCube.cs.meta new file mode 100644 index 00000000..912e302e --- /dev/null +++ b/Assets/Scripts/Breakout/BreakableCube.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 937cad764c6bfd649a75d521269ae995 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Breakout/BreakoutBall.cs b/Assets/Scripts/Breakout/BreakoutBall.cs new file mode 100644 index 00000000..8c303b4b --- /dev/null +++ b/Assets/Scripts/Breakout/BreakoutBall.cs @@ -0,0 +1,40 @@ +using System; +using UnityEngine; + +namespace Breakout +{ + public class BreakoutBall : MonoBehaviour + { + public float speed = 2f; + private Rigidbody _rigidbody; + + private void Awake() + { + Events.OnBreakoutEndGame += DestroyBall; + } + + private void OnDestroy() + { + Events.OnBreakoutEndGame -= DestroyBall; + } + + private void Start() + { + _rigidbody = GetComponent(); + } + + void FixedUpdate() + { + // Fix velocity on X axis so ball is more predictable. + var velocity = _rigidbody.velocity; + velocity.x = Math.Sign(velocity.x) * speed; + velocity = velocity.normalized * (speed * 1.5f); + _rigidbody.velocity = velocity; + } + + private void DestroyBall() + { + Destroy(gameObject); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Breakout/RigidbodySpeedLimiter.cs.meta b/Assets/Scripts/Breakout/BreakoutBall.cs.meta similarity index 100% rename from Assets/Scripts/Breakout/RigidbodySpeedLimiter.cs.meta rename to Assets/Scripts/Breakout/BreakoutBall.cs.meta diff --git a/Assets/Scripts/Breakout/BreakoutManager.cs b/Assets/Scripts/Breakout/BreakoutManager.cs new file mode 100644 index 00000000..4ac656da --- /dev/null +++ b/Assets/Scripts/Breakout/BreakoutManager.cs @@ -0,0 +1,95 @@ +using System.Collections; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using Breakout; +using Unity.Mathematics; +using UnityEngine; +using Random = UnityEngine.Random; + +public class BreakoutManager : MonoBehaviour +{ + private static BreakoutManager _instance; + public static BreakoutManager Instance { get { return _instance; } } + + public GameObject defaultBreakablePrefab; + public GameObject extraBallBreakablePrefab; + + public List spawnPoints; + + public float timeBetweenRows = 5f; + public float startRowSpeed = 0.15f; + private float speedIncreasePerRow = 0.01f; + public float extraBallBreakableChance = 0.1f; + + private float nextRowTime; + private float currentRowSpeed; + + private bool gameStarted; + + private void Awake() + { + if (_instance != null && _instance != this) + { + Destroy(gameObject); + } else { + _instance = this; + } + + gameStarted = true; + Events.OnBreakoutEndGame += EndGame; + nextRowTime = Time.time; + currentRowSpeed = startRowSpeed; + } + + void OnDestroy() + { + Events.OnBreakoutEndGame -= EndGame; + } + + void Update() + { + if (!gameStarted) return; + + if (nextRowTime < Time.time) + { + SpawnRow(); + } + } + + void StartGame() + { + gameStarted = true; + SpawnRow(); + } + + void EndGame() + { + gameStarted = false; + } + + void SpawnRow() + { + nextRowTime = Time.time + timeBetweenRows; + //currentRowSpeed += speedIncreasePerRow; + + foreach (var point in spawnPoints) + { + GameObject box; + + if (Random.value <= extraBallBreakableChance) + { + box = Instantiate(extraBallBreakablePrefab, point.position, Quaternion.identity, null); + } + else + { + box = Instantiate(defaultBreakablePrefab, point.position, Quaternion.identity, null); + } + + var cube = box.GetComponent(); + + cube.speed.x = currentRowSpeed; + } + + Events.BreakoutSetSpeed(currentRowSpeed); + } +} diff --git a/Assets/Scripts/Breakout/BreakoutManager.cs.meta b/Assets/Scripts/Breakout/BreakoutManager.cs.meta new file mode 100644 index 00000000..4ca911c8 --- /dev/null +++ b/Assets/Scripts/Breakout/BreakoutManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f772d08c29771b8478a4d0a9f4ba07eb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Breakout/EndForcefield.cs b/Assets/Scripts/Breakout/EndForcefield.cs index ce234f06..ae2da45b 100644 --- a/Assets/Scripts/Breakout/EndForcefield.cs +++ b/Assets/Scripts/Breakout/EndForcefield.cs @@ -1,18 +1,17 @@ -using System.Collections; -using System.Collections.Generic; using UnityEngine; -public class EndForcefield : MonoBehaviour +namespace Breakout { - // Start is called before the first frame update - void Start() + public class EndForcefield : MonoBehaviour { - - } + private void OnCollisionEnter(Collision other) + { + BreakableCube breakableCube = other.gameObject.GetComponent(); - // Update is called once per frame - void Update() - { - + if (breakableCube != null) + { + Events.BreakoutEndGame(); + } + } } } diff --git a/Assets/Scripts/Breakout/RigidbodySpeedLimiter.cs b/Assets/Scripts/Breakout/RigidbodySpeedLimiter.cs deleted file mode 100644 index 81f6a703..00000000 --- a/Assets/Scripts/Breakout/RigidbodySpeedLimiter.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class RigidbodySpeedLimiter : MonoBehaviour -{ - public float maxSpeed = 5f; - public float minSpeed = 2f; - - private Rigidbody _rigidbody; - - private void Start() - { - _rigidbody = GetComponent(); - } - - void FixedUpdate() - { - if (_rigidbody.IsSleeping()) return; - - float velocity = _rigidbody.velocity.magnitude; - - Debug.Log(velocity); - - if (velocity < minSpeed) - { - _rigidbody.velocity = _rigidbody.velocity.normalized * minSpeed; - } - else if (velocity > maxSpeed) - { - _rigidbody.velocity = Vector3.ClampMagnitude(_rigidbody.velocity, maxSpeed); - } - } -} \ No newline at end of file diff --git a/Assets/Scripts/Events.cs b/Assets/Scripts/Events.cs new file mode 100644 index 00000000..2efeb73e --- /dev/null +++ b/Assets/Scripts/Events.cs @@ -0,0 +1,11 @@ +using System; + +public static class Events +{ + public static event Action OnBreakoutEndGame; + public static void BreakoutEndGame() => OnBreakoutEndGame?.Invoke(); + + public static event Action OnBreakoutSetSpeed; + public static void BreakoutSetSpeed(float speed) => OnBreakoutSetSpeed?.Invoke(speed); + +} diff --git a/Assets/Scripts/Events.cs.meta b/Assets/Scripts/Events.cs.meta new file mode 100644 index 00000000..c0cac1b2 --- /dev/null +++ b/Assets/Scripts/Events.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 477321c71b8018040b003b5fa6f17c34 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/Dissolve.shadergraph b/Assets/Shaders/Dissolve.shadergraph new file mode 100644 index 00000000..a27d9ccf --- /dev/null +++ b/Assets/Shaders/Dissolve.shadergraph @@ -0,0 +1,1821 @@ +{ + "m_SGVersion": 2, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "7ea97cd660534e45b3978b93e48f4afb", + "m_Properties": [ + { + "m_Id": "fb5922c9266e42f189c7c8a38ac0a4d5" + }, + { + "m_Id": "bd047668514a48f184a7c383fb2f7b02" + }, + { + "m_Id": "16a43b080bbe4e01acc6ec156342826f" + }, + { + "m_Id": "bb3bb7b4e1c9414eb11c070a53c3fb5a" + }, + { + "m_Id": "b97048ce40a9495091dbb3eb2c84769e" + } + ], + "m_Keywords": [], + "m_Nodes": [ + { + "m_Id": "722cabf38ce049deb893f6b1986fda83" + }, + { + "m_Id": "d31a6da079594b348d82bb84279a6697" + }, + { + "m_Id": "2cbf8be92bd04effaec23773a533b0e0" + }, + { + "m_Id": "3cc00db109f146f4af399d4fa5455795" + }, + { + "m_Id": "50719141f1614060aa01d04da9dc1d05" + }, + { + "m_Id": "dd0525bf40e9465686b5c7029443609b" + }, + { + "m_Id": "c378f36943214b4984d2ebf71c050c9d" + }, + { + "m_Id": "5fb426885c4240dbb246718cce34370f" + }, + { + "m_Id": "bc2ad4d23c3d4dcbb89696e6ca473a79" + }, + { + "m_Id": "a0d94a2fe3da4e37bf632643a8a981c9" + }, + { + "m_Id": "3c116f21db6046d6961c68ff7ac89665" + }, + { + "m_Id": "50a309ffdbef478a9cf8e78fbdb07e73" + }, + { + "m_Id": "dd7a80c06e414880a0e0539caf7049eb" + }, + { + "m_Id": "74bbb3d356e64b6386a83eaf4627009f" + }, + { + "m_Id": "5af667cca67d4f9a9338f220e54f3791" + }, + { + "m_Id": "f26280b1663840c9bc8720532c675033" + }, + { + "m_Id": "2acba9f5d78a4c5881e0d21c5a80a356" + }, + { + "m_Id": "5400383fbd1c420eb057632c70141302" + }, + { + "m_Id": "9d1725e083c64a388ba43efc4ae35ae0" + }, + { + "m_Id": "78a107b4d6b043eaae3323afc5e9933d" + } + ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "2acba9f5d78a4c5881e0d21c5a80a356" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "74bbb3d356e64b6386a83eaf4627009f" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "50a309ffdbef478a9cf8e78fbdb07e73" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "a0d94a2fe3da4e37bf632643a8a981c9" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "50a309ffdbef478a9cf8e78fbdb07e73" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "dd7a80c06e414880a0e0539caf7049eb" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "5400383fbd1c420eb057632c70141302" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "50a309ffdbef478a9cf8e78fbdb07e73" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "5af667cca67d4f9a9338f220e54f3791" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "dd0525bf40e9465686b5c7029443609b" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "74bbb3d356e64b6386a83eaf4627009f" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "dd7a80c06e414880a0e0539caf7049eb" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "78a107b4d6b043eaae3323afc5e9933d" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3c116f21db6046d6961c68ff7ac89665" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "78a107b4d6b043eaae3323afc5e9933d" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "74bbb3d356e64b6386a83eaf4627009f" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9d1725e083c64a388ba43efc4ae35ae0" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3cc00db109f146f4af399d4fa5455795" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "dd7a80c06e414880a0e0539caf7049eb" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "5af667cca67d4f9a9338f220e54f3791" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "f26280b1663840c9bc8720532c675033" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "5af667cca67d4f9a9338f220e54f3791" + }, + "m_SlotId": 0 + } + } + ], + "m_VertexContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [ + { + "m_Id": "722cabf38ce049deb893f6b1986fda83" + }, + { + "m_Id": "d31a6da079594b348d82bb84279a6697" + }, + { + "m_Id": "2cbf8be92bd04effaec23773a533b0e0" + } + ] + }, + "m_FragmentContext": { + "m_Position": { + "x": 0.0, + "y": 200.0 + }, + "m_Blocks": [ + { + "m_Id": "3cc00db109f146f4af399d4fa5455795" + }, + { + "m_Id": "50719141f1614060aa01d04da9dc1d05" + }, + { + "m_Id": "dd0525bf40e9465686b5c7029443609b" + }, + { + "m_Id": "c378f36943214b4984d2ebf71c050c9d" + }, + { + "m_Id": "5fb426885c4240dbb246718cce34370f" + }, + { + "m_Id": "bc2ad4d23c3d4dcbb89696e6ca473a79" + }, + { + "m_Id": "a0d94a2fe3da4e37bf632643a8a981c9" + }, + { + "m_Id": "3c116f21db6046d6961c68ff7ac89665" + } + ] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + } + }, + "m_Path": "Shader Graphs", + "m_ConcretePrecision": 0, + "m_PreviewMode": 2, + "m_OutputNode": { + "m_Id": "" + }, + "m_ActiveTargets": [ + { + "m_Id": "ef9d6fe1d166468c937cd39350515d17" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "10602ef7c52b46ef8a64ee320964d12e", + "m_Id": 1, + "m_DisplayName": "Scale", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Scale", + "m_StageCapability": 3, + "m_Value": 30.0, + "m_DefaultValue": 500.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "1183b746922c44e6a76bbb55314d8c38", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "13e7be92af394b16a5d0bf7e60311f43", + "m_Id": 0, + "m_DisplayName": "Normal (Tangent Space)", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "NormalTS", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "144f096f56c548bb99de39f6eca4d67d", + "m_Id": 0, + "m_DisplayName": "BaseColor", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "16a43b080bbe4e01acc6ec156342826f", + "m_Guid": { + "m_GuidSerialized": "2a8b837b-93f5-4994-be4e-2ae2d479f9eb" + }, + "m_Name": "NoiseScale", + "m_DefaultReferenceName": "Vector1_16a43b080bbe4e01acc6ec156342826f", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 30.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "18ad68effb0d4237a567c35a2abf53da", + "m_Id": 0, + "m_DisplayName": "Base Color", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "BaseColor", + "m_StageCapability": 2, + "m_Value": { + "x": 0.18039216101169587, + "y": 0.18039216101169587, + "z": 0.18039216101169587 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 0, + "m_DefaultColor": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "1c0d05130bd1487a825e75f90b696b66", + "m_Id": 1, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "2acba9f5d78a4c5881e0d21c5a80a356", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1103.0, + "y": 369.0000305175781, + "width": 134.00001525878907, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "bc6a9039d5d44892b204a7af820c2116" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "bd047668514a48f184a7c383fb2f7b02" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "2cbf8be92bd04effaec23773a533b0e0", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Tangent", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "a27625f80adf42539039e0893e35bc7c" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Tangent" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "38bfd9db00ee4c83ba47e6998f90738d", + "m_Id": 0, + "m_DisplayName": "Edge", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Edge", + "m_StageCapability": 3, + "m_Value": { + "x": 0.5, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "3c116f21db6046d6961c68ff7ac89665", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.AlphaClipThreshold", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "f17d9ce40e7c432b9e9c28b5f99be24f" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.AlphaClipThreshold" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "3cc00db109f146f4af399d4fa5455795", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BaseColor", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "18ad68effb0d4237a567c35a2abf53da" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BaseColor" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "3d33bbfabc284728ad5a484979704f37", + "m_Id": 0, + "m_DisplayName": "NoiseScale", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "4c3e9994c62b4cb49b6e75c964acbca0", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "50719141f1614060aa01d04da9dc1d05", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Smoothness", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "bc0c623948494477b04adddfe0a081c6" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Smoothness" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NoiseNode", + "m_ObjectId": "50a309ffdbef478a9cf8e78fbdb07e73", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Simple Noise", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1164.0, + "y": -12.000001907348633, + "width": 208.00001525878907, + "height": 302.0 + } + }, + "m_Slots": [ + { + "m_Id": "dd53cb72035744809d86bca168a7180b" + }, + { + "m_Id": "10602ef7c52b46ef8a64ee320964d12e" + }, + { + "m_Id": "4c3e9994c62b4cb49b6e75c964acbca0" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "5400383fbd1c420eb057632c70141302", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1316.0, + "y": 79.99999237060547, + "width": 134.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "3d33bbfabc284728ad5a484979704f37" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "16a43b080bbe4e01acc6ec156342826f" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "5552062bf66a417bb3cdb56d65e18441", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "5af667cca67d4f9a9338f220e54f3791", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -463.0, + "y": -25.0, + "width": 208.0, + "height": 302.0 + } + }, + "m_Slots": [ + { + "m_Id": "6d4391bf640a442fb3b07352e6066546" + }, + { + "m_Id": "ef030494378549d89a906e963eb432af" + }, + { + "m_Id": "1183b746922c44e6a76bbb55314d8c38" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "5fb426885c4240dbb246718cce34370f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Specular", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "60921780aac241f2a3aa279c300bb6b0" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Specular" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "60921780aac241f2a3aa279c300bb6b0", + "m_Id": 0, + "m_DisplayName": "Specular Color", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Specular", + "m_StageCapability": 2, + "m_Value": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 0, + "m_DefaultColor": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "6d4391bf640a442fb3b07352e6066546", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "7081c887b7b64548ac5aa244d7effd84", + "m_Id": 0, + "m_DisplayName": "Alpha", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Alpha", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "722cabf38ce049deb893f6b1986fda83", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "f90f9c2e326644858ea7be66536a1c07" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Position" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "725e44180fef49c39a0cb8d8ea87452f", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.AddNode", + "m_ObjectId": "74bbb3d356e64b6386a83eaf4627009f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Add", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -956.0, + "y": 353.0, + "width": 126.0, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "725e44180fef49c39a0cb8d8ea87452f" + }, + { + "m_Id": "81909adb3b9c4a8da90ec95200978599" + }, + { + "m_Id": "b8e8b1ac57454f5395baf560a9f260d8" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "78a107b4d6b043eaae3323afc5e9933d", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1132.0, + "y": 508.00006103515627, + "width": 163.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "99df2079f1c341eda6e7c4dea6dfa58e" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "b97048ce40a9495091dbb3eb2c84769e" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalLitSubTarget", + "m_ObjectId": "799b5b14c6e3402fab43819419f37ee3", + "m_WorkflowMode": 0, + "m_NormalDropOffSpace": 0, + "m_ClearCoat": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "81909adb3b9c4a8da90ec95200978599", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.029999999329447748, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "8642f15f1909468881fa01aeeb6236c6", + "m_Id": 0, + "m_DisplayName": "Emission", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Emission", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 1, + "m_DefaultColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "99df2079f1c341eda6e7c4dea6dfa58e", + "m_Id": 0, + "m_DisplayName": "Dissolve", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "9d1725e083c64a388ba43efc4ae35ae0", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -145.99998474121095, + "y": 230.00001525878907, + "width": 132.00001525878907, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "144f096f56c548bb99de39f6eca4d67d" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "bb3bb7b4e1c9414eb11c070a53c3fb5a" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "a0aa3966c418466296941290160f7fc1", + "m_Id": 0, + "m_DisplayName": "Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Normal", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "a0d94a2fe3da4e37bf632643a8a981c9", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Alpha", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "7081c887b7b64548ac5aa244d7effd84" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Alpha" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.TangentMaterialSlot", + "m_ObjectId": "a27625f80adf42539039e0893e35bc7c", + "m_Id": 0, + "m_DisplayName": "Tangent", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Tangent", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "af64623223c84cac89951a1250c071b0", + "m_Id": 0, + "m_DisplayName": "Ambient Occlusion", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Occlusion", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "b8e8b1ac57454f5395baf560a9f260d8", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "b97048ce40a9495091dbb3eb2c84769e", + "m_Guid": { + "m_GuidSerialized": "388cc124-3ee6-4447-b773-abdc21ac2fda" + }, + "m_Name": "Dissolve", + "m_DefaultReferenceName": "Vector1_b97048ce40a9495091dbb3eb2c84769e", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.5, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "bb3bb7b4e1c9414eb11c070a53c3fb5a", + "m_Guid": { + "m_GuidSerialized": "51896879-b6be-4ed7-ace6-5312aae8465b" + }, + "m_Name": "BaseColor", + "m_DefaultReferenceName": "Color_bb3bb7b4e1c9414eb11c070a53c3fb5a", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 0.0, + "g": 1.0, + "b": 0.0, + "a": 0.0 + }, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "bc0c623948494477b04adddfe0a081c6", + "m_Id": 0, + "m_DisplayName": "Smoothness", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Smoothness", + "m_StageCapability": 2, + "m_Value": 0.5, + "m_DefaultValue": 0.5, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "bc2ad4d23c3d4dcbb89696e6ca473a79", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.NormalTS", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "13e7be92af394b16a5d0bf7e60311f43" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.NormalTS" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "bc6a9039d5d44892b204a7af820c2116", + "m_Id": 0, + "m_DisplayName": "EdgeWidth", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "bd047668514a48f184a7c383fb2f7b02", + "m_Guid": { + "m_GuidSerialized": "7a22e009-aa3e-41e6-abc5-7359f6fa686c" + }, + "m_Name": "EdgeWidth", + "m_DefaultReferenceName": "Vector1_bd047668514a48f184a7c383fb2f7b02", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 0.029999999329447748, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "c378f36943214b4984d2ebf71c050c9d", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Occlusion", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "af64623223c84cac89951a1250c071b0" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Occlusion" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "d31a6da079594b348d82bb84279a6697", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Normal", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "a0aa3966c418466296941290160f7fc1" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Normal" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "d5b89ca1a8e34089a9d223b18748e447", + "m_Id": 0, + "m_DisplayName": "EdgeColor", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "dd0525bf40e9465686b5c7029443609b", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Emission", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "8642f15f1909468881fa01aeeb6236c6" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Emission" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.UVMaterialSlot", + "m_ObjectId": "dd53cb72035744809d86bca168a7180b", + "m_Id": 0, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [], + "m_Channel": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.StepNode", + "m_ObjectId": "dd7a80c06e414880a0e0539caf7049eb", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Step", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -767.0, + "y": 0.0, + "width": 208.0, + "height": 302.0 + } + }, + "m_Slots": [ + { + "m_Id": "38bfd9db00ee4c83ba47e6998f90738d" + }, + { + "m_Id": "1c0d05130bd1487a825e75f90b696b66" + }, + { + "m_Id": "5552062bf66a417bb3cdb56d65e18441" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "ef030494378549d89a906e963eb432af", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", + "m_ObjectId": "ef9d6fe1d166468c937cd39350515d17", + "m_ActiveSubTarget": { + "m_Id": "799b5b14c6e3402fab43819419f37ee3" + }, + "m_SurfaceType": 0, + "m_AlphaMode": 0, + "m_TwoSided": true, + "m_AlphaClip": true, + "m_CustomEditorGUI": "" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "f17d9ce40e7c432b9e9c28b5f99be24f", + "m_Id": 0, + "m_DisplayName": "Alpha Clip Threshold", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "AlphaClipThreshold", + "m_StageCapability": 2, + "m_Value": 0.5, + "m_DefaultValue": 0.5, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "f26280b1663840c9bc8720532c675033", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -613.0, + "y": -77.0000228881836, + "width": 107.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "d5b89ca1a8e34089a9d223b18748e447" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "fb5922c9266e42f189c7c8a38ac0a4d5" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", + "m_ObjectId": "f90f9c2e326644858ea7be66536a1c07", + "m_Id": 0, + "m_DisplayName": "Position", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Position", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "fb5922c9266e42f189c7c8a38ac0a4d5", + "m_Guid": { + "m_GuidSerialized": "34578087-37d1-4788-8344-1c213ad120e8" + }, + "m_Name": "EdgeColor", + "m_DefaultReferenceName": "Color_fb5922c9266e42f189c7c8a38ac0a4d5", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 0.010002612136304379, + "g": 3.999999523162842, + "b": 0.0, + "a": 0.0 + }, + "m_ColorMode": 1 +} + diff --git a/Assets/Shaders/Dissolve.shadergraph.meta b/Assets/Shaders/Dissolve.shadergraph.meta new file mode 100644 index 00000000..43724c66 --- /dev/null +++ b/Assets/Shaders/Dissolve.shadergraph.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 749ed086e0ed4b547b230bac278c4393 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} diff --git a/Assets/Shaders/DissolveGreen.mat b/Assets/Shaders/DissolveGreen.mat new file mode 100644 index 00000000..61464ee2 --- /dev/null +++ b/Assets/Shaders/DissolveGreen.mat @@ -0,0 +1,130 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: DissolveGreen + m_Shader: {fileID: -6465566751694194690, guid: 749ed086e0ed4b547b230bac278c4393, + type: 3} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 1 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + 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_Floats: + - Vector1_16a43b080bbe4e01acc6ec156342826f: 30 + - Vector1_b97048ce40a9495091dbb3eb2c84769e: 0 + - Vector1_bd047668514a48f184a7c383fb2f7b02: 0.03 + - _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: + - Color_bb3bb7b4e1c9414eb11c070a53c3fb5a: {r: 0, g: 1, b: 0, a: 0} + - Color_fb5922c9266e42f189c7c8a38ac0a4d5: {r: 0.01000261, g: 5.3403134, b: 0, + a: 0} + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, 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 &4722724827491484363 +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: 4 diff --git a/Assets/Shaders/DissolveGreen.mat.meta b/Assets/Shaders/DissolveGreen.mat.meta new file mode 100644 index 00000000..190726b9 --- /dev/null +++ b/Assets/Shaders/DissolveGreen.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1c9649ac6612feb41980e2a04023b4d9 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/DissolveRed.mat b/Assets/Shaders/DissolveRed.mat new file mode 100644 index 00000000..99546be9 --- /dev/null +++ b/Assets/Shaders/DissolveRed.mat @@ -0,0 +1,129 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-2095398896705080989 +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: 4 +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: DissolveRed + m_Shader: {fileID: -6465566751694194690, guid: 749ed086e0ed4b547b230bac278c4393, + type: 3} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 1 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + 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_Floats: + - Vector1_16a43b080bbe4e01acc6ec156342826f: 30 + - Vector1_b97048ce40a9495091dbb3eb2c84769e: 0 + - Vector1_bd047668514a48f184a7c383fb2f7b02: 0.03 + - _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: + - Color_bb3bb7b4e1c9414eb11c070a53c3fb5a: {r: 1, g: 0, b: 0, a: 0} + - Color_fb5922c9266e42f189c7c8a38ac0a4d5: {r: 5.3403134, g: 0, b: 0, a: 0} + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, 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/Shaders/DissolveRed.mat.meta b/Assets/Shaders/DissolveRed.mat.meta new file mode 100644 index 00000000..6870a0f5 --- /dev/null +++ b/Assets/Shaders/DissolveRed.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7a2000b1dca8c0c4b9ad94e877c8b0a0 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: