diff --git a/Assets/VRM10/MToon10/Runtime/MToonOutlineRenderFeature.cs b/Assets/VRM10/MToon10/Runtime/MToonOutlineRenderFeature.cs index 760b40692..ba4d8a4b1 100644 --- a/Assets/VRM10/MToon10/Runtime/MToonOutlineRenderFeature.cs +++ b/Assets/VRM10/MToon10/Runtime/MToonOutlineRenderFeature.cs @@ -6,13 +6,27 @@ namespace VRM10.MToon10 { public sealed class MToonOutlineRenderFeature : ScriptableRendererFeature { +#if UNITY_6000_0_OR_NEWER + private RenderObjectsPass _opaquePass; + private RenderObjectsPass _transparentPass; +#else private MToonOutlineRenderPass _opaquePass; private MToonOutlineRenderPass _transparentPass; +#endif public override void Create() { +#if UNITY_6000_0_OR_NEWER + var profilerTagName = nameof(MToonOutlineRenderFeature); + var shaderTags = new[] {"MToonOutline"}; + var layerMask = -1; + var cameraSettings = new RenderObjects.CustomCameraSettings(); + _opaquePass = new RenderObjectsPass(profilerTagName, RenderPassEvent.AfterRenderingOpaques, shaderTags, RenderQueueType.Opaque, layerMask, cameraSettings); + _transparentPass = new RenderObjectsPass(profilerTagName, RenderPassEvent.BeforeRenderingTransparents, shaderTags, RenderQueueType.Transparent, layerMask, cameraSettings); +#else _opaquePass = new MToonOutlineRenderPass(RenderPassEvent.AfterRenderingOpaques, RenderQueueRange.opaque); _transparentPass = new MToonOutlineRenderPass(RenderPassEvent.BeforeRenderingTransparents, RenderQueueRange.transparent); +#endif } public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) diff --git a/Assets/VRM10/MToon10/Runtime/MToonOutlineRenderPass.cs b/Assets/VRM10/MToon10/Runtime/MToonOutlineRenderPass.cs index 8529aca07..4e4227b0d 100644 --- a/Assets/VRM10/MToon10/Runtime/MToonOutlineRenderPass.cs +++ b/Assets/VRM10/MToon10/Runtime/MToonOutlineRenderPass.cs @@ -1,4 +1,4 @@ -#if MTOON_URP +#if MTOON_URP && !UNITY_6000_0_OR_NEWER using UnityEngine.Rendering; using UnityEngine.Rendering.Universal; @@ -17,9 +17,6 @@ namespace VRM10.MToon10 this.renderPassEvent = renderPassEvent; } -#if UNITY_6000_0_OR_NEWER - [System.Obsolete] -#endif public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) { var cmd = CommandBufferPool.Get();