diff --git a/Assets/BlurryRefraction/GrabBlurPass.cs b/Assets/BlurryRefraction/GrabBlurPass.cs index 032d80e..9db9637 100644 --- a/Assets/BlurryRefraction/GrabBlurPass.cs +++ b/Assets/BlurryRefraction/GrabBlurPass.cs @@ -1,84 +1,99 @@ using System; using UnityEngine; -using UnityEngine.Experimental.Rendering; -using UnityEngine.Experimental.Rendering.LightweightPipeline; using UnityEngine.Rendering; +using UnityEngine.Rendering.LWRP; - -public class GrabBlurPass : MonoBehaviour, IAfterOpaquePass +// Render features MUST be in a namespace to workaround crash in inspector UI +namespace CustomRenderPasses { - private GrabBlurPassImpl m_grabBlurPass; - public ScriptableRenderPass GetPassToEnqueue(RenderTextureDescriptor baseDescriptor, RenderTargetHandle colorHandle, RenderTargetHandle depthHandle) + [CreateAssetMenu] + public class GrabBlurPass : ScriptableRendererFeature { - if (m_grabBlurPass == null) m_grabBlurPass = new GrabBlurPassImpl(colorHandle); - return m_grabBlurPass; - } -} + private GrabBlurPassImpl m_grabBlurPass; + public override void Create() + { + m_grabBlurPass = new GrabBlurPassImpl(RenderPassEvent.AfterRenderingOpaques); + } -public class GrabBlurPassImpl : ScriptableRenderPass -{ - const string k_RenderGrabPassTag = "BlurredGrabPass"; + public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) + { + m_grabBlurPass.Setup(renderer.cameraColorTarget); + renderer.EnqueuePass(m_grabBlurPass); + } + } - public Shader m_BlurShader; - private RenderTargetHandle m_ColorHandle; - private CommandBufferBlur m_Blur; - int m_BlurTemp1; - int m_BlurTemp2; - public GrabBlurPassImpl(RenderTargetHandle colorHandle) + public class GrabBlurPassImpl : ScriptableRenderPass { - m_ColorHandle = colorHandle; - m_Blur = new CommandBufferBlur(); + const string k_RenderGrabPassTag = "BlurredGrabPass"; - m_BlurTemp1 = Shader.PropertyToID("_Temp1"); - m_BlurTemp2 = Shader.PropertyToID("_Temp2"); - } + public Shader m_BlurShader; + private CommandBufferBlur m_Blur; + int m_BlurTemp1; + int m_BlurTemp2; - public override void Execute(ScriptableRenderer renderer, ScriptableRenderContext context, ref RenderingData renderingData) - { - CommandBuffer cmd = CommandBufferPool.Get(k_RenderGrabPassTag); + RenderTargetIdentifier sourceColor; - using (new ProfilingSample(cmd, k_RenderGrabPassTag)) + public GrabBlurPassImpl(RenderPassEvent evt) { - // copy screen into temporary RT - int screenCopyID = Shader.PropertyToID("_ScreenCopyTexture"); - RenderTextureDescriptor opaqueDesc = - ScriptableRenderer.CreateRenderTextureDescriptor(ref renderingData.cameraData); - cmd.GetTemporaryRT(screenCopyID, opaqueDesc, FilterMode.Bilinear); - cmd.Blit(m_ColorHandle.Identifier(), screenCopyID); - - // get two smaller RTs - opaqueDesc.width /= 2; - opaqueDesc.height /= 2; - cmd.GetTemporaryRT(m_BlurTemp1, opaqueDesc, FilterMode.Bilinear); - cmd.GetTemporaryRT(m_BlurTemp2, opaqueDesc, FilterMode.Bilinear); - - // downsample screen copy into smaller RT, release screen RT - cmd.Blit(screenCopyID, m_BlurTemp1); - cmd.ReleaseTemporaryRT(screenCopyID); - - opaqueDesc.width /= 2; - opaqueDesc.height /= 2; - - // Setup blur commands - m_Blur.SetupCommandBuffer(cmd, m_BlurTemp1, m_BlurTemp2); - - // Set texture id so we can use it later - cmd.SetGlobalTexture("_GrabBlurTexture", m_BlurTemp1); + renderPassEvent = evt; + m_Blur = new CommandBufferBlur(); + + m_BlurTemp1 = Shader.PropertyToID("_Temp1"); + m_BlurTemp2 = Shader.PropertyToID("_Temp2"); } - context.ExecuteCommandBuffer(cmd); - CommandBufferPool.Release(cmd); - } + public void Setup(RenderTargetIdentifier sourceColor) + { + this.sourceColor = sourceColor; + } - public override void FrameCleanup(CommandBuffer cmd) - { - if (cmd == null) - throw new ArgumentNullException("cmd"); + public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) + { + CommandBuffer cmd = CommandBufferPool.Get(k_RenderGrabPassTag); + + using (new ProfilingSample(cmd, k_RenderGrabPassTag)) + { + // copy screen into temporary RT + int screenCopyID = Shader.PropertyToID("_ScreenCopyTexture"); + RenderTextureDescriptor opaqueDesc = renderingData.cameraData.cameraTargetDescriptor; + cmd.GetTemporaryRT(screenCopyID, opaqueDesc, FilterMode.Bilinear); + cmd.Blit(sourceColor, screenCopyID); + + // get two smaller RTs + opaqueDesc.width /= 2; + opaqueDesc.height /= 2; + cmd.GetTemporaryRT(m_BlurTemp1, opaqueDesc, FilterMode.Bilinear); + cmd.GetTemporaryRT(m_BlurTemp2, opaqueDesc, FilterMode.Bilinear); + + // downsample screen copy into smaller RT, release screen RT + cmd.Blit(screenCopyID, m_BlurTemp1); + cmd.ReleaseTemporaryRT(screenCopyID); + + opaqueDesc.width /= 2; + opaqueDesc.height /= 2; + + // Setup blur commands + m_Blur.SetupCommandBuffer(cmd, m_BlurTemp1, m_BlurTemp2); + + // Set texture id so we can use it later + cmd.SetGlobalTexture("_GrabBlurTexture", m_BlurTemp1); + } + + context.ExecuteCommandBuffer(cmd); + CommandBufferPool.Release(cmd); + } + + public override void FrameCleanup(CommandBuffer cmd) + { + if (cmd == null) + throw new ArgumentNullException("cmd"); - cmd.ReleaseTemporaryRT(m_BlurTemp1); - cmd.ReleaseTemporaryRT(m_BlurTemp2); + cmd.ReleaseTemporaryRT(m_BlurTemp1); + cmd.ReleaseTemporaryRT(m_BlurTemp2); + } } -} + +} \ No newline at end of file diff --git a/Assets/CustomForwardRendererData.asset b/Assets/CustomForwardRendererData.asset new file mode 100644 index 0000000..de06f3f --- /dev/null +++ b/Assets/CustomForwardRendererData.asset @@ -0,0 +1,46 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-2293205390202320807 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: 19e693ef65bd01740932b40dd32a8d10, type: 3} + m_Name: NewPerObjectBloomPass + m_EditorClassIdentifier: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: de640fe3d0db1804a85f9fc8f5cadab6, type: 3} + m_Name: CustomForwardRendererData + m_EditorClassIdentifier: + m_RendererFeatures: + - {fileID: -2293205390202320807} + m_BlitShader: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3} + m_CopyDepthShader: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3} + m_ScreenSpaceShadowShader: {fileID: 4800000, guid: 0f854b35a0cf61a429bd5dcfea30eddd, + type: 3} + m_SamplingShader: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3} + m_OpaqueLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_TransparentLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_DefaultStencilState: + overrideStencilState: 0 + stencilReference: 0 + stencilCompareFunction: 8 + passOperation: 0 + failOperation: 0 + zFailOperation: 0 diff --git a/Assets/CustomForwardRendererData.asset.meta b/Assets/CustomForwardRendererData.asset.meta new file mode 100644 index 0000000..0747f93 --- /dev/null +++ b/Assets/CustomForwardRendererData.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b88efe4e0d66e7a4d9cfe767cb133f8e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerObjectBloom/PerObjectBloom.cs b/Assets/PerObjectBloom/PerObjectBloom.cs index 5833f05..e43ce46 100644 --- a/Assets/PerObjectBloom/PerObjectBloom.cs +++ b/Assets/PerObjectBloom/PerObjectBloom.cs @@ -1,8 +1,8 @@ using System; using UnityEngine; -using CoreUtils = UnityEngine.Experimental.Rendering.CoreUtils; using UnityEngine.Rendering; using UnityEngine.Rendering.PostProcessing; +using FloatParameter = UnityEngine.Rendering.PostProcessing.FloatParameter; [Serializable] [PostProcess(typeof(PerObjectBloomRenderer), PostProcessEvent.AfterStack, "Custom/PerObjectBloom")] diff --git a/Assets/PerObjectBloom/PerObjectBloomPass.cs b/Assets/PerObjectBloom/PerObjectBloomPass.cs index 940deaf..fe58fbb 100644 --- a/Assets/PerObjectBloom/PerObjectBloomPass.cs +++ b/Assets/PerObjectBloom/PerObjectBloomPass.cs @@ -1,104 +1,118 @@ -using UnityEngine; -using UnityEngine.Experimental.Rendering; -using UnityEngine.Experimental.Rendering.LightweightPipeline; +using System.Collections.Generic; +using UnityEngine; using UnityEngine.Rendering; +using UnityEngine.Rendering.LWRP; - -// This class sets up the bloom pass -public class PerObjectBloomPass : MonoBehaviour, IAfterOpaquePass +// Render features MUST be in a namespace to workaround crash in inspector UI +namespace CustomRenderPasses { - public const int k_PerObjectBlurRenderLayerIndex = 5; - - private PerObjectBloomPassImpl m_perObjectPass; - public ScriptableRenderPass GetPassToEnqueue(RenderTextureDescriptor baseDescriptor, RenderTargetHandle colorAttachmentHandle, RenderTargetHandle depthAttachmentHandle) + // This class sets up the bloom pass + public class PerObjectBloomPass : ScriptableRendererFeature { - if (m_perObjectPass == null) m_perObjectPass = new PerObjectBloomPassImpl(baseDescriptor); - return m_perObjectPass; - } -} + public const int k_PerObjectBlurRenderLayerIndex = 5; + private PerObjectBloomPassImpl m_perObjectPass; -// This class implments the bloom effect -public class PerObjectBloomPassImpl : ScriptableRenderPass -{ - private const string k_PerObjectBloomTag = "Per Object Bloom"; + public override void Create() + { + m_perObjectPass = new PerObjectBloomPassImpl(RenderPassEvent.BeforeRenderingPostProcessing); + } - private Material m_brightnessMaskMaterial; + public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) + { + m_perObjectPass.Setup(renderingData.cameraData.cameraTargetDescriptor); + renderer.EnqueuePass(m_perObjectPass); + } + } - private RenderTextureDescriptor m_baseDescriptor; - private RenderTargetHandle m_PerObjectRenderTextureHandle; - private FilterRenderersSettings m_PerObjectFilterSettings; - public PerObjectBloomPassImpl(RenderTextureDescriptor baseDescriptor) + // This class implments the bloom effect + public class PerObjectBloomPassImpl : ScriptableRenderPass { - // All shaders with this lightmode will be in this pass - RegisterShaderPassName("LightweightForward"); + private const string k_PerObjectBloomTag = "Per Object Bloom"; + private const string k_PerObjectBloomTag2 = "Per Object Bloom2"; + static readonly ShaderTagId k_DepthOnlyShaderTagId = new ShaderTagId("LightweightForward"); - m_baseDescriptor = baseDescriptor; + private Material m_brightnessMaskMaterial; - // This just writes black values for anything that is rendered - m_brightnessMaskMaterial = CoreUtils.CreateEngineMaterial("Hidden/Internal-StencilWrite"); + private RenderTextureDescriptor m_baseDescriptor; + private RenderTargetHandle m_PerObjectRenderTextureHandle; + private FilteringSettings m_PerObjectFilterSettings; - // Setup a target RT handle (it just wraps the int id) - m_PerObjectRenderTextureHandle = new RenderTargetHandle(); - m_PerObjectRenderTextureHandle.Init(k_PerObjectBloomTag); + public PerObjectBloomPassImpl(RenderPassEvent evt) + { + renderPassEvent = evt; + + // This just writes black values for anything that is rendered + m_brightnessMaskMaterial = CoreUtils.CreateEngineMaterial("Hidden/Internal-StencilWrite"); + + // Setup a target RT handle (it just wraps the int id) + m_PerObjectRenderTextureHandle = new RenderTargetHandle(); + m_PerObjectRenderTextureHandle.Init(k_PerObjectBloomTag); + + m_PerObjectFilterSettings = new FilteringSettings() + { + // Render all opaque objects + renderQueueRange = RenderQueueRange.all, + // Filter further by any renderer tagged as per-object blur + renderingLayerMask = uint.MaxValue// 1 << PerObjectBloomPass.k_PerObjectBlurRenderLayerIndex + }; + } - m_PerObjectFilterSettings = new FilterRenderersSettings(true) + public void Setup(RenderTextureDescriptor baseDescriptor) { - // Render all opaque objects - renderQueueRange = RenderQueueRange.opaque, - // Filter further by any renderer tagged as per-object blur - renderingLayerMask = 1< bloomMeshes = new List(); + + public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) { - cmd.GetTemporaryRT(m_PerObjectRenderTextureHandle.id, m_baseDescriptor); - SetRenderTarget( - cmd, - m_PerObjectRenderTextureHandle.Identifier(), - RenderBufferLoadAction.DontCare, - RenderBufferStoreAction.DontCare, - ClearFlag.All, - Color.white, // Clear to white, the stencil writes black values - m_baseDescriptor.dimension // Create a buffer the same size as the color buffer - ); + CommandBuffer cmd = CommandBufferPool.Get(k_PerObjectBloomTag); + using (new ProfilingSample(cmd, k_PerObjectBloomTag)) + { + cmd.GetTemporaryRT(m_PerObjectRenderTextureHandle.id, m_baseDescriptor); + CoreUtils.SetRenderTarget( + cmd, + m_PerObjectRenderTextureHandle.Identifier(), + ClearFlag.All, + Color.white // Clear to white, the stencil writes black values + ); - context.ExecuteCommandBuffer(cmd); - cmd.Clear(); + context.ExecuteCommandBuffer(cmd); + cmd.Clear(); - var camera = renderingData.cameraData.camera; + var camera = renderingData.cameraData.camera; - // We want the same rendering result as the main opaque render - var sortFlags = renderingData.cameraData.defaultOpaqueSortFlags; + // We want the same rendering result as the main opaque render + var sortFlags = renderingData.cameraData.defaultOpaqueSortFlags; - // Setup render data from camera - var drawSettings = CreateDrawRendererSettings(camera, sortFlags, RendererConfiguration.None, - renderingData.supportsDynamicBatching); + // Setup render data from camera + var drawSettings = CreateDrawingSettings(k_DepthOnlyShaderTagId, ref renderingData, SortingCriteria.OptimizeStateChanges); - // Everything gets drawn with the stencil shader - drawSettings.SetOverrideMaterial(m_brightnessMaskMaterial, 0); + // Everything gets drawn with the stencil shader + drawSettings.overrideMaterial = m_brightnessMaskMaterial; + drawSettings.overrideMaterialPassIndex = 0; - context.DrawRenderers(renderingData.cullResults.visibleRenderers, ref drawSettings, m_PerObjectFilterSettings); + //context.DrawRenderers(renderingData.cullResults, ref drawSettings, ref m_PerObjectFilterSettings); + foreach (var mesh in bloomMeshes) + cmd.DrawMesh(mesh.GetComponent().sharedMesh, mesh.transform.localToWorldMatrix, m_brightnessMaskMaterial, 0, 0); - // Set a global texture id so we can access this later on - cmd.SetGlobalTexture("_PerObjectBloomMask", m_PerObjectRenderTextureHandle.id); - } + // Set a global texture id so we can access this later on + cmd.SetGlobalTexture("_PerObjectBloomMask", m_PerObjectRenderTextureHandle.id); + } - context.ExecuteCommandBuffer(cmd); - CommandBufferPool.Release(cmd); - } + context.ExecuteCommandBuffer(cmd); + CommandBufferPool.Release(cmd); + } - public override void FrameCleanup(CommandBuffer cmd) - { - base.FrameCleanup(cmd); + public override void FrameCleanup(CommandBuffer cmd) + { + base.FrameCleanup(cmd); - // When rendering is done, clean up our temp RT - cmd.ReleaseTemporaryRT(m_PerObjectRenderTextureHandle.id); + // When rendering is done, clean up our temp RT + cmd.ReleaseTemporaryRT(m_PerObjectRenderTextureHandle.id); + } } -} +} \ No newline at end of file diff --git a/Assets/PerObjectBloom/PerObjectBloomTarget.cs b/Assets/PerObjectBloom/PerObjectBloomTarget.cs index 145419a..a443ef7 100644 --- a/Assets/PerObjectBloom/PerObjectBloomTarget.cs +++ b/Assets/PerObjectBloom/PerObjectBloomTarget.cs @@ -2,6 +2,8 @@ using System.Collections.Generic; using UnityEngine; +using CustomRenderPasses; + // A small helper to set the correct render layer for bloom targets [RequireComponent(typeof(Renderer))] [ExecuteInEditMode()] @@ -12,4 +14,14 @@ void Start() var renderer = GetComponent(); renderer.renderingLayerMask |= 1 << PerObjectBloomPass.k_PerObjectBlurRenderLayerIndex; } + + void OnEnable() + { + PerObjectBloomPassImpl.bloomMeshes.Add(GetComponent()); + } + + void OnDisable() + { + PerObjectBloomPassImpl.bloomMeshes.Remove(GetComponent()); + } } diff --git a/Assets/Settings/LWRP-HighQuality.asset b/Assets/Settings/LWRP-HighQuality.asset index 3c5d038..0cada58 100644 --- a/Assets/Settings/LWRP-HighQuality.asset +++ b/Assets/Settings/LWRP-HighQuality.asset @@ -4,38 +4,43 @@ MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {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: bf2edee5c58d82540a51f03df9d42094, type: 3} m_Name: LWRP-HighQuality m_EditorClassIdentifier: - k_AssetVersion: 3 - m_MaxPixelLights: 4 - m_SupportsVertexLight: 0 + k_AssetVersion: 4 + m_RendererType: 0 + m_RendererData: {fileID: 11400000, guid: b88efe4e0d66e7a4d9cfe767cb133f8e, type: 2} m_RequireDepthTexture: 0 - m_RequireSoftParticles: 0 - m_RequireOpaqueTexture: 0 + m_RequireOpaqueTexture: 1 m_OpaqueDownsampling: 1 m_SupportsHDR: 1 m_MSAA: 4 m_RenderScale: 1 - m_SupportsDynamicBatching: 1 - m_DirectionalShadowsSupported: 1 - m_ShadowAtlasResolution: 1024 + m_MainLightRenderingMode: 1 + m_MainLightShadowsSupported: 1 + m_MainLightShadowmapResolution: 1024 + m_AdditionalLightsRenderingMode: 1 + m_AdditionalLightsPerObjectLimit: 4 + m_AdditionalLightShadowsSupported: 1 + m_AdditionalLightsShadowmapResolution: 1024 m_ShadowDistance: 65 m_ShadowCascades: 2 m_Cascade2Split: 0.1 m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} - m_LocalShadowsSupported: 1 - m_LocalShadowsAtlasResolution: 1024 + m_ShadowDepthBias: 1 + m_ShadowNormalBias: 1 m_SoftShadowsSupported: 1 - m_CustomShaderVariantStrippingSettings: 0 - m_KeepAdditionalLightVariants: 1 - m_KeepVertexLightVariants: 1 - m_KeepDirectionalShadowVariants: 1 - m_KeepLocalShadowVariants: 1 - m_KeepSoftShadowVariants: 1 - m_ResourcesAsset: {fileID: 11400000, guid: aac5a08c32552a14c89394b703f1978a, type: 2} + m_UseSRPBatcher: 1 + m_SupportsDynamicBatching: 1 + m_MixedLightingSupported: 1 m_ShadowType: 2 + m_LocalShadowsSupported: 1 + m_LocalShadowsAtlasResolution: 1024 + m_MaxPixelLights: 4 + m_ShadowAtlasResolution: 1024 + m_ShaderVariantLogLevel: 0 diff --git a/Assets/Settings/LWRP-LowQuality.asset b/Assets/Settings/LWRP-LowQuality.asset index e6c4965..fea1322 100644 --- a/Assets/Settings/LWRP-LowQuality.asset +++ b/Assets/Settings/LWRP-LowQuality.asset @@ -3,27 +3,44 @@ --- !u!114 &11400000 MonoBehaviour: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + 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: bf2edee5c58d82540a51f03df9d42094, type: 3} m_Name: LWRP-LowQuality m_EditorClassIdentifier: - kAssetVersion: 2 - m_MaxPixelLights: 1 - m_SupportsVertexLight: 0 + k_AssetVersion: 4 + m_RendererType: 0 + m_RendererData: {fileID: 11400000, guid: b88efe4e0d66e7a4d9cfe767cb133f8e, type: 2} m_RequireDepthTexture: 0 - m_RequireSoftParticles: 0 + m_RequireOpaqueTexture: 0 + m_OpaqueDownsampling: 1 m_SupportsHDR: 0 m_MSAA: 1 m_RenderScale: 1 - m_ShadowType: 0 - m_ShadowAtlasResolution: 1024 - m_ShadowNearPlaneOffset: 2 + m_MainLightRenderingMode: 1 + m_MainLightShadowsSupported: 1 + m_MainLightShadowmapResolution: 2048 + m_AdditionalLightsRenderingMode: 1 + m_AdditionalLightsPerObjectLimit: 4 + m_AdditionalLightShadowsSupported: 0 + m_AdditionalLightsShadowmapResolution: 512 m_ShadowDistance: 65 m_ShadowCascades: 1 m_Cascade2Split: 0.1 m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} - m_ResourcesAsset: {fileID: 11400000, guid: aac5a08c32552a14c89394b703f1978a, type: 2} + m_ShadowDepthBias: 1 + m_ShadowNormalBias: 1 + m_SoftShadowsSupported: 0 + m_UseSRPBatcher: 1 + m_SupportsDynamicBatching: 0 + m_MixedLightingSupported: 1 + m_ShadowType: 0 + m_LocalShadowsSupported: 0 + m_LocalShadowsAtlasResolution: 256 + m_MaxPixelLights: 1 + m_ShadowAtlasResolution: 1024 + m_ShaderVariantLogLevel: 0 diff --git a/Assets/Settings/LWRP-MediumQuality.asset b/Assets/Settings/LWRP-MediumQuality.asset index 1091e60..3443c94 100644 --- a/Assets/Settings/LWRP-MediumQuality.asset +++ b/Assets/Settings/LWRP-MediumQuality.asset @@ -4,38 +4,43 @@ MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInternal: {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: bf2edee5c58d82540a51f03df9d42094, type: 3} m_Name: LWRP-MediumQuality m_EditorClassIdentifier: - k_AssetVersion: 3 - m_MaxPixelLights: 1 - m_SupportsVertexLight: 0 + k_AssetVersion: 4 + m_RendererType: 0 + m_RendererData: {fileID: 11400000, guid: b88efe4e0d66e7a4d9cfe767cb133f8e, type: 2} m_RequireDepthTexture: 0 - m_RequireSoftParticles: 0 m_RequireOpaqueTexture: 0 m_OpaqueDownsampling: 1 m_SupportsHDR: 0 m_MSAA: 1 m_RenderScale: 1 - m_SupportsDynamicBatching: 1 - m_DirectionalShadowsSupported: 1 - m_ShadowAtlasResolution: 1024 + m_MainLightRenderingMode: 1 + m_MainLightShadowsSupported: 1 + m_MainLightShadowmapResolution: 1024 + m_AdditionalLightsRenderingMode: 1 + m_AdditionalLightsPerObjectLimit: 1 + m_AdditionalLightShadowsSupported: 1 + m_AdditionalLightsShadowmapResolution: 512 m_ShadowDistance: 65 m_ShadowCascades: 1 m_Cascade2Split: 0.1 m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} - m_LocalShadowsSupported: 1 - m_LocalShadowsAtlasResolution: 512 + m_ShadowDepthBias: 1 + m_ShadowNormalBias: 1 m_SoftShadowsSupported: 1 - m_CustomShaderVariantStrippingSettings: 0 - m_KeepAdditionalLightVariants: 1 - m_KeepVertexLightVariants: 1 - m_KeepDirectionalShadowVariants: 1 - m_KeepLocalShadowVariants: 1 - m_KeepSoftShadowVariants: 1 - m_ResourcesAsset: {fileID: 11400000, guid: aac5a08c32552a14c89394b703f1978a, type: 2} + m_UseSRPBatcher: 1 + m_SupportsDynamicBatching: 1 + m_MixedLightingSupported: 1 m_ShadowType: 2 + m_LocalShadowsSupported: 1 + m_LocalShadowsAtlasResolution: 512 + m_MaxPixelLights: 1 + m_ShadowAtlasResolution: 1024 + m_ShaderVariantLogLevel: 0 diff --git a/Packages/manifest.json b/Packages/manifest.json index b0fd5f0..8587dec 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -1,13 +1,13 @@ { "dependencies": { "com.unity.ads": "2.0.8", - "com.unity.analytics": "3.0.9", - "com.unity.collab-proxy": "1.2.9", - "com.unity.package-manager-ui": "2.0.0-preview.7", - "com.unity.postprocessing": "2.0.14-preview", - "com.unity.purchasing": "2.0.3", - "com.unity.render-pipelines.lightweight": "4.0.1-preview", - "com.unity.textmeshpro": "1.3.0", + "com.unity.analytics": "3.3.2", + "com.unity.collab-proxy": "1.2.16", + "com.unity.multiplayer-hlapi": "1.0.2", + "com.unity.package-manager-ui": "2.1.2", + "com.unity.postprocessing": "2.1.6", + "com.unity.purchasing": "2.0.6", + "com.unity.render-pipelines.lightweight": "5.13.0", "com.unity.modules.ai": "1.0.0", "com.unity.modules.animation": "1.0.0", "com.unity.modules.assetbundle": "1.0.0",