From d4623972f6b97cfa7c97797c7e56cd0628253358 Mon Sep 17 00:00:00 2001 From: Bronson Zgeb Date: Mon, 8 Mar 2021 22:37:21 -0500 Subject: [PATCH] Blurring metaballs based on depth --- .../ExampleAssets/Materials/LightBulb_Mat.mat | 36 +- .../RenderMetaballsScreenSpace.cs | 223 ++-- .../Metaballs/Shaders/Includes/DepthNode.hlsl | 17 + .../Shaders/Includes/DepthNode.hlsl.meta | 3 + Assets/Metaballs/Shaders/KawaseBlur.shader | 9 +- .../Shaders/Shader Graphs_WriteToDepth.mat | 38 + .../Shader Graphs_WriteToDepth.mat.meta | 8 + .../Shaders/WriteToDepth.shadergraph | 949 ++++++++++++++++++ .../Shaders/WriteToDepth.shadergraph.meta | 10 + Assets/ParticleMaterial 1.mat | 25 +- Assets/Scenes/MixAndJam.unity | 60 +- .../Settings/CustomForwardRendererData.asset | 4 +- 12 files changed, 1272 insertions(+), 110 deletions(-) create mode 100644 Assets/Metaballs/Shaders/Includes/DepthNode.hlsl create mode 100644 Assets/Metaballs/Shaders/Includes/DepthNode.hlsl.meta create mode 100644 Assets/Metaballs/Shaders/Shader Graphs_WriteToDepth.mat create mode 100644 Assets/Metaballs/Shaders/Shader Graphs_WriteToDepth.mat.meta create mode 100644 Assets/Metaballs/Shaders/WriteToDepth.shadergraph create mode 100644 Assets/Metaballs/Shaders/WriteToDepth.shadergraph.meta diff --git a/Assets/ExampleAssets/Materials/LightBulb_Mat.mat b/Assets/ExampleAssets/Materials/LightBulb_Mat.mat index 3f89da1..6077c18 100644 --- a/Assets/ExampleAssets/Materials/LightBulb_Mat.mat +++ b/Assets/ExampleAssets/Materials/LightBulb_Mat.mat @@ -21,15 +21,16 @@ Material: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: LightBulb_Mat - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: _EMISSION + m_Shader: {fileID: 4800000, guid: b7839dad95683814aa64166edc107ae2, type: 3} + m_ShaderKeywords: _EMISSION _FADING_ON _SOFTPARTICLES_ON m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 3000 stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] + RenderType: Transparent + disabledShaderPasses: + - SHADOWCASTER m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -92,15 +93,26 @@ Material: m_Floats: - _AlphaClip: 0 - _Blend: 0 + - _BlendOp: 0 - _BumpScale: 1 + - _CameraFadingEnabled: 0 + - _CameraFarFadeDistance: 2 + - _CameraNearFadeDistance: 1 - _ClearCoatMask: 0 - _ClearCoatSmoothness: 0 + - _ColorMode: 0 - _Cull: 2 - _Cutoff: 0.5 - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - - _DstBlend: 0 + - _DistortionBlend: 0.5 + - _DistortionEnabled: 0 + - _DistortionStrength: 1 + - _DistortionStrengthScaled: 0.1 + - _DstBlend: 10 - _EnvironmentReflections: 1 + - _FlipbookBlending: 0 + - _FlipbookMode: 0 - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 @@ -112,15 +124,21 @@ Material: - _ReceiveShadows: 1 - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 + - _SoftParticlesEnabled: 1 + - _SoftParticlesFarFadeDistance: 1 + - _SoftParticlesNearFadeDistance: 0 - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 + - _SrcBlend: 5 + - _Surface: 1 - _UVSec: 0 - _WorkflowMode: 1 - - _ZWrite: 1 + - _ZWrite: 0 m_Colors: - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _BaseColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} + - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 11.179362, g: 11.179362, b: 11.179362, a: 1} + - _SoftParticleFadeParams: {r: 0, g: 1, b: 0, a: 0} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] diff --git a/Assets/Metaballs/RendererFeatures/RenderMetaballsScreenSpace.cs b/Assets/Metaballs/RendererFeatures/RenderMetaballsScreenSpace.cs index 1aac06d..1564643 100644 --- a/Assets/Metaballs/RendererFeatures/RenderMetaballsScreenSpace.cs +++ b/Assets/Metaballs/RendererFeatures/RenderMetaballsScreenSpace.cs @@ -3,66 +3,150 @@ using UnityEngine; using UnityEngine.Experimental.Rendering.Universal; using UnityEngine.Rendering; using UnityEngine.Rendering.Universal; +using UnityEngine.Rendering.Universal.Internal; public class RenderMetaballsScreenSpace : ScriptableRendererFeature { - class RenderMetaballsScreenSpacePass : ScriptableRenderPass + class RenderMetaballsDepthPass : ScriptableRenderPass { - const string MetaballRTId = "_MetaballRT"; - const string MetaballRT2Id = "_MetaballRT2"; + const string MetaballDepthRTId = "_MetaballDepthRT"; + int _metaballDepthRTId; + public Material WriteDepthMaterial; - int _metaballRTId; - int _metaballRT2Id; + RenderTargetIdentifier _metaballDepthRT; + RenderStateBlock _renderStateBlock; + RenderQueueType _renderQueueType; + FilteringSettings _filteringSettings; + ProfilingSampler _profilingSampler; + List _shaderTagIdList = new List(); - public Material BlitMaterial; - public Material BlurMaterial; - public Material BlitCopyDepthMaterial; - - public int BlurPasses; - - RenderTargetIdentifier _metaballRT; - RenderTargetIdentifier _metaballRT2; - RenderTargetIdentifier _cameraTargetId; - RenderTargetIdentifier _cameraDepthTargetId; - - RenderQueueType renderQueueType; - FilteringSettings m_FilteringSettings; - ProfilingSampler m_ProfilingSampler; - - List m_ShaderTagIdList = new List(); - - RenderStateBlock m_RenderStateBlock; - - public RenderMetaballsScreenSpacePass(string profilerTag, RenderPassEvent renderPassEvent, string[] shaderTags, - RenderQueueType renderQueueType, int layerMask) + public RenderMetaballsDepthPass(string profilerTag, RenderPassEvent renderPassEvent, + string[] shaderTags, RenderQueueType renderQueueType, int layerMask) { profilingSampler = new ProfilingSampler(nameof(RenderObjectsPass)); - m_ProfilingSampler = new ProfilingSampler(profilerTag); + _profilingSampler = new ProfilingSampler(profilerTag); this.renderPassEvent = renderPassEvent; - this.renderQueueType = renderQueueType; + this._renderQueueType = renderQueueType; RenderQueueRange renderQueueRange = (renderQueueType == RenderQueueType.Transparent) ? RenderQueueRange.transparent : RenderQueueRange.opaque; - m_FilteringSettings = new FilteringSettings(renderQueueRange, layerMask); + _filteringSettings = new FilteringSettings(renderQueueRange, layerMask); if (shaderTags != null && shaderTags.Length > 0) { foreach (var passName in shaderTags) - m_ShaderTagIdList.Add(new ShaderTagId(passName)); + _shaderTagIdList.Add(new ShaderTagId(passName)); } else { - m_ShaderTagIdList.Add(new ShaderTagId("SRPDefaultUnlit")); - m_ShaderTagIdList.Add(new ShaderTagId("UniversalForward")); - m_ShaderTagIdList.Add(new ShaderTagId("UniversalForwardOnly")); - m_ShaderTagIdList.Add(new ShaderTagId("LightweightForward")); + _shaderTagIdList.Add(new ShaderTagId("SRPDefaultUnlit")); + _shaderTagIdList.Add(new ShaderTagId("UniversalForward")); + _shaderTagIdList.Add(new ShaderTagId("UniversalForwardOnly")); + _shaderTagIdList.Add(new ShaderTagId("LightweightForward")); } - m_RenderStateBlock = new RenderStateBlock(RenderStateMask.Nothing); + _renderStateBlock = new RenderStateBlock(RenderStateMask.Nothing); + } - BlitCopyDepthMaterial = new Material(Shader.Find("Hidden/BlitToDepth")); - BlurMaterial = new Material(Shader.Find("Hidden/KawaseBlur")); + public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData) + { + RenderTextureDescriptor blitTargetDescriptor = renderingData.cameraData.cameraTargetDescriptor; + + _metaballDepthRTId = Shader.PropertyToID(MetaballDepthRTId); + cmd.GetTemporaryRT(_metaballDepthRTId, blitTargetDescriptor); + _metaballDepthRT = new RenderTargetIdentifier(_metaballDepthRTId); + ConfigureTarget(_metaballDepthRT); + ConfigureClear(ClearFlag.All, Color.clear); + } + + public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) + { + SortingCriteria sortingCriteria = (_renderQueueType == RenderQueueType.Transparent) + ? SortingCriteria.CommonTransparent + : renderingData.cameraData.defaultOpaqueSortFlags; + + DrawingSettings drawingSettings = + CreateDrawingSettings(_shaderTagIdList, ref renderingData, sortingCriteria); + + // NOTE: Do NOT mix ProfilingScope with named CommandBuffers i.e. CommandBufferPool.Get("name"). + // Currently there's an issue which results in mismatched markers. + CommandBuffer cmd = CommandBufferPool.Get(); + using (new ProfilingScope(cmd, _profilingSampler)) + { + //Write Depth + drawingSettings.overrideMaterial = WriteDepthMaterial; + context.DrawRenderers(renderingData.cullResults, ref drawingSettings, ref _filteringSettings, + ref _renderStateBlock); + } + + context.ExecuteCommandBuffer(cmd); + CommandBufferPool.Release(cmd); + } + } + + class RenderMetaballsScreenSpacePass : ScriptableRenderPass + { + const string MetaballRTId = "_MetaballRT"; + const string MetaballRT2Id = "_MetaballRT2"; + const string MetaballDepthRTId = "_MetaballDepthRT"; + + int _metaballRTId; + int _metaballRT2Id; + int _metaballDepthRTId; + + public Material BlitMaterial; + Material _blurMaterial; + Material _blitCopyDepthMaterial; + + public int BlurPasses; + public float BlurDistance; + + RenderTargetIdentifier _metaballRT; + RenderTargetIdentifier _metaballRT2; + RenderTargetIdentifier _metaballDepthRT; + RenderTargetIdentifier _cameraTargetId; + RenderTargetIdentifier _cameraDepthTargetId; + + RenderQueueType _renderQueueType; + FilteringSettings _filteringSettings; + ProfilingSampler _profilingSampler; + + List ShaderTagIdList = new List(); + + RenderStateBlock _renderStateBlock; + + public RenderMetaballsScreenSpacePass(string profilerTag, RenderPassEvent renderPassEvent, + string[] shaderTags, + RenderQueueType renderQueueType, int layerMask) + { + profilingSampler = new ProfilingSampler(nameof(RenderObjectsPass)); + + _profilingSampler = new ProfilingSampler(profilerTag); + this.renderPassEvent = renderPassEvent; + this._renderQueueType = renderQueueType; + RenderQueueRange renderQueueRange = (renderQueueType == RenderQueueType.Transparent) + ? RenderQueueRange.transparent + : RenderQueueRange.opaque; + _filteringSettings = new FilteringSettings(renderQueueRange, layerMask); + + if (shaderTags != null && shaderTags.Length > 0) + { + foreach (var passName in shaderTags) + ShaderTagIdList.Add(new ShaderTagId(passName)); + } + else + { + ShaderTagIdList.Add(new ShaderTagId("SRPDefaultUnlit")); + ShaderTagIdList.Add(new ShaderTagId("UniversalForward")); + ShaderTagIdList.Add(new ShaderTagId("UniversalForwardOnly")); + ShaderTagIdList.Add(new ShaderTagId("LightweightForward")); + } + + _renderStateBlock = new RenderStateBlock(RenderStateMask.Nothing); + + _blitCopyDepthMaterial = new Material(Shader.Find("Hidden/BlitToDepth")); + _blurMaterial = new Material(Shader.Find("Hidden/KawaseBlur")); } // This method is called before executing the render pass. @@ -79,12 +163,14 @@ public class RenderMetaballsScreenSpace : ScriptableRendererFeature _metaballRTId = Shader.PropertyToID(MetaballRTId); _metaballRT2Id = Shader.PropertyToID(MetaballRT2Id); + _metaballDepthRTId = Shader.PropertyToID(MetaballDepthRTId); cmd.GetTemporaryRT(_metaballRTId, blitTargetDescriptor, FilterMode.Bilinear); cmd.GetTemporaryRT(_metaballRT2Id, blitTargetDescriptor, FilterMode.Bilinear); _metaballRT = new RenderTargetIdentifier(_metaballRTId); _metaballRT2 = new RenderTargetIdentifier(_metaballRT2Id); + _metaballDepthRT = new RenderTargetIdentifier(_metaballDepthRTId); ConfigureTarget(_metaballRT); @@ -98,72 +184,60 @@ public class RenderMetaballsScreenSpace : ScriptableRendererFeature // You don't have to call ScriptableRenderContext.submit, the render pipeline will call it at specific points in the pipeline. public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) { - SortingCriteria sortingCriteria = (renderQueueType == RenderQueueType.Transparent) + SortingCriteria sortingCriteria = (_renderQueueType == RenderQueueType.Transparent) ? SortingCriteria.CommonTransparent : renderingData.cameraData.defaultOpaqueSortFlags; DrawingSettings drawingSettings = - CreateDrawingSettings(m_ShaderTagIdList, ref renderingData, sortingCriteria); + CreateDrawingSettings(ShaderTagIdList, ref renderingData, sortingCriteria); // NOTE: Do NOT mix ProfilingScope with named CommandBuffers i.e. CommandBufferPool.Get("name"). // Currently there's an issue which results in mismatched markers. CommandBuffer cmd = CommandBufferPool.Get(); - using (new ProfilingScope(cmd, m_ProfilingSampler)) + using (new ProfilingScope(cmd, _profilingSampler)) { //Clear small RT - cmd.ClearRenderTarget(true, true, new Color(0, 0, 0, 0)); + cmd.ClearRenderTarget(true, true, Color.clear); context.ExecuteCommandBuffer(cmd); cmd.Clear(); //Blit Camera Depth Texture - Blit(cmd, _cameraDepthTargetId, _metaballRT, BlitCopyDepthMaterial); + Blit(cmd, _cameraDepthTargetId, _metaballRT, _blitCopyDepthMaterial); context.ExecuteCommandBuffer(cmd); cmd.Clear(); //Draw to RT - context.DrawRenderers(renderingData.cullResults, ref drawingSettings, ref m_FilteringSettings, - ref m_RenderStateBlock); - + context.DrawRenderers(renderingData.cullResults, ref drawingSettings, ref _filteringSettings, + ref _renderStateBlock); context.ExecuteCommandBuffer(cmd); cmd.Clear(); - float offset = 1.5f; //Blur + cmd.SetGlobalTexture("_BlurDepthTex", _metaballDepthRT); + cmd.SetGlobalFloat("_BlurDistance", BlurDistance); + float offset = 1.5f; cmd.SetGlobalFloat("_Offset", offset); - Blit(cmd, _metaballRT, _metaballRT2, BlurMaterial); + Blit(cmd, _metaballRT, _metaballRT2, _blurMaterial); context.ExecuteCommandBuffer(cmd); cmd.Clear(); + + var tmpRT = _metaballRT; + _metaballRT = _metaballRT2; + _metaballRT2 = tmpRT; for (int i = 1; i < BlurPasses; ++i) { offset += 1.0f; cmd.SetGlobalFloat("_Offset", offset); - Blit(cmd, _metaballRT, _metaballRT2, BlurMaterial); + Blit(cmd, _metaballRT, _metaballRT2, _blurMaterial); context.ExecuteCommandBuffer(cmd); cmd.Clear(); - var tmpRT = _metaballRT; + tmpRT = _metaballRT; _metaballRT = _metaballRT2; _metaballRT2 = tmpRT; } - /* - cmd.SetGlobalFloat("_Offset", 2.5f); - Blit(cmd, _metaballRT2, _metaballRT, BlurMaterial); - context.ExecuteCommandBuffer(cmd); - cmd.Clear(); - - cmd.SetGlobalFloat("_Offset", 3.5f); - Blit(cmd, _metaballRT, _metaballRT2, BlurMaterial); - context.ExecuteCommandBuffer(cmd); - cmd.Clear(); - - cmd.SetGlobalFloat("_Offset", 4.5f); - Blit(cmd, _metaballRT2, _metaballRT, BlurMaterial); - context.ExecuteCommandBuffer(cmd); - cmd.Clear(); - */ - //Draw to Camera Target Blit(cmd, _metaballRT, _cameraTargetId, BlitMaterial); } @@ -177,6 +251,7 @@ public class RenderMetaballsScreenSpace : ScriptableRendererFeature { cmd.ReleaseTemporaryRT(_metaballRTId); cmd.ReleaseTemporaryRT(_metaballRT2Id); + cmd.ReleaseTemporaryRT(_metaballDepthRTId); } } @@ -186,19 +261,32 @@ public class RenderMetaballsScreenSpace : ScriptableRendererFeature public RenderObjects.FilterSettings FilterSettings = new RenderObjects.FilterSettings(); public Material BlitMaterial; + public Material WriteDepthMaterial; + + RenderMetaballsDepthPass _renderMetaballsDepthPass; RenderMetaballsScreenSpacePass _scriptableMetaballsScreenSpacePass; [Range(1, 15)] public int BlurPasses = 1; + [Range(0f, 1f)] + public float BlurDistance = 0.5f; + /// public override void Create() { + _renderMetaballsDepthPass = new RenderMetaballsDepthPass(PassTag, Event, FilterSettings.PassNames, + FilterSettings.RenderQueueType, FilterSettings.LayerMask) + { + WriteDepthMaterial = WriteDepthMaterial + }; + _scriptableMetaballsScreenSpacePass = new RenderMetaballsScreenSpacePass(PassTag, Event, FilterSettings.PassNames, FilterSettings.RenderQueueType, FilterSettings.LayerMask) { BlitMaterial = BlitMaterial, - BlurPasses = BlurPasses + BlurPasses = BlurPasses, + BlurDistance = BlurDistance }; } @@ -206,6 +294,7 @@ public class RenderMetaballsScreenSpace : ScriptableRendererFeature // This method is called when setting up the renderer once per-camera. public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) { + renderer.EnqueuePass(_renderMetaballsDepthPass); renderer.EnqueuePass(_scriptableMetaballsScreenSpacePass); } } \ No newline at end of file diff --git a/Assets/Metaballs/Shaders/Includes/DepthNode.hlsl b/Assets/Metaballs/Shaders/Includes/DepthNode.hlsl new file mode 100644 index 0000000..1af3853 --- /dev/null +++ b/Assets/Metaballs/Shaders/Includes/DepthNode.hlsl @@ -0,0 +1,17 @@ +void GetDepth_float(float4 ObjectPosition, out float Depth) +{ + #if defined(SHADERGRAPH_PREVIEW) + Depth = 0.5; + #else + Depth = TransformObjectToHClip(ObjectPosition).w * _ProjectionParams.w; + #endif +} + +void GetDepth_half(half4 ObjectPosition, out half Depth) +{ + #if defined(SHADERGRAPH_PREVIEW) + Depth = 0.5h; + #else + Depth = TransformObjectToHClip(ObjectPosition).w * _ProjectionParams.w; + #endif +} \ No newline at end of file diff --git a/Assets/Metaballs/Shaders/Includes/DepthNode.hlsl.meta b/Assets/Metaballs/Shaders/Includes/DepthNode.hlsl.meta new file mode 100644 index 0000000..7029068 --- /dev/null +++ b/Assets/Metaballs/Shaders/Includes/DepthNode.hlsl.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: b392595f3c6f4846bc173bff0fb18106 +timeCreated: 1615251142 \ No newline at end of file diff --git a/Assets/Metaballs/Shaders/KawaseBlur.shader b/Assets/Metaballs/Shaders/KawaseBlur.shader index b4f4159..fb92ab8 100644 --- a/Assets/Metaballs/Shaders/KawaseBlur.shader +++ b/Assets/Metaballs/Shaders/KawaseBlur.shader @@ -36,6 +36,9 @@ Shader "Hidden/KawaseBlur" float4 _MainTex_ST; float4 _MainTex_TexelSize; + sampler2D _MetaballDepthRT; + float _BlurDistance; + v2f vert (appdata v) { v2f o; @@ -76,7 +79,11 @@ Shader "Hidden/KawaseBlur" const half2 uv = input.uv; fixed4 color = tex2D(_MainTex, uv); - color = applyBlur(color, uv, texelResolution, _Offset); + fixed4 depth = tex2D(_MetaballDepthRT, uv); + if (depth.r < _BlurDistance) + { + color = applyBlur(color, uv, texelResolution, _Offset); + } return color; } ENDCG diff --git a/Assets/Metaballs/Shaders/Shader Graphs_WriteToDepth.mat b/Assets/Metaballs/Shaders/Shader Graphs_WriteToDepth.mat new file mode 100644 index 0000000..7766262 --- /dev/null +++ b/Assets/Metaballs/Shaders/Shader Graphs_WriteToDepth.mat @@ -0,0 +1,38 @@ +%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: Shader Graphs_WriteToDepth + m_Shader: {fileID: -6465566751694194690, guid: 513807bc2f5309843ae2ca6907d35342, type: 3} + m_ShaderKeywords: _SOFTPARTICLES_ON + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - 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: + - _SOFTPARTICLES: 1 + - _SOFTPARTICLES_ON: 0 + m_Colors: [] + m_BuildTextureStacks: [] diff --git a/Assets/Metaballs/Shaders/Shader Graphs_WriteToDepth.mat.meta b/Assets/Metaballs/Shaders/Shader Graphs_WriteToDepth.mat.meta new file mode 100644 index 0000000..f6062f1 --- /dev/null +++ b/Assets/Metaballs/Shaders/Shader Graphs_WriteToDepth.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3abad26229f1dfe418d9152127d1e435 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Metaballs/Shaders/WriteToDepth.shadergraph b/Assets/Metaballs/Shaders/WriteToDepth.shadergraph new file mode 100644 index 0000000..dd63898 --- /dev/null +++ b/Assets/Metaballs/Shaders/WriteToDepth.shadergraph @@ -0,0 +1,949 @@ +{ + "m_SGVersion": 2, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "7e05ed67229a4ee992aabeda4e821bc0", + "m_Properties": [], + "m_Keywords": [], + "m_Nodes": [ + { + "m_Id": "86bc5ec46a85438c93b069698682fb84" + }, + { + "m_Id": "6f65e62043944fdfa2e2260f03ad9d12" + }, + { + "m_Id": "f42ab1baf51341058842eec87f61929d" + }, + { + "m_Id": "64c86f9154c345f58935a6665dda384e" + }, + { + "m_Id": "529783e5842345fe8c86cb20ed1ccdce" + }, + { + "m_Id": "d250a17182194676997c93f5fb449c8e" + }, + { + "m_Id": "6c7b25ca28044295a06cffafd8c459aa" + }, + { + "m_Id": "e2b2b84d629a41c5b7711998c97d4e49" + }, + { + "m_Id": "b552ce778ae1400eb8158163430063de" + }, + { + "m_Id": "2eaeca4ad42d44e9b19defca7ae22707" + }, + { + "m_Id": "3bba0eedea4e4ee6acf30f6514fe6e11" + }, + { + "m_Id": "8ded357fc34544639ef41df4db4e42af" + } + ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "529783e5842345fe8c86cb20ed1ccdce" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "d250a17182194676997c93f5fb449c8e" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "8ded357fc34544639ef41df4db4e42af" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "529783e5842345fe8c86cb20ed1ccdce" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "d250a17182194676997c93f5fb449c8e" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "b552ce778ae1400eb8158163430063de" + }, + "m_SlotId": 0 + } + } + ], + "m_VertexContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [ + { + "m_Id": "86bc5ec46a85438c93b069698682fb84" + }, + { + "m_Id": "6f65e62043944fdfa2e2260f03ad9d12" + }, + { + "m_Id": "f42ab1baf51341058842eec87f61929d" + } + ] + }, + "m_FragmentContext": { + "m_Position": { + "x": 0.0, + "y": 200.0 + }, + "m_Blocks": [ + { + "m_Id": "64c86f9154c345f58935a6665dda384e" + }, + { + "m_Id": "6c7b25ca28044295a06cffafd8c459aa" + }, + { + "m_Id": "e2b2b84d629a41c5b7711998c97d4e49" + }, + { + "m_Id": "b552ce778ae1400eb8158163430063de" + }, + { + "m_Id": "2eaeca4ad42d44e9b19defca7ae22707" + }, + { + "m_Id": "3bba0eedea4e4ee6acf30f6514fe6e11" + } + ] + }, + "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": "4de85465d75b4e6b997fb1cfc38607f0" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "080bff881d1c4a469609add1bdbfc554", + "m_Id": 0, + "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_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "0d344df3466f4fbc83aa06bfe7082794", + "m_Id": 1, + "m_DisplayName": "X", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "X", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "1170e7b782204264acb0c0fe1bdb7f94", + "m_Id": 1, + "m_DisplayName": "Depth", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Depth", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "28e2721fb44f4ea98136c4f798bffaaf", + "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": "2eaeca4ad42d44e9b19defca7ae22707", + "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": "60e92adc2e3a4425a87f1f0c1712c741" + } + ], + "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.TangentMaterialSlot", + "m_ObjectId": "3831d5f75f304ec385a7d8fe5d04367d", + "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.BlockNode", + "m_ObjectId": "3bba0eedea4e4ee6acf30f6514fe6e11", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Metallic", + "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": "fd46683fb8b94d1bb3c1365eeeb69ab5" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Metallic" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", + "m_ObjectId": "4de85465d75b4e6b997fb1cfc38607f0", + "m_ActiveSubTarget": { + "m_Id": "9c68944dda9e41a6913fdb8a538eb564" + }, + "m_SurfaceType": 0, + "m_AlphaMode": 0, + "m_TwoSided": false, + "m_AlphaClip": false, + "m_CustomEditorGUI": "" +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.CustomFunctionNode", + "m_ObjectId": "529783e5842345fe8c86cb20ed1ccdce", + "m_Group": { + "m_Id": "" + }, + "m_Name": "GetDepth (Custom Function)", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -846.0, + "y": 235.0000457763672, + "width": 212.0, + "height": 278.0 + } + }, + "m_Slots": [ + { + "m_Id": "b5c612d22a01487eb167a806252fc223" + }, + { + "m_Id": "1170e7b782204264acb0c0fe1bdb7f94" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SourceType": 0, + "m_FunctionName": "GetDepth", + "m_FunctionSource": "b392595f3c6f4846bc173bff0fb18106", + "m_FunctionBody": "Enter function body here..." +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "60e92adc2e3a4425a87f1f0c1712c741", + "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.BlockNode", + "m_ObjectId": "64c86f9154c345f58935a6665dda384e", + "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": "a0c71574f2094a549621050728097a1f" + } + ], + "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.BlockNode", + "m_ObjectId": "6c7b25ca28044295a06cffafd8c459aa", + "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": "8f5e66535e394efea314ce58d204f27b" + } + ], + "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.BlockNode", + "m_ObjectId": "6f65e62043944fdfa2e2260f03ad9d12", + "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": "28e2721fb44f4ea98136c4f798bffaaf" + } + ], + "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.ColorRGBMaterialSlot", + "m_ObjectId": "70d17f91e08d4abb8ac203a52c882124", + "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.BlockNode", + "m_ObjectId": "86bc5ec46a85438c93b069698682fb84", + "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": "9489dc8360334e6f8628202d3eb81cca" + } + ], + "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.Vector1MaterialSlot", + "m_ObjectId": "8929788dacf343a0b4a3a6f7cb276909", + "m_Id": 2, + "m_DisplayName": "Y", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Y", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [ + "Y" + ] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.PositionNode", + "m_ObjectId": "8ded357fc34544639ef41df4db4e42af", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1102.0, + "y": 235.0, + "width": 208.0, + "height": 316.0 + } + }, + "m_Slots": [ + { + "m_Id": "c1e629e3fdbe4087b090fe6a96b6fe3f" + } + ], + "synonyms": [], + "m_Precision": 1, + "m_PreviewExpanded": true, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "8f5e66535e394efea314ce58d204f27b", + "m_Id": 0, + "m_DisplayName": "Smoothness", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Smoothness", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.5, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", + "m_ObjectId": "9489dc8360334e6f8628202d3eb81cca", + "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": 0, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalLitSubTarget", + "m_ObjectId": "9c68944dda9e41a6913fdb8a538eb564", + "m_WorkflowMode": 1, + "m_NormalDropOffSpace": 0, + "m_ClearCoat": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "a0c71574f2094a549621050728097a1f", + "m_Id": 0, + "m_DisplayName": "Base Color", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "BaseColor", + "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": 0, + "m_DefaultColor": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "b552ce778ae1400eb8158163430063de", + "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": "70d17f91e08d4abb8ac203a52c882124" + } + ], + "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.Vector4MaterialSlot", + "m_ObjectId": "b5c612d22a01487eb167a806252fc223", + "m_Id": 0, + "m_DisplayName": "ObjectPosition", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "ObjectPosition", + "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.Vector1MaterialSlot", + "m_ObjectId": "b7193439722848f5b1748910673b387f", + "m_Id": 3, + "m_DisplayName": "Z", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Z", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [ + "Z" + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "bc83279e723c48dd98e4fe9ed96575e8", + "m_Id": 4, + "m_DisplayName": "W", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "W", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [ + "W" + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "c1e629e3fdbe4087b090fe6a96b6fe3f", + "m_Id": 0, + "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 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4Node", + "m_ObjectId": "d250a17182194676997c93f5fb449c8e", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Vector 4", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -529.0001220703125, + "y": 281.7500305175781, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "0d344df3466f4fbc83aa06bfe7082794" + }, + { + "m_Id": "8929788dacf343a0b4a3a6f7cb276909" + }, + { + "m_Id": "b7193439722848f5b1748910673b387f" + }, + { + "m_Id": "bc83279e723c48dd98e4fe9ed96575e8" + }, + { + "m_Id": "080bff881d1c4a469609add1bdbfc554" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "e2b2b84d629a41c5b7711998c97d4e49", + "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": "eaa93abd9f8249368da83c3f0f524812" + } + ], + "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.NormalMaterialSlot", + "m_ObjectId": "eaa93abd9f8249368da83c3f0f524812", + "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.BlockNode", + "m_ObjectId": "f42ab1baf51341058842eec87f61929d", + "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": "3831d5f75f304ec385a7d8fe5d04367d" + } + ], + "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.Vector1MaterialSlot", + "m_ObjectId": "fd46683fb8b94d1bb3c1365eeeb69ab5", + "m_Id": 0, + "m_DisplayName": "Metallic", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Metallic", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + diff --git a/Assets/Metaballs/Shaders/WriteToDepth.shadergraph.meta b/Assets/Metaballs/Shaders/WriteToDepth.shadergraph.meta new file mode 100644 index 0000000..67dd36b --- /dev/null +++ b/Assets/Metaballs/Shaders/WriteToDepth.shadergraph.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 513807bc2f5309843ae2ca6907d35342 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} diff --git a/Assets/ParticleMaterial 1.mat b/Assets/ParticleMaterial 1.mat index 981c8e1..f8a793b 100644 --- a/Assets/ParticleMaterial 1.mat +++ b/Assets/ParticleMaterial 1.mat @@ -8,8 +8,8 @@ Material: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: ParticleMaterial 1 - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _NORMALMAP + m_Shader: {fileID: 4800000, guid: b7839dad95683814aa64166edc107ae2, type: 3} + m_ShaderKeywords: _ALPHATEST_ON _FADING_ON _NORMALMAP _RECEIVE_SHADOWS_OFF _SOFTPARTICLES_ON m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -80,25 +80,41 @@ Material: m_Floats: - _AlphaClip: 1 - _Blend: 0 + - _BlendOp: 0 - _BumpScale: 0.2 + - _CameraFadingEnabled: 0 + - _CameraFarFadeDistance: 2 + - _CameraNearFadeDistance: 1 - _ClearCoatMask: 0 - _ClearCoatSmoothness: 0 + - _ColorMode: 0 - _Cull: 2 - _Cutoff: 0 - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 + - _DistortionBlend: 0.5 + - _DistortionEnabled: 0 + - _DistortionStrength: 1 + - _DistortionStrengthScaled: 0.1 - _DstBlend: 10 - _EnvironmentReflections: 1 + - _FlipbookBlending: 0 + - _FlipbookMode: 0 - _GlossMapScale: 0 - _Glossiness: 0 - _GlossyReflections: 0 - _Metallic: 0 + - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.005 - _QueueOffset: 0 - - _ReceiveShadows: 1 + - _ReceiveShadows: 0 + - _SOFTPARTICLES: 1 - _Smoothness: 0.746 - _SmoothnessTextureChannel: 1 + - _SoftParticlesEnabled: 1 + - _SoftParticlesFarFadeDistance: 1 + - _SoftParticlesNearFadeDistance: 0 - _SpecularHighlights: 1 - _SrcBlend: 5 - _Surface: 1 @@ -106,8 +122,11 @@ Material: - _ZWrite: 0 m_Colors: - _BaseColor: {r: 0, g: 0.7264151, b: 0.43584898, a: 1} + - _BaseColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} + - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0.37892914, b: 0.18723558, a: 1} + - _SoftParticleFadeParams: {r: 0, g: 1, b: 0, a: 0} - _SpecColor: {r: 0, g: 0, b: 0, a: 1} m_BuildTextureStacks: [] --- !u!114 &5268476566877677707 diff --git a/Assets/Scenes/MixAndJam.unity b/Assets/Scenes/MixAndJam.unity index 753100a..9012ee6 100644 --- a/Assets/Scenes/MixAndJam.unity +++ b/Assets/Scenes/MixAndJam.unity @@ -410,8 +410,8 @@ MonoBehaviour: m_Lens: FieldOfView: 40 OrthographicSize: 10 - NearClipPlane: 0.1 - FarClipPlane: 5000 + NearClipPlane: 1 + FarClipPlane: 100 Dutch: 0 LensShift: {x: 0, y: 0} m_Transitions: @@ -699,7 +699,7 @@ ParticleSystemRenderer: m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: 4bdfd49a249c4834c9d6a7a591023bb2, type: 2} - - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 2100000, guid: 4bdfd49a249c4834c9d6a7a591023bb2, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -733,13 +733,13 @@ ParticleSystemRenderer: m_RenderAlignment: 4 m_Pivot: {x: 0, y: 0, z: 0} m_Flip: {x: 0, y: 0, z: 0} - m_UseCustomVertexStreams: 0 - m_EnableGPUInstancing: 1 + m_UseCustomVertexStreams: 1 + m_EnableGPUInstancing: 0 m_ApplyActiveColorSpace: 1 m_AllowRoll: 1 m_FreeformStretching: 0 m_RotateWithStretchDirection: 1 - m_VertexStreams: 00010304 + m_VertexStreams: 0001020304 m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} m_Mesh1: {fileID: 0} m_Mesh2: {fileID: 0} @@ -5672,6 +5672,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 0c3ea44eef20b0b4396ebe666c9a6eeb, type: 3} m_Name: m_EditorClassIdentifier: + extendsIslandOffset: 1 --- !u!1 &322790081 GameObject: m_ObjectHideFlags: 0 @@ -6049,8 +6050,8 @@ MonoBehaviour: m_Lens: FieldOfView: 40 OrthographicSize: 5 - NearClipPlane: 0.1 - FarClipPlane: 5000 + NearClipPlane: 1 + FarClipPlane: 150 Dutch: 0 LensShift: {x: 0, y: 0} m_Transitions: @@ -6504,13 +6505,13 @@ ParticleSystemRenderer: m_RenderAlignment: 4 m_Pivot: {x: 0, y: 0, z: 0} m_Flip: {x: 0, y: 0, z: 0} - m_UseCustomVertexStreams: 0 - m_EnableGPUInstancing: 1 + m_UseCustomVertexStreams: 1 + m_EnableGPUInstancing: 0 m_ApplyActiveColorSpace: 1 m_AllowRoll: 1 m_FreeformStretching: 0 m_RotateWithStretchDirection: 1 - m_VertexStreams: 00010304 + m_VertexStreams: 0001020304 m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} m_Mesh1: {fileID: 0} m_Mesh2: {fileID: 0} @@ -11444,8 +11445,8 @@ MonoBehaviour: m_Lens: FieldOfView: 40 OrthographicSize: 10 - NearClipPlane: 0.1 - FarClipPlane: 5000 + NearClipPlane: 1 + FarClipPlane: 100 Dutch: 0 LensShift: {x: 0, y: 0} m_Transitions: @@ -11463,7 +11464,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 869074592} - m_LocalRotation: {x: 0.09115122, y: 0.022384949, z: -0.0020494673, w: 0.99558336} + m_LocalRotation: {x: 0.09112661, y: 0.032190543, z: -0.0029472236, w: 0.99531454} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -11549,8 +11550,8 @@ MonoBehaviour: m_Lens: FieldOfView: 40 OrthographicSize: 10 - NearClipPlane: 0.1 - FarClipPlane: 5000 + NearClipPlane: 1 + FarClipPlane: 100 Dutch: 0 LensShift: {x: 0, y: 0} m_Transitions: @@ -11568,7 +11569,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 906262002} - m_LocalRotation: {x: 0.054926552, y: 0.022444619, z: -0.0012349822, w: 0.9982374} + m_LocalRotation: {x: 0.05491172, y: 0.03227636, z: -0.0017759594, w: 0.99796784} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: @@ -11672,6 +11673,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 0c3ea44eef20b0b4396ebe666c9a6eeb, type: 3} m_Name: m_EditorClassIdentifier: + extendsIslandOffset: 1 --- !u!64 &949066011 MeshCollider: m_ObjectHideFlags: 0 @@ -11805,7 +11807,7 @@ ParticleSystemRenderer: m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: 4bdfd49a249c4834c9d6a7a591023bb2, type: 2} - - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 2100000, guid: 4bdfd49a249c4834c9d6a7a591023bb2, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -11839,13 +11841,13 @@ ParticleSystemRenderer: m_RenderAlignment: 4 m_Pivot: {x: 0, y: 0, z: 0} m_Flip: {x: 0, y: 0, z: 0} - m_UseCustomVertexStreams: 0 - m_EnableGPUInstancing: 1 + m_UseCustomVertexStreams: 1 + m_EnableGPUInstancing: 0 m_ApplyActiveColorSpace: 1 m_AllowRoll: 1 m_FreeformStretching: 0 m_RotateWithStretchDirection: 1 - m_VertexStreams: 00010304 + m_VertexStreams: 0001020304 m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} m_Mesh1: {fileID: 0} m_Mesh2: {fileID: 0} @@ -16715,13 +16717,13 @@ ParticleSystemRenderer: m_RenderAlignment: 4 m_Pivot: {x: 0, y: 0, z: 0} m_Flip: {x: 0, y: 0, z: 0} - m_UseCustomVertexStreams: 0 + m_UseCustomVertexStreams: 1 m_EnableGPUInstancing: 1 m_ApplyActiveColorSpace: 1 m_AllowRoll: 1 m_FreeformStretching: 0 m_RotateWithStretchDirection: 1 - m_VertexStreams: 00010304 + m_VertexStreams: 0001030409 m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} m_Mesh1: {fileID: 0} m_Mesh2: {fileID: 0} @@ -22089,8 +22091,8 @@ Camera: y: 0 width: 1 height: 1 - near clip plane: 0.1 - far clip plane: 5000 + near clip plane: 1 + far clip plane: 100 field of view: 40 orthographic: 0 orthographic size: 5 @@ -22116,7 +22118,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1687258581} - m_LocalRotation: {x: 0.09115122, y: 0.022384947, z: -0.0020494673, w: 0.99558336} + m_LocalRotation: {x: 0.09112661, y: 0.032190546, z: -0.0029472245, w: 0.99531454} m_LocalPosition: {x: 0, y: 2.5, z: -8.821} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] @@ -22506,8 +22508,8 @@ MonoBehaviour: m_Lens: FieldOfView: 40 OrthographicSize: 10 - NearClipPlane: 0.1 - FarClipPlane: 5000 + NearClipPlane: 1 + FarClipPlane: 100 Dutch: 0 LensShift: {x: 0, y: 0} m_Transitions: @@ -22525,7 +22527,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2101118512} - m_LocalRotation: {x: 0.09115122, y: 0.022384949, z: -0.0020494673, w: 0.99558336} + m_LocalRotation: {x: 0.09112661, y: 0.032190543, z: -0.0029472236, w: 0.99531454} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: diff --git a/Assets/Settings/CustomForwardRendererData.asset b/Assets/Settings/CustomForwardRendererData.asset index 21bd45b..253593c 100644 --- a/Assets/Settings/CustomForwardRendererData.asset +++ b/Assets/Settings/CustomForwardRendererData.asset @@ -65,4 +65,6 @@ MonoBehaviour: m_Bits: 16 PassNames: [] BlitMaterial: {fileID: 2100000, guid: 95391282e3f31ef4dada9756b388d99d, type: 2} - BlurPasses: 2 + WriteDepthMaterial: {fileID: 2100000, guid: 3abad26229f1dfe418d9152127d1e435, type: 2} + BlurPasses: 4 + BlurDistance: 0.12