diff --git a/Assets/Custom_TransparentOutline.mat b/Assets/Custom_TransparentOutline.mat index 43444c4..8d4755f 100644 --- a/Assets/Custom_TransparentOutline.mat +++ b/Assets/Custom_TransparentOutline.mat @@ -8,7 +8,7 @@ Material: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Custom_TransparentOutline - m_Shader: {fileID: 4800000, guid: b59e0f7271de96f44aeb59a7632efae2, type: 3} + m_Shader: {fileID: 4800000, guid: c5e3d1e5fc8764c42a7765d7200e531e, type: 3} m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 m_ValidKeywords: [] @@ -41,7 +41,7 @@ Material: m_Offset: {x: 0, y: 0} m_Ints: [] m_Floats: - - _OutlineWidth: 0.1 + - _OutlineWidth: 0.05 - _QueueControl: 0 - _QueueOffset: 0 m_Colors: diff --git a/Assets/OutlineManager.cs b/Assets/OutlineManager.cs new file mode 100644 index 0000000..bba5dcc --- /dev/null +++ b/Assets/OutlineManager.cs @@ -0,0 +1,48 @@ +using UnityEngine; + +public class OutlineManager : MonoBehaviour +{ + private Outliner currentOutliner; + + void Update() + { + Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); + float minDistance = Mathf.Infinity; + Outliner closestOutliner = null; + + foreach (Outliner outliner in FindObjectsOfType()) + { + if (IsRayIntersectingRenderer(ray, outliner, out float distance) && distance < minDistance) + { + minDistance = distance; + closestOutliner = outliner; + } + } + + if (closestOutliner != currentOutliner) + { + RemoveOutline(); + currentOutliner = closestOutliner; + currentOutliner?.EnableOutline(); + } + } + + private bool IsRayIntersectingRenderer(Ray ray, Outliner outliner, out float distance) + { + distance = Mathf.Infinity; + Renderer renderer = outliner.GetRenderer(); + if (renderer == null) return false; + + Bounds bounds = renderer.bounds; + return bounds.IntersectRay(ray, out distance); + } + + private void RemoveOutline() + { + if (currentOutliner != null) + { + currentOutliner.DisableOutline(); + currentOutliner = null; + } + } +} diff --git a/Assets/OutlineManager.cs.meta b/Assets/OutlineManager.cs.meta new file mode 100644 index 0000000..7267726 --- /dev/null +++ b/Assets/OutlineManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5b41c383384dc3941aca8e1dd5a96d73 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OutlineRenderFeature.cs b/Assets/OutlineRenderFeature.cs new file mode 100644 index 0000000..8611b2b --- /dev/null +++ b/Assets/OutlineRenderFeature.cs @@ -0,0 +1,63 @@ +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.Universal; + +public class OutlineRenderFeature : ScriptableRendererFeature +{ + class OutlinePass : ScriptableRenderPass + { + private RenderTargetHandle tempColorTexture; + private Material outlineMaterial; + private RenderTargetIdentifier cameraTarget; + + public OutlinePass(Material material) + { + outlineMaterial = material; + tempColorTexture.Init("_TemporaryColorTexture"); + } + + public override void Configure(CommandBuffer cmd, RenderTextureDescriptor cameraTextureDescriptor) + { + cmd.GetTemporaryRT(tempColorTexture.id, cameraTextureDescriptor); // Create temp texture + ConfigureTarget(tempColorTexture.Identifier()); + } + + public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) + { + if (outlineMaterial == null) return; + + CommandBuffer cmd = CommandBufferPool.Get("Outline Pass"); + cameraTarget = renderingData.cameraData.renderer.cameraColorTargetHandle; // ✅ Safe usage here + + Blit(cmd, cameraTarget, tempColorTexture.Identifier()); // Copy to temp texture + Blit(cmd, tempColorTexture.Identifier(), cameraTarget, outlineMaterial); // Apply outline effect + + context.ExecuteCommandBuffer(cmd); + CommandBufferPool.Release(cmd); + } + + public override void OnCameraCleanup(CommandBuffer cmd) + { + cmd.ReleaseTemporaryRT(tempColorTexture.id); // Cleanup + } + } + + [SerializeField] private Material outlineMaterial; + private OutlinePass outlinePass; + + public override void Create() + { + outlinePass = new OutlinePass(outlineMaterial) + { + renderPassEvent = RenderPassEvent.AfterRenderingOpaques // ✅ Executes after opaque objects + }; + } + + public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) + { + if (outlinePass != null) + { + renderer.EnqueuePass(outlinePass); + } + } +} diff --git a/Assets/OutlineRenderFeature.cs.meta b/Assets/OutlineRenderFeature.cs.meta new file mode 100644 index 0000000..ca45d21 --- /dev/null +++ b/Assets/OutlineRenderFeature.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 61dbcb3e79a31824689a0396a6de6a7c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: + - outlineMaterial: {fileID: 2100000, guid: 7d59a0e48d5e5a34bbc8919ff8e3cecd, type: 2} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OutlineURP2.shader b/Assets/OutlineURP2.shader new file mode 100644 index 0000000..24d114a --- /dev/null +++ b/Assets/OutlineURP2.shader @@ -0,0 +1,64 @@ +Shader "Custom/OutlineURP" +{ + Properties + { + _OutlineColor ("Outline Color", Color) = (1, 1, 0, 1) + _OutlineWidth ("Outline Width", Range(0.0, 0.05)) = 0.01 + } + + SubShader + { + Tags { "RenderType"="Opaque" "Queue"="Overlay" } + + Pass + { + Name "Outline" + Tags { "LightMode"="UniversalForward" } + + Cull Front // Render back faces for outline + + HLSLPROGRAM + #pragma vertex vert + #pragma fragment frag + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" + + struct Attributes + { + float4 positionOS : POSITION; + float3 normalOS : NORMAL; + }; + + struct Varyings + { + float4 positionCS : SV_POSITION; + }; + + float4 _OutlineColor; + float _OutlineWidth; + + Varyings vert(Attributes IN) + { + Varyings OUT; + + // Convert object-space normal to world-space + float3 normalWS = TransformObjectToWorldNormal(IN.normalOS); + + // Convert object-space position to world-space + float3 positionWS = TransformObjectToWorld(IN.positionOS); + + // Expand the model along its normals for outline effect + positionWS += normalWS * _OutlineWidth; + + // Convert world-space position to clip-space + OUT.positionCS = TransformWorldToHClip(positionWS); + return OUT; + } + + half4 frag(Varyings IN) : SV_Target + { + return _OutlineColor; // Use user-defined outline color + } + ENDHLSL + } + } +} diff --git a/Assets/OutlineURP2.shader.meta b/Assets/OutlineURP2.shader.meta new file mode 100644 index 0000000..8937a56 --- /dev/null +++ b/Assets/OutlineURP2.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c5e3d1e5fc8764c42a7765d7200e531e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Outliner.cs b/Assets/Outliner.cs new file mode 100644 index 0000000..fe3e917 --- /dev/null +++ b/Assets/Outliner.cs @@ -0,0 +1,57 @@ +using UnityEngine; + +public class Outliner : MonoBehaviour +{ + public Material outlineMaterial; // Assign in Inspector + public float outlineWidth = 0.1f; // Customize per object + + private Renderer objRenderer; + private Material[] originalMaterials; + private MaterialPropertyBlock propertyBlock; + + void Start() + { + objRenderer = GetRenderer(); + if (objRenderer != null) + { + originalMaterials = objRenderer.sharedMaterials; + propertyBlock = new MaterialPropertyBlock(); + } + } + + public void EnableOutline() + { + if (objRenderer != null && outlineMaterial != null) + { + Material[] newMaterials = new Material[originalMaterials.Length + 1]; + newMaterials[0] = outlineMaterial; // Outline material at index 0 + + for (int i = 0; i < originalMaterials.Length; i++) + newMaterials[i + 1] = originalMaterials[i]; + + objRenderer.materials = newMaterials; + + // Set custom outline width + objRenderer.GetPropertyBlock(propertyBlock); + propertyBlock.SetFloat("_OutlineWidth", outlineWidth); + objRenderer.SetPropertyBlock(propertyBlock); + } + } + + public void DisableOutline() + { + if (objRenderer != null) + { + objRenderer.materials = originalMaterials; // Restore original materials + } + } + + public Renderer GetRenderer() + { + if (TryGetComponent(out MeshRenderer meshRenderer)) + return meshRenderer; + if (TryGetComponent(out SkinnedMeshRenderer skinnedRenderer)) + return skinnedRenderer; + return null; + } +} diff --git a/Assets/Outliner.cs.meta b/Assets/Outliner.cs.meta new file mode 100644 index 0000000..3bd3d07 --- /dev/null +++ b/Assets/Outliner.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ed44dc3c5c8107d499c6223ba1366b68 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Character/PlayerAvatar.prefab b/Assets/Prefabs/Character/PlayerAvatar.prefab index 2aa2152..f0c0034 100644 --- a/Assets/Prefabs/Character/PlayerAvatar.prefab +++ b/Assets/Prefabs/Character/PlayerAvatar.prefab @@ -405,8 +405,30 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 4427112597162199222, guid: d3e4ffd5da62ee94e9eccf3ab52ec129, type: 3} + insertIndex: -1 + addedObject: {fileID: 1299794463882230052} m_SourcePrefab: {fileID: 100100000, guid: d3e4ffd5da62ee94e9eccf3ab52ec129, type: 3} +--- !u!1 &301708961561843197 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 4427112597162199222, guid: d3e4ffd5da62ee94e9eccf3ab52ec129, type: 3} + m_PrefabInstance: {fileID: 4134200829793049931} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1299794463882230052 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 301708961561843197} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed44dc3c5c8107d499c6223ba1366b68, type: 3} + m_Name: + m_EditorClassIdentifier: + outlineMaterial: {fileID: 2100000, guid: 7d59a0e48d5e5a34bbc8919ff8e3cecd, type: 2} + outlineWidth: 0.1 --- !u!4 &2580402896402371906 stripped Transform: m_CorrespondingSourceObject: {fileID: 1914257455311964169, guid: d3e4ffd5da62ee94e9eccf3ab52ec129, type: 3} diff --git a/Assets/Scenes/BossRoom.unity b/Assets/Scenes/BossRoom.unity index 5ba22c2..6583041 100644 --- a/Assets/Scenes/BossRoom.unity +++ b/Assets/Scenes/BossRoom.unity @@ -12246,6 +12246,51 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1000084280} m_Mesh: {fileID: 513405630301119058, guid: 47a0b308de0389c438e1e2fecc4a557a, type: 3} +--- !u!1 &1010981555 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1010981557} + - component: {fileID: 1010981556} + m_Layer: 0 + m_Name: OutlineManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1010981556 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1010981555} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5b41c383384dc3941aca8e1dd5a96d73, type: 3} + m_Name: + m_EditorClassIdentifier: + outlineMaterial: {fileID: 0} +--- !u!4 &1010981557 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1010981555} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4.565479, y: 6.5820584, z: -6.640609} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &1019511270 PrefabInstance: m_ObjectHideFlags: 0 @@ -12496,7 +12541,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1676734515771252668, guid: 0193228de87741d40a42e561901c9083, type: 3} propertyPath: m_LocalRotation.z - value: -0.18152039 + value: -0.1815204 objectReference: {fileID: 0} - target: {fileID: 1676734516302391364, guid: 0193228de87741d40a42e561901c9083, type: 3} propertyPath: m_UpdateMethod @@ -12548,7 +12593,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1676734516724634599, guid: 0193228de87741d40a42e561901c9083, type: 3} propertyPath: m_LocalRotation.w - value: 0.8027669 + value: 0.80276686 objectReference: {fileID: 0} - target: {fileID: 1676734516724634599, guid: 0193228de87741d40a42e561901c9083, type: 3} propertyPath: m_LocalRotation.x @@ -12556,11 +12601,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1676734516724634599, guid: 0193228de87741d40a42e561901c9083, type: 3} propertyPath: m_LocalRotation.y - value: 0.29218328 + value: 0.2921833 objectReference: {fileID: 0} - target: {fileID: 1676734516724634599, guid: 0193228de87741d40a42e561901c9083, type: 3} propertyPath: m_LocalRotation.z - value: -0.17778282 + value: -0.17778286 objectReference: {fileID: 0} - target: {fileID: 1676734516866984540, guid: 0193228de87741d40a42e561901c9083, type: 3} propertyPath: m_VerticalDamping @@ -469632,3 +469677,4 @@ SceneRoots: - {fileID: 828804356} - {fileID: 5277713031461887262} - {fileID: 917181830697422961} + - {fileID: 1010981557} diff --git a/Assets/Scenes/BossRoom/DungeonEntrance.unity b/Assets/Scenes/BossRoom/DungeonEntrance.unity index de4f786..11fe355 100644 --- a/Assets/Scenes/BossRoom/DungeonEntrance.unity +++ b/Assets/Scenes/BossRoom/DungeonEntrance.unity @@ -1509,6 +1509,7 @@ GameObject: - component: {fileID: 249976107358570838} - component: {fileID: 249976107358570841} - component: {fileID: 249976107358570840} + - component: {fileID: 249976107358570842} m_Layer: 0 m_Name: SM_Env_Hell_Circle_01 (1) m_TagString: Untagged @@ -1628,6 +1629,20 @@ Animator: m_AllowConstantClipSamplingOptimization: 1 m_KeepAnimatorStateOnDisable: 0 m_WriteDefaultValuesOnDisable: 0 +--- !u!114 &249976107358570842 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 248836275302926266} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed44dc3c5c8107d499c6223ba1366b68, type: 3} + m_Name: + m_EditorClassIdentifier: + outlineMaterial: {fileID: 2100000, guid: 7d59a0e48d5e5a34bbc8919ff8e3cecd, type: 2} + outlineWidth: 0.2 --- !u!33 &1189011597376318600 MeshFilter: m_ObjectHideFlags: 0 @@ -1709,6 +1724,7 @@ GameObject: - component: {fileID: 1223475210011116502} - component: {fileID: 1223475210011116505} - component: {fileID: 1223475210011116504} + - component: {fileID: 1223475210011116506} m_Layer: 0 m_Name: SM_Env_Hell_Circle_01 (3) m_TagString: Untagged @@ -1828,6 +1844,20 @@ Animator: m_AllowConstantClipSamplingOptimization: 1 m_KeepAnimatorStateOnDisable: 0 m_WriteDefaultValuesOnDisable: 0 +--- !u!114 &1223475210011116506 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1222362877196586298} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed44dc3c5c8107d499c6223ba1366b68, type: 3} + m_Name: + m_EditorClassIdentifier: + outlineMaterial: {fileID: 2100000, guid: 7d59a0e48d5e5a34bbc8919ff8e3cecd, type: 2} + outlineWidth: 0.2 --- !u!1 &1245558867416036815 GameObject: m_ObjectHideFlags: 0 @@ -1910,6 +1940,7 @@ GameObject: - component: {fileID: 1326862948614608680} - component: {fileID: 1326862948614608683} - component: {fileID: 1326862948614608682} + - component: {fileID: 1326862948614608684} m_Layer: 0 m_Name: SM_Env_Hell_Circle_01 (5) m_TagString: Untagged @@ -2029,6 +2060,20 @@ Animator: m_AllowConstantClipSamplingOptimization: 1 m_KeepAnimatorStateOnDisable: 0 m_WriteDefaultValuesOnDisable: 0 +--- !u!114 &1326862948614608684 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1325723386991991240} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed44dc3c5c8107d499c6223ba1366b68, type: 3} + m_Name: + m_EditorClassIdentifier: + outlineMaterial: {fileID: 2100000, guid: 7d59a0e48d5e5a34bbc8919ff8e3cecd, type: 2} + outlineWidth: 0.2 --- !u!33 &3136216454265548515 MeshFilter: m_ObjectHideFlags: 0 @@ -2095,6 +2140,7 @@ GameObject: - component: {fileID: 3169561862507413953} - component: {fileID: 3169561862507413956} - component: {fileID: 3169561862507413955} + - component: {fileID: 3169561862507413957} m_Layer: 0 m_Name: SM_Env_Hell_Circle_01 (6) m_TagString: Untagged @@ -2214,6 +2260,20 @@ Animator: m_AllowConstantClipSamplingOptimization: 1 m_KeepAnimatorStateOnDisable: 0 m_WriteDefaultValuesOnDisable: 0 +--- !u!114 &3169561862507413957 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3166196630092877649} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed44dc3c5c8107d499c6223ba1366b68, type: 3} + m_Name: + m_EditorClassIdentifier: + outlineMaterial: {fileID: 2100000, guid: 7d59a0e48d5e5a34bbc8919ff8e3cecd, type: 2} + outlineWidth: 0.2 --- !u!1 &5194562349502858591 GameObject: m_ObjectHideFlags: 0 @@ -2230,6 +2290,7 @@ GameObject: - component: {fileID: 5215249593494578415} - component: {fileID: 5215249593494578418} - component: {fileID: 5215249593494578417} + - component: {fileID: 5215249593494578419} m_Layer: 0 m_Name: SM_Env_Hell_Circle_01 (2) m_TagString: Untagged @@ -2399,6 +2460,20 @@ Animator: m_AllowConstantClipSamplingOptimization: 1 m_KeepAnimatorStateOnDisable: 0 m_WriteDefaultValuesOnDisable: 0 +--- !u!114 &5215249593494578419 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5194562349502858591} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed44dc3c5c8107d499c6223ba1366b68, type: 3} + m_Name: + m_EditorClassIdentifier: + outlineMaterial: {fileID: 2100000, guid: 7d59a0e48d5e5a34bbc8919ff8e3cecd, type: 2} + outlineWidth: 0.2 --- !u!4 &5590359088119101749 Transform: m_ObjectHideFlags: 0 @@ -2431,6 +2506,7 @@ GameObject: - component: {fileID: 5615547279758710379} - component: {fileID: 5615547279758710382} - component: {fileID: 5615547279758710381} + - component: {fileID: 5615547279758710383} m_Layer: 0 m_Name: SM_Env_Hell_Circle_01 m_TagString: Untagged @@ -2584,6 +2660,20 @@ Animator: m_AllowConstantClipSamplingOptimization: 1 m_KeepAnimatorStateOnDisable: 0 m_WriteDefaultValuesOnDisable: 0 +--- !u!114 &5615547279758710383 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5591479862615341019} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed44dc3c5c8107d499c6223ba1366b68, type: 3} + m_Name: + m_EditorClassIdentifier: + outlineMaterial: {fileID: 2100000, guid: 7d59a0e48d5e5a34bbc8919ff8e3cecd, type: 2} + outlineWidth: 0.2 --- !u!1 &6995672694789591046 GameObject: m_ObjectHideFlags: 0 @@ -2600,6 +2690,7 @@ GameObject: - component: {fileID: 7017483914677023158} - component: {fileID: 7017483914677023161} - component: {fileID: 7017483914677023160} + - component: {fileID: 7017483914677023162} m_Layer: 0 m_Name: SM_Env_Hell_Circle_01 (4) m_TagString: Untagged @@ -2769,6 +2860,20 @@ Animator: m_AllowConstantClipSamplingOptimization: 1 m_KeepAnimatorStateOnDisable: 0 m_WriteDefaultValuesOnDisable: 0 +--- !u!114 &7017483914677023162 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6995672694789591046} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed44dc3c5c8107d499c6223ba1366b68, type: 3} + m_Name: + m_EditorClassIdentifier: + outlineMaterial: {fileID: 2100000, guid: 7d59a0e48d5e5a34bbc8919ff8e3cecd, type: 2} + outlineWidth: 0.2 --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 diff --git a/Assets/URP/Windows/0_UniversalRenderPipelineAsset_Windows_Low_Renderer.asset b/Assets/URP/Windows/0_UniversalRenderPipelineAsset_Windows_Low_Renderer.asset index a02f8ce..48ecd6d 100644 --- a/Assets/URP/Windows/0_UniversalRenderPipelineAsset_Windows_Low_Renderer.asset +++ b/Assets/URP/Windows/0_UniversalRenderPipelineAsset_Windows_Low_Renderer.asset @@ -1,5 +1,19 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-7087031364105300453 +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: 61dbcb3e79a31824689a0396a6de6a7c, type: 3} + m_Name: OutlineRenderFeature + m_EditorClassIdentifier: + m_Active: 1 + outlineMaterial: {fileID: 2100000, guid: 7d59a0e48d5e5a34bbc8919ff8e3cecd, type: 2} --- !u!114 &11400000 MonoBehaviour: m_ObjectHideFlags: 0 @@ -15,8 +29,9 @@ MonoBehaviour: debugShaders: debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, type: 3} hdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3} - m_RendererFeatures: [] - m_RendererFeatureMap: + m_RendererFeatures: + - {fileID: -7087031364105300453} + m_RendererFeatureMap: 1b9673e685cea59d m_UseNativeRenderPass: 0 postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} xrSystemData: {fileID: 11400000, guid: 60e1133243b97e347b653163a8c01b64, type: 2} diff --git a/Assets/URP/Windows/2_UniversalRenderPipelineAsset_Windows_High_Renderer.asset b/Assets/URP/Windows/2_UniversalRenderPipelineAsset_Windows_High_Renderer.asset index 5bc31de..935181b 100644 --- a/Assets/URP/Windows/2_UniversalRenderPipelineAsset_Windows_High_Renderer.asset +++ b/Assets/URP/Windows/2_UniversalRenderPipelineAsset_Windows_High_Renderer.asset @@ -13,8 +13,8 @@ MonoBehaviour: m_Name: ScreenSpaceAmbientOcclusion m_EditorClassIdentifier: m_Active: 1 - m_Shader: {fileID: 4800000, guid: 0849e84e3d62649e8882e9d6f056a017, type: 3} m_Settings: + AOMethod: 1 Downsample: 1 AfterOpaque: 0 Source: 0 @@ -22,7 +22,19 @@ MonoBehaviour: Intensity: 1.2 DirectLightingStrength: 0.5 Radius: 1.3 - SampleCount: 4 + Samples: 2 + BlurQuality: 0 + Falloff: 100 + SampleCount: -1 + m_BlueNoise256Textures: + - {fileID: 2800000, guid: 36f118343fc974119bee3d09e2111500, type: 3} + - {fileID: 2800000, guid: 4b7b083e6b6734e8bb2838b0b50a0bc8, type: 3} + - {fileID: 2800000, guid: c06cc21c692f94f5fb5206247191eeee, type: 3} + - {fileID: 2800000, guid: cb76dd40fa7654f9587f6a344f125c9a, type: 3} + - {fileID: 2800000, guid: e32226222ff144b24bf3a5a451de54bc, type: 3} + - {fileID: 2800000, guid: 3302065f671a8450b82c9ddf07426f3a, type: 3} + - {fileID: 2800000, guid: 56a77a3e8d64f47b6afe9e3c95cb57d5, type: 3} + m_Shader: {fileID: 4800000, guid: 0849e84e3d62649e8882e9d6f056a017, type: 3} --- !u!114 &11400000 MonoBehaviour: m_ObjectHideFlags: 0 @@ -37,9 +49,11 @@ MonoBehaviour: m_EditorClassIdentifier: debugShaders: debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, type: 3} + hdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3} m_RendererFeatures: - {fileID: -8843222068314650283} - m_RendererFeatureMap: 55c935dc61904685 + - {fileID: 9217156560785194648} + m_RendererFeatureMap: 55c935dc61904685983ec3b40eebe97f m_UseNativeRenderPass: 0 postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} xrSystemData: {fileID: 11400000, guid: 60e1133243b97e347b653163a8c01b64, type: 2} @@ -50,12 +64,15 @@ MonoBehaviour: samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3} stencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3} fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3} + fallbackLoadingPS: {fileID: 4800000, guid: 7f888aff2ac86494babad1c2c5daeee2, type: 3} materialErrorPS: {fileID: 4800000, guid: 5fd9a8feb75a4b5894c241777f519d4e, type: 3} coreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3} coreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b, type: 3} + blitHDROverlay: {fileID: 4800000, guid: a89bee29cffa951418fc1e2da94d1959, type: 3} cameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf, type: 3} objectMotionVector: {fileID: 4800000, guid: 7b3ede40266cd49a395def176e1bc486, type: 3} - m_AssetVersion: 1 + dataDrivenLensFlare: {fileID: 4800000, guid: 6cda457ac28612740adb23da5d39ea92, type: 3} + m_AssetVersion: 2 m_OpaqueLayerMask: serializedVersion: 2 m_Bits: 4294967295 @@ -72,7 +89,20 @@ MonoBehaviour: m_ShadowTransparentReceive: 0 m_RenderingMode: 0 m_DepthPrimingMode: 0 + m_CopyDepthMode: 0 m_AccurateGbufferNormals: 0 - m_ClusteredRendering: 0 - m_TileSize: 32 m_IntermediateTextureMode: 1 +--- !u!114 &9217156560785194648 +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: 61dbcb3e79a31824689a0396a6de6a7c, type: 3} + m_Name: OutlineRenderFeature + m_EditorClassIdentifier: + m_Active: 1 + outlineMaterial: {fileID: 2100000, guid: 7d59a0e48d5e5a34bbc8919ff8e3cecd, type: 2} diff --git a/ProjectSettings/GraphicsSettings.asset b/ProjectSettings/GraphicsSettings.asset index a02467c..d0be87b 100644 --- a/ProjectSettings/GraphicsSettings.asset +++ b/ProjectSettings/GraphicsSettings.asset @@ -38,7 +38,7 @@ GraphicsSettings: - {fileID: 20000000, guid: 89fadfec677a94a42b43ea4b0cd6a083, type: 2} m_PreloadShadersBatchTimeLimit: -1 m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} - m_CustomRenderPipeline: {fileID: 11400000, guid: 88868b38916fb8540852bd4aaef47910, type: 2} + m_CustomRenderPipeline: {fileID: 11400000, guid: e7f0f06d49450e14d82d70787cb4dfa8, type: 2} m_TransparencySortMode: 0 m_TransparencySortAxis: {x: 0, y: 0, z: 1} m_DefaultRenderingPath: 1