diff --git a/Packages/com.unity.render-pipelines.core/Documentation~/advanced-properties.md b/Packages/com.unity.render-pipelines.core/Documentation~/advanced-properties.md index 0534d9daf74..36c7ee4ac05 100644 --- a/Packages/com.unity.render-pipelines.core/Documentation~/advanced-properties.md +++ b/Packages/com.unity.render-pipelines.core/Documentation~/advanced-properties.md @@ -10,7 +10,7 @@ There is a global state per user that stores if Unity displays **advanced proper Not every component or Volume Override includes advanced properties. If one does, it has a contextual menu to the right of each property section header that includes additional properties. To expose advanced properties for that section, open the contextual menu and click **Advanced Properties**. -For an example, see the **Water Surface** component in [High Definition Render Pipeline (HDRP)](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@latest). +For an example, refer to the **Water Surface** component in [High Definition Render Pipeline (HDRP)](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@latest?subfolder=/manual/settings-and-properties-related-to-the-water-system.html). By default only standard properties are shown. diff --git a/Packages/com.unity.render-pipelines.core/Documentation~/api_index.md b/Packages/com.unity.render-pipelines.core/Documentation~/api_index.md new file mode 100644 index 00000000000..996b733ceb7 --- /dev/null +++ b/Packages/com.unity.render-pipelines.core/Documentation~/api_index.md @@ -0,0 +1,12 @@ +--- +uid: srp-core-api-index +--- + +# Scriptable Render Pipeline Core scripting API + +This is the documentation for the scripting APIs of the Scriptable Render Pipeline (SRP) Core package. + +**Note**: URP and HDRP are built on the Scriptable Render Pipeline (SRP) Core package, but have their own class types. For more information, refer to the following: + +- [Universal Render Pipeline (URP) Scripting API](https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@17.0/api/index.html) +- [High Definition Render Pipeline (HDRP) Scripting API](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@17.0/api/index.html) diff --git a/Packages/com.unity.render-pipelines.core/Runtime/GPUDriven/GPUResidentDrawer.cs b/Packages/com.unity.render-pipelines.core/Runtime/GPUDriven/GPUResidentDrawer.cs index 63b56b98bb7..f539e195e91 100644 --- a/Packages/com.unity.render-pipelines.core/Runtime/GPUDriven/GPUResidentDrawer.cs +++ b/Packages/com.unity.render-pipelines.core/Runtime/GPUDriven/GPUResidentDrawer.cs @@ -597,8 +597,8 @@ private void PostPostLateUpdate() ProcessRenderers(rendererData, unsupportedRenderers.AsArray()); Profiler.EndSample(); - Profiler.BeginSample("GPUResidentDrawer.ProcessRendererMaterialChanges"); - ProcessRendererMaterialChanges(rendererData.changedID, supportedChangedMaterials.AsArray(), supportedChangedPackedMaterialDatas.AsArray()); + Profiler.BeginSample("GPUResidentDrawer.ProcessRendererMaterialAndMeshChanges"); + ProcessRendererMaterialAndMeshChanges(rendererData.changedID, supportedChangedMaterials.AsArray(), supportedChangedPackedMaterialDatas.AsArray(), meshDataSorted.changedID); Profiler.EndSample(); lodGroupTransformData.Dispose(); @@ -655,9 +655,9 @@ private void ProcessLODGroups(NativeArray changedID, NativeArray destr m_BatchersContext.TransformLODGroups(transformedID); } - private void ProcessRendererMaterialChanges(NativeArray excludedRenderers, NativeArray changedMaterials, NativeArray changedPackedMaterialDatas) + private void ProcessRendererMaterialAndMeshChanges(NativeArray excludedRenderers, NativeArray changedMaterials, NativeArray changedPackedMaterialDatas, NativeArray changedMeshes) { - if (changedMaterials.Length == 0) + if (changedMaterials.Length == 0 && changedMeshes.Length == 0) return; Profiler.BeginSample("GPUResidentDrawer.GetMaterialsWithChangedPackedMaterial"); @@ -669,7 +669,7 @@ private void ProcessRendererMaterialChanges(NativeArray excludedRenderers, Profiler.EndSample(); - if (filteredMaterials.Count == 0) + if (filteredMaterials.Count == 0 && changedMeshes.Length == 0) { filteredMaterials.Dispose(); updatePackedMaterialCacheJob.Complete(); @@ -679,14 +679,14 @@ private void ProcessRendererMaterialChanges(NativeArray excludedRenderers, var sortedExcludedRenderers = new NativeArray(excludedRenderers, Allocator.TempJob); if (sortedExcludedRenderers.Length > 0) { - Profiler.BeginSample("ProcessRendererMaterialChanges.Sort"); + Profiler.BeginSample("ProcessRendererMaterialAndMeshChanges.Sort"); sortedExcludedRenderers.ParallelSort().Complete(); Profiler.EndSample(); } - Profiler.BeginSample("GPUResidentDrawer.FindRenderersFromMaterials"); + Profiler.BeginSample("GPUResidentDrawer.FindRenderersFromMaterialsOrMeshes"); - NativeList renderersWithChangedMaterials = FindRenderersFromMaterials(sortedExcludedRenderers, filteredMaterials, Allocator.TempJob); + var (renderersWithChangedMaterials, renderersWithChangedMeshes) = FindRenderersFromMaterialsOrMeshes(sortedExcludedRenderers, filteredMaterials, changedMeshes, Allocator.TempJob); filteredMaterials.Dispose(); Profiler.EndSample(); @@ -694,22 +694,36 @@ private void ProcessRendererMaterialChanges(NativeArray excludedRenderers, sortedExcludedRenderers.Dispose(); updatePackedMaterialCacheJob.Complete(); - if (renderersWithChangedMaterials.Length == 0) + if (renderersWithChangedMaterials.Length == 0 && renderersWithChangedMeshes.Length == 0) { renderersWithChangedMaterials.Dispose(); + renderersWithChangedMeshes.Dispose(); return; } Profiler.BeginSample("GPUResidentDrawer.UpdateRenderers"); { - var materialChangedInstances = new NativeArray(renderersWithChangedMaterials.Length, Allocator.TempJob, NativeArrayOptions.UninitializedMemory); - ScheduleQueryRendererGroupInstancesJob(renderersWithChangedMaterials.AsArray(), materialChangedInstances).Complete(); + var changedMaterialsCount = renderersWithChangedMaterials.Length; + var changedMeshesCount = renderersWithChangedMeshes.Length; + var totalCount = changedMaterialsCount + changedMeshesCount; - m_Batcher.DestroyDrawInstances(materialChangedInstances); - materialChangedInstances.Dispose(); + + var changedInstances = new NativeArray(totalCount, Allocator.TempJob, NativeArrayOptions.UninitializedMemory); + var changedRenderers = new NativeArray(totalCount, Allocator.TempJob, NativeArrayOptions.UninitializedMemory); + + NativeArray.Copy(renderersWithChangedMaterials.AsArray(), changedRenderers, changedMaterialsCount); + NativeArray.Copy(renderersWithChangedMeshes.AsArray(), changedRenderers.GetSubArray(changedMaterialsCount, changedMeshesCount), changedMeshesCount); + + ScheduleQueryRendererGroupInstancesJob(changedRenderers, changedInstances).Complete(); + + m_Batcher.DestroyDrawInstances(changedInstances); m_Batcher.UpdateRenderers(renderersWithChangedMaterials.AsArray(), true); + m_Batcher.UpdateRenderers(renderersWithChangedMeshes.AsArray(), false); + changedInstances.Dispose(); + changedRenderers.Dispose(); renderersWithChangedMaterials.Dispose(); + renderersWithChangedMeshes.Dispose(); } Profiler.EndSample(); } @@ -858,22 +872,26 @@ private NativeHashSet GetMaterialsWithChangedPackedMaterial(NativeArray FindRenderersFromMaterials(NativeArray sortedExcludeRenderers, NativeHashSet materials, Allocator rendererListAllocator) + private (NativeList renderersWithMaterials, NativeList renderersWithMeshes) FindRenderersFromMaterialsOrMeshes(NativeArray sortedExcludeRenderers, NativeHashSet materials, NativeArray meshes, Allocator rendererListAllocator) { var sharedInstanceData = m_BatchersContext.sharedInstanceData; - NativeList renderers = new NativeList(sharedInstanceData.rendererGroupIDs.Length, rendererListAllocator); + NativeList renderersWithMaterials = new NativeList(sharedInstanceData.rendererGroupIDs.Length, rendererListAllocator); + NativeList renderersWithMeshes = new NativeList(sharedInstanceData.rendererGroupIDs.Length, rendererListAllocator); - var jobHandle = new FindRenderersFromMaterialJob + var jobHandle = new FindRenderersFromMaterialOrMeshJob { materialIDs = materials.AsReadOnly(), materialIDArrays = sharedInstanceData.materialIDArrays, + meshIDs = meshes.AsReadOnly(), + meshIDArray = sharedInstanceData.meshIDs, rendererGroupIDs = sharedInstanceData.rendererGroupIDs, sortedExcludeRendererIDs = sortedExcludeRenderers.AsReadOnly(), - selectedRenderGroups = renderers.AsParallelWriter(), - }.ScheduleBatch(sharedInstanceData.rendererGroupIDs.Length, FindRenderersFromMaterialJob.k_BatchSize); + selectedRenderGroupsForMaterials = renderersWithMaterials.AsParallelWriter(), + selectedRenderGroupsForMeshes = renderersWithMeshes.AsParallelWriter() + }.ScheduleBatch(sharedInstanceData.rendererGroupIDs.Length, FindRenderersFromMaterialOrMeshJob.k_BatchSize); jobHandle.Complete(); - return renderers; + return (renderersWithMaterials, renderersWithMeshes); } [BurstCompile(DisableSafetyChecks = true, OptimizeFor = OptimizeFor.Performance)] @@ -950,22 +968,29 @@ public unsafe void Execute() } [BurstCompile(DisableSafetyChecks = true, OptimizeFor = OptimizeFor.Performance)] - private unsafe struct FindRenderersFromMaterialJob : IJobParallelForBatch + private unsafe struct FindRenderersFromMaterialOrMeshJob : IJobParallelForBatch { public const int k_BatchSize = 128; [ReadOnly] public NativeHashSet.ReadOnly materialIDs; [ReadOnly] public NativeArray.ReadOnly materialIDArrays; + [ReadOnly] public NativeArray.ReadOnly meshIDs; + [ReadOnly] public NativeArray.ReadOnly meshIDArray; [ReadOnly] public NativeArray.ReadOnly rendererGroupIDs; [ReadOnly] public NativeArray.ReadOnly sortedExcludeRendererIDs; - - [WriteOnly] public NativeList.ParallelWriter selectedRenderGroups; + + [WriteOnly] public NativeList.ParallelWriter selectedRenderGroupsForMaterials; + [WriteOnly] public NativeList.ParallelWriter selectedRenderGroupsForMeshes; public void Execute(int startIndex, int count) { - int* renderersToAddPtr = stackalloc int[k_BatchSize]; - var renderersToAdd = new UnsafeList(renderersToAddPtr, k_BatchSize); - renderersToAdd.Length = 0; + int* renderersToAddForMaterialsPtr = stackalloc int[k_BatchSize]; + var renderersToAddForMaterials = new UnsafeList(renderersToAddForMaterialsPtr, k_BatchSize); + renderersToAddForMaterials.Length = 0; + + int* renderersToAddForMeshesPtr = stackalloc int[k_BatchSize]; + var renderersToAddForMeshes = new UnsafeList(renderersToAddForMeshesPtr, k_BatchSize); + renderersToAddForMeshes.Length = 0; for (int index = 0; index < count; index++) { @@ -976,20 +1001,33 @@ public void Execute(int startIndex, int count) if (sortedExcludeRendererIDs.BinarySearch(rendererID) >= 0) continue; - var rendererMaterials = materialIDArrays[rendererIndex]; - - for (int materialIndex = 0; materialIndex < rendererMaterials.Length; materialIndex++) { - var materialID = rendererMaterials[materialIndex]; - if (materialIDs.Contains(materialID)) + var meshID = meshIDArray[rendererIndex]; + if (meshIDs.Contains(meshID)) { - renderersToAdd.AddNoResize(rendererID); - break; + renderersToAddForMeshes.AddNoResize(rendererID); + // We can skip the material check if we found a mesh match since at this point + // the renderer is already added and will be processed by the mesh branch + continue; + } + } + { + var rendererMaterials = materialIDArrays[rendererIndex]; + + for (int materialIndex = 0; materialIndex < rendererMaterials.Length; materialIndex++) + { + var materialID = rendererMaterials[materialIndex]; + if (materialIDs.Contains(materialID)) + { + renderersToAddForMaterials.AddNoResize(rendererID); + break; + } } } } - selectedRenderGroups.AddRangeNoResize(renderersToAddPtr, renderersToAdd.Length); + selectedRenderGroupsForMaterials.AddRangeNoResize(renderersToAddForMaterialsPtr, renderersToAddForMaterials.Length); + selectedRenderGroupsForMeshes.AddRangeNoResize(renderersToAddForMeshesPtr, renderersToAddForMeshes.Length); } } diff --git a/Packages/com.unity.render-pipelines.core/Tests/Editor/GPUDriven/GPUDrivenRenderingTests.cs b/Packages/com.unity.render-pipelines.core/Tests/Editor/GPUDriven/GPUDrivenRenderingTests.cs index 15002f73570..ba1539168d1 100644 --- a/Packages/com.unity.render-pipelines.core/Tests/Editor/GPUDriven/GPUDrivenRenderingTests.cs +++ b/Packages/com.unity.render-pipelines.core/Tests/Editor/GPUDriven/GPUDrivenRenderingTests.cs @@ -189,10 +189,11 @@ public void TestInstanceCullingTier0() var callbackCounter = new BoxedCounter(); cpuDrivenDesc.onCompleteCallback = (JobHandle jobHandle, in BatchCullingContext cc, in BatchCullingOutput cullingOutput) => { + jobHandle.Complete(); + if (cc.viewType != BatchCullingViewType.Camera) return; - jobHandle.Complete(); BatchCullingOutputDrawCommands drawCommands = cullingOutput.drawCommands[0]; var materials = new NativeParallelHashSet(10, Allocator.Temp); @@ -221,6 +222,8 @@ public void TestInstanceCullingTier0() using (var brg = new GPUResidentBatcher(brgContext, cpuDrivenDesc, gpuDrivenProcessor)) { + brg.OnBeginContextRendering(); + brg.UpdateRenderers(objIDs.AsArray()); var cameraObject = new GameObject("myCamera"); @@ -228,6 +231,8 @@ public void TestInstanceCullingTier0() SubmitCameraRenderRequest(mainCamera); + brg.OnEndContextRendering(); + Assert.AreEqual(1, callbackCounter.Value); mainCamera = null; @@ -268,16 +273,19 @@ public void TestSceneViewHiddenRenderersCullingTier0() cpuDrivenDesc.onCompleteCallback = (JobHandle jobHandle, in BatchCullingContext cc, in BatchCullingOutput cullingOutput) => { + jobHandle.Complete(); + if (cc.viewType != BatchCullingViewType.Camera) return; - jobHandle.Complete(); BatchCullingOutputDrawCommands drawCommands = cullingOutput.drawCommands[0]; callbackCounter.Value = drawCommands.visibleInstanceCount; }; using (var brg = new GPUResidentBatcher(brgContext, cpuDrivenDesc, gpuDrivenProcessor)) { + brg.OnBeginContextRendering(); + brg.UpdateRenderers(objIDs); var cameraObject = new GameObject("SceneViewCamera"); @@ -298,6 +306,8 @@ public void TestSceneViewHiddenRenderersCullingTier0() brg.OnEndCameraRendering(mainCamera); Assert.AreEqual(callbackCounter.Value, 1); + brg.OnEndContextRendering(); + GameObject.DestroyImmediate(cameraObject); brgContext.ScheduleQueryRendererGroupInstancesJob(objIDs, instances).Complete(); brg.DestroyDrawInstances(instances); @@ -346,10 +356,11 @@ public void TestMultipleMetadata() var cpuDrivenDesc = InstanceCullingBatcherDesc.NewDefault(); cpuDrivenDesc.onCompleteCallback = (JobHandle jobHandle, in BatchCullingContext cc, in BatchCullingOutput cullingOutput) => { + jobHandle.Complete(); + if (cc.viewType != BatchCullingViewType.Camera) return; - jobHandle.Complete(); BatchCullingOutputDrawCommands drawCommands = cullingOutput.drawCommands[0]; var drawCommandCount = 0U; @@ -370,6 +381,8 @@ public void TestMultipleMetadata() using (var brg = new GPUResidentBatcher(brgContext, cpuDrivenDesc, gpuDrivenProcessor)) { + brg.OnBeginContextRendering(); + brg.UpdateRenderers(objIDs.AsArray()); var cameraObject = new GameObject("myCamera"); @@ -377,6 +390,8 @@ public void TestMultipleMetadata() SubmitCameraRenderRequest(mainCamera); + brg.OnEndContextRendering(); + mainCamera = null; GameObject.DestroyImmediate(cameraObject); @@ -458,10 +473,11 @@ public void TestCPULODSelection() var expectedDrawCommandCount = 2; cpuDrivenDesc.onCompleteCallback = (JobHandle jobHandle, in BatchCullingContext cc, in BatchCullingOutput cullingOutput) => { + jobHandle.Complete(); + if (cc.viewType != BatchCullingViewType.Camera) return; - jobHandle.Complete(); BatchCullingOutputDrawCommands drawCommands = cullingOutput.drawCommands[0]; var drawCommandCount = 0U; @@ -482,6 +498,8 @@ public void TestCPULODSelection() using (var brg = new GPUResidentBatcher(brgContext, cpuDrivenDesc, gpuDrivenProcessor)) { + brg.OnBeginContextRendering(); + brgContext.UpdateLODGroups(lodGroupInstancesID.AsArray()); brg.UpdateRenderers(objIDs.AsArray()); @@ -526,6 +544,8 @@ public void TestCPULODSelection() expectedDrawCommandCount = 1; SubmitCameraRenderRequest(mainCamera); + brg.OnEndContextRendering(); + Assert.AreEqual(7, callbackCounter.Value); mainCamera = null; @@ -611,10 +631,11 @@ public void TestCPULODCrossfade() var expectedDrawCommandCount = 0; cpuDrivenDesc.onCompleteCallback = (JobHandle jobHandle, in BatchCullingContext cc, in BatchCullingOutput cullingOutput) => { + jobHandle.Complete(); + if (cc.viewType != BatchCullingViewType.Camera) return; - jobHandle.Complete(); BatchCullingOutputDrawCommands drawCommands = cullingOutput.drawCommands[0]; unsafe @@ -633,6 +654,8 @@ public void TestCPULODCrossfade() using (var brg = new GPUResidentBatcher(brgContext, cpuDrivenDesc, gpuDrivenProcessor)) { + brg.OnBeginContextRendering(); + brgContext.UpdateLODGroups(lodGroupInstancesID.AsArray()); brg.UpdateRenderers(objIDs.AsArray()); @@ -684,6 +707,8 @@ public void TestCPULODCrossfade() cameraObject.transform.position = new Vector3(0.0f, 0.0f, -4.0f); SubmitCameraRenderRequest(mainCamera); + brg.OnEndContextRendering(); + mainCamera = null; GameObject.DestroyImmediate(cameraObject); @@ -744,10 +769,11 @@ public void TestGpuDrivenSmallMeshCulling() var expectedDrawCommandCount = 0; cpuDrivenDesc.onCompleteCallback = (JobHandle jobHandle, in BatchCullingContext cc, in BatchCullingOutput cullingOutput) => { + jobHandle.Complete(); + if (cc.viewType != BatchCullingViewType.Camera) return; - jobHandle.Complete(); BatchCullingOutputDrawCommands drawCommands = cullingOutput.drawCommands[0]; unsafe @@ -766,6 +792,8 @@ public void TestGpuDrivenSmallMeshCulling() using (var brg = new GPUResidentBatcher(brgContext, cpuDrivenDesc, gpuDrivenProcessor)) { + brg.OnBeginContextRendering(); + brg.UpdateRenderers(objIDs.AsArray()); var cameraObject = new GameObject("myCamera"); @@ -801,6 +829,8 @@ public void TestGpuDrivenSmallMeshCulling() cameraObject.transform.position = new Vector3(0.0f, 0.0f, -10.0f); SubmitCameraRenderRequest(mainCamera); + brg.OnEndContextRendering(); + mainCamera = null; GameObject.DestroyImmediate(cameraObject); diff --git a/Packages/com.unity.render-pipelines.high-definition-config/Documentation~/api_index.md b/Packages/com.unity.render-pipelines.high-definition-config/Documentation~/api_index.md new file mode 100644 index 00000000000..83503a8b43b --- /dev/null +++ b/Packages/com.unity.render-pipelines.high-definition-config/Documentation~/api_index.md @@ -0,0 +1,7 @@ +--- +uid: hdrp-config-api-index +--- + +# High Definition Render Pipeline Configuration package scripting API + +This is the documentation for the scripting APIs of the High Definition Render Pipeline (HDRP) Configuration package. diff --git a/Packages/com.unity.render-pipelines.high-definition/Documentation~/api_index.md b/Packages/com.unity.render-pipelines.high-definition/Documentation~/api_index.md index afd554e74df..0d5ecc97ae6 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Documentation~/api_index.md +++ b/Packages/com.unity.render-pipelines.high-definition/Documentation~/api_index.md @@ -1,3 +1,9 @@ -This is the documentation for the Scripting APIs of this package. +--- +uid: hdrp-api-index +--- -**Note**: The High Definition Render Pipeline (HDRP) is built on the Scriptable Render Pipeline (SRP) and uses some class types that you can only find in the [SRP Scripting API](https://docs.unity3d.com/Packages/com.unity.render-pipelines.core@latest/index.html?subfolder=/api/index.html). +# High Definition Render Pipeline scripting API + +This is the documentation for the scripting APIs of the High Definition Render Pipeline (HDRP) package. + +**Note**: HDRP is built on the Scriptable Render Pipeline (SRP) Core package and uses some class types that you can only find in the [SRP Core scripting API](https://docs.unity3d.com/Packages/com.unity.render-pipelines.core@17.0/api/index.html). diff --git a/Packages/com.unity.render-pipelines.high-definition/Documentation~/probevolumes-lighting-panel-reference.md b/Packages/com.unity.render-pipelines.high-definition/Documentation~/probevolumes-lighting-panel-reference.md index ddc24e4b37a..eaff6d3b3a5 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Documentation~/probevolumes-lighting-panel-reference.md +++ b/Packages/com.unity.render-pipelines.high-definition/Documentation~/probevolumes-lighting-panel-reference.md @@ -1,103 +1,41 @@ # Adaptive Probe Volumes panel properties -This page explains the properties in the **Adaptive Probe Volumes** panel in Lighting settings. To open the panel, from the main menu select **Window** > **Rendering** > **Lighting** > **Adaptive Probe Volumes**. +This page explains the properties in the **Adaptive Probe Volumes** panel in Lighting settings. To open the panel, from the main menu select **Window** > **Rendering** > **Lighting** > **Adaptive Probe Volumes**. ## Baking -To open Baking Set properties, either select the Baking Set asset in the Project window, or from the main menu select **Window** > **Rendering** > **Lighting** > **Adaptive Probe Volumes** tab. +To open Baking Set properties, either select the Baking Set asset in the Project window, or from the main menu select **Window** > **Rendering** > **Lighting** > **Adaptive Probe Volumes** tab. ### Baking - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyDescription
Baking Mode
Single SceneUse only the active scene to calculate the lighting data in Adaptive Probe Volumes.
Baking SetUse the scenes in this Baking Set to calculate the lighting data in Adaptive Probe Volumes.
Current Baking SetThe current Baking Set asset.
Scenes in Baking SetLists the scenes in the current Baking Set.
Status: Indicates whether the scene is loaded.
Bake: When enabled, HDRP generates lighting for this scene.
Use + and - to add or remove a scene from the active Baking Set.
Use the two-line icon to the left of each scene to drag the scene up or down in the list.
+|Property |Description | +|:---|:---| +|**Baking Mode** |
  • **Single Scene:** Use only the active scene to calculate the lighting data in Adaptive Probe Volumes.
  • **Baking Set:** Use the scenes in this Baking Set to calculate the lighting data in Adaptive Probe Volumes.
| +|**Current Baking Set** |The current Baking Set asset. | +|**Scenes in Baking Set** |Lists the scenes in the current Baking Set:
  • **Status:** Indicates whether the scene is loaded.
  • **Bake:** When enabled, HDRP generates lighting for this scene.
Use + and − to add add or remove a scene from the active Baking Set. Use the two-line icon to the left of each scene to drag the scene up or down in the list. | ### Probe Placement - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyDescription
Probe Positions
RecalculateRecalculate probe positions during baking, to accommodate changes in scene geometry. Refer to Bake different lighting setups with Lighting Scenarios for more information.
Don't RecalculateDon't recalculate probe positions during baking. This keeps the probe positions the same as the last successful bake, which means HDRP can blend probes in different Lighting Scenarios. Refer to Bake different lighting setups with Lighting Scenarios for more information.
Min Probe SpacingThe minimum distance between probes, in meters. Refer to Configure the size and density of Adaptive Probe Volumes for more information.
Max Probe SpacingThe maximum distance between probes, in meters. Refer to Configure the size and density of Adaptive Probe Volumes for more information.
Renderer Filter Settings
Layer MaskSpecify the Layers HDRP considers when it generates probe positions. Select a Layer to enable or disable it.
Min Renderer SizeThe smallest Renderer size HDRP considers when it places probes.
+|Property |Description | +|:---|:---| +|**Probe Positions** |
  • **Recalculate:** Recalculate probe positions during baking, to accommodate changes in scene geometry. Refer to [Bake different lighting setups with Lighting Scenarios](probevolumes-bakedifferentlightingsetups.md) for more information.
  • **Don't Recalculate:** Don't recalculate probe positions during baking. This keeps the probe positions the same as the last successful bake, which means HDRP can blend probes in different Lighting Scenarios. Refer to [Bake different lighting setups with Lighting Scenarios](probevolumes-bakedifferentlightingsetups.md) for more information.
| +|**Min Probe Spacing** | The minimum distance between probes, in meters. Refer to [Configure the size and density of Adaptive Probe Volumes](probevolumes-changedensity.md) for more information. | +|**Max Probe Spacing** |The maximum distance between probes, in meters. Refer to [Configure the size and density of Adaptive Probe Volumes](probevolumes-changedensity.md) for more information. | +|**Renderer Filter Settings** |
  • **Layer Mask:** Specify the [Layers](xref:um-layers) HDRP considers when it generates probe positions. Select a Layer to enable or disable it.
  • **Min Renderer Size:** The smallest Renderer size HDRP considers when it places probes.
| + ### Lighting Scenarios This section appears only if you enable **Lighting Scenarios** under **Light Probe Lighting** in the [HDRP Asset](HDRP-Asset.md). -| **Property** ||| **Description** | -|-|-|-|-| -| **Scenarios** ||| Lists the Lighting Scenarios in the Baking Set. To rename a Lighting Scenario, double-click its name. | -|| **Active** || Set the currently loaded Lighting Scenario, which HDRP writes to when you select **Generate Lighting**. | -|| **Status** || Indicates the status of the active Lighting Scenario. | -||| **Invalid Scenario** | A warning icon appears if the active Lighting Scenario is baked but HDRP can't load it anymore, for example if another Lighting Scenario has been baked that caused changes in the probe subdivision. | -||| **Not Baked** | An information icon appears if you haven't baked any lighting data for the active Lighting Scenario.| -||| **Not Loaded** | An information icon appears if scenes in the Baking Set aren't currently loaded in the Hierarchy window, so HDRP can't determine the Lighting Scenario status. | +|Property |Description | +|:---|:---| +|**Scenarios** |Lists the Lighting Scenarios in the Baking Set. To rename a Lighting Scenario, double-click its name.
  • **Active:** Set the currently loaded Lighting Scenario, which HDRP writes to when you select **Generate Lighting**.
  • **Status:** Indicates the status of the active Lighting Scenario:
    • **Invalid Scenario:** A warning icon appears if the active Lighting Scenario is baked but HDRP can't load it anymore, for example if another Lighting Scenario has been baked that caused changes in the probe subdivision.
    • **Not Baked:** An information icon appears if you haven't baked any lighting data for the active Lighting Scenario.
    • **Not Loaded:** An information icon appears if scenes in the Baking Set aren't currently loaded in the Hierarchy window, so HDRP can't determine the Lighting Scenario status.
    | ## Sky Occlusion Settings | **Property** | **Description** | -|-|-| +|:-|:-| | **Sky Occlusion** | Enable [sky occlusion](probevolumes-skyocclusion.md). | | **Samples** | Set the number of samples Unity uses to calculate the light each probe receives from the sky. Higher values increase the accuracy of the sky occlusion data, but increasing baking time. The default value is 2048. | | **Bounces** | Set the number of times Unity bounces light from the sky off objects when calculating the sky occlusion data. Higher values increase the accuracy of the sky occlusion data, but increase baking time. Use higher values if objects block the direct view from probes to the sky. The default value is 2. | @@ -106,70 +44,14 @@ This section appears only if you enable **Lighting Scenarios** under **Light Pro ## Probe Invalidity Settings - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    PropertyDescription
    Probe Dilation Settings
    Enable DilationWhen enabled, HDRP replaces data in invalid probes with data from nearby valid probes. Enabled by default. Refer to Fix issues with Adaptive Probe Volumes.
    Search RadiusDetermine how far from an invalid probe HDRP searches for valid neighbors. Higher values include more distant probes that might be in different lighting conditions than the invalid probe, resulting in unwanted behaviors such as light leaks.
    Validity ThresholdSet the ratio of backfaces a probe samples before HDRP considers it invalid. Higher values mean HDRP is more likely to mark a probe invalid.
    Dilation IterationsSet the number of times Unity repeats the dilation calculation. This increases the spread of dilation effect, but increases the time HDRP needs to calculate probe lighting.
    Squared Distance WeightingEnable weighing the contribution of neighbouring probes by squared distance, rather than linear distance. Probes that are closer to invalid probes will contribute more to the lighting data.
    Virtual Offset Settings
    Enable Virtual Offset Enable HDRP moving the capture point of invalid probes into a valid area. Refer to Fix issues with Adaptive Probe Volumes.
    Search Distance MultiplierSet the length of the sampling ray HDRP uses to search for valid probe positions. High values might cause unwanted results, such as probe capture points pushing through neighboring geometry.
    Geometry BiasSet how far HDRP pushes a probe's capture point out of geometry after one of its sampling rays hits geometry.
    Ray Origin biasSet the distance between a probe's center and the point HDRP uses as the origin of each sampling ray. High values might cause unwanted results, such as rays missing nearby occluding geometry.
    Layer MaskSpecify which layers HDRP includes in collision calculations for [Virtual Offset](probevolumes-fixissues.md).
    Refresh Virtual Offset DebugRe-run the virtual offset simulation to preview updated results, without affecting baked data.
    +|Property |Description | +|:---|:---| +|**Probe Dilation Settings** |
    • **Enable Dilation:** When enabled, HDRP replaces data in invalid probes with data from nearby valid probes. Enabled by default. Refer to [Fix issues with Adaptive Probe Volumes](probevolumes-fixissues.md).
    • **Search Radius:** Determine how far from an invalid probe HDRP searches for valid neighbors. Higher values include more distant probes that might be in different lighting conditions than the invalid probe, resulting in unwanted behaviors such as light leaks.
    • **Validity Threshold:** Set the ratio of backfaces a probe samples before HDRP considers it invalid. Higher values mean HDRP is more likely to mark a probe invalid.
    • **Dilation Iterations:** Set the number of times Unity repeats the dilation calculation. This increases the spread of dilation effect, but increases the time HDRP needs to calculate probe lighting.
    • **Squared Distance Weighting:** Enable weighing the contribution of neighboring probes by squared distance, rather than linear distance. Probes that are closer to invalid probes will contribute more to the lighting data.
    | +|**Virtual Offset Settings** |
    • **Enable Virtual Offset:** Enable HDRP moving the capture point of invalid probes into a valid area. Refer to [Fix issues with Adaptive Probe Volumes](probevolumes-fixissues.md).
    • **Search Distance Multiplier:** Set the length of the sampling ray HDRP uses to search for valid probe positions. High values might cause unwanted results, such as probe capture points pushing through neighboring geometry.
    • **Geometry Bias:** Set how far HDRP pushes a probe's capture point out of geometry after one of its sampling rays hits geometry.
    • **Ray Origin bias:** Set the distance between a probe's center and the point HDRP uses as the origin of each sampling ray. High values might cause unwanted results, such as rays missing nearby occluding geometry.
    • **Layer Mask:** Specify which layers HDRP includes in collision calculations for [Virtual Offset](probevolumes-fixissues.md).
    • **Refresh Virtual Offset Debug:** Re-run the virtual offset simulation to preview updated results, without affecting baked data.
    | ### Adaptive Probe Volume Disk Usage -| **Property** | **Description** | -|-|-| +| Property | Description | +|:-|:-| | **Scenario Size** | Indicates how much space on disk is used by the currently selected Lighting Scenario. | -| **Baking Set Size** | Indicates how much space on disk is used by all the baked Light Probe data for the currently selected Baking Set. This includes the data for all Lighting Scenarios, and the data shared by all Lighting Scenarios. +| **Baking Set Size** | Indicates how much space on disk is used by all the baked Light Probe data for the currently selected Baking Set. This includes the data for all Lighting Scenarios, and the data shared by all Lighting Scenarios.| diff --git a/Packages/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Camera/HDCameraUI.Rendering.Drawers.cs b/Packages/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Camera/HDCameraUI.Rendering.Drawers.cs index f81d4b7dcd0..2c90c94b564 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Camera/HDCameraUI.Rendering.Drawers.cs +++ b/Packages/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Camera/HDCameraUI.Rendering.Drawers.cs @@ -148,10 +148,6 @@ static void Drawer_Draw_DLSS_Section(SerializedHDCamera p, Editor owner) { EditorGUI.indentLevel++; EditorGUILayout.PropertyField(p.deepLearningSuperSamplingUseOptimalSettings, HDRenderPipelineUI.Styles.DLSSUseOptimalSettingsContent); - using (new EditorGUI.DisabledScope(p.deepLearningSuperSamplingUseOptimalSettings.boolValue)) - { - EditorGUILayout.PropertyField(p.deepLearningSuperSamplingSharpening, HDRenderPipelineUI.Styles.DLSSSharpnessContent); - } EditorGUI.indentLevel--; } } diff --git a/Packages/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/CustomPassDrawer.cs b/Packages/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/CustomPassDrawer.cs index 0a10648e761..551a2507a7c 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/CustomPassDrawer.cs +++ b/Packages/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/CustomPassDrawer.cs @@ -172,6 +172,16 @@ void DoCommonSettingsGUI(ref Rect rect) { EditorGUI.PropertyField(rect, m_TargetDepthBuffer, Styles.targetDepthBuffer); rect.y += Styles.defaultLineSpace; + + CustomPass.TargetBuffer requestedDepth = m_TargetDepthBuffer.GetEnumValue(); + if (m_CustomPass.getConstrainedDepthBuffer() != requestedDepth) + { + Rect helpBoxRect = rect; + float helpBoxHeight = EditorGUIUtility.singleLineHeight * 2; + helpBoxRect.height = helpBoxHeight; + EditorGUI.HelpBox(helpBoxRect, "Camera depth isn't supported when dynamic scaling is on. We will automatically fall back to not doing depth-testing for this pass.", MessageType.Warning); + rect.y += helpBoxHeight; + } } if ((commonPassUIFlags & PassUIFlag.ClearFlags) != 0) @@ -264,6 +274,13 @@ internal float GetPropertyHeight(SerializedProperty property, GUIContent label) } height += Styles.defaultLineSpace * lines; + + // Add height for the help box if it will be shown + if ((commonPassUIFlags & PassUIFlag.TargetDepthBuffer) != 0 && + m_CustomPass.getConstrainedDepthBuffer() != m_TargetDepthBuffer.GetEnumValue()) + { + height += EditorGUIUtility.singleLineHeight * 2; // Help box height + } } return height + GetPassHeight(property); diff --git a/Packages/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.Skin.cs b/Packages/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.Skin.cs index 6157f9d5bf3..51f1e3fedc7 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.Skin.cs +++ b/Packages/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.Skin.cs @@ -274,7 +274,6 @@ public class Styles public static readonly GUIContent TAAUInjectionPoint = EditorGUIUtility.TrTextContent("TAA Upscale Injection Point", "The injection point at which to apply the upscaling."); public static readonly GUIContent STPInjectionPoint = EditorGUIUtility.TrTextContent("STP Injection Point", "The injection point at which to apply the upscaling."); public static readonly GUIContent DLSSUseOptimalSettingsContent = EditorGUIUtility.TrTextContent("DLSS Use Optimal Settings", "Sets the sharpness and scale automatically for NVIDIA Deep Learning Super Sampling, depending on the values of quality settings. When DLSS Optimal Settings is on, the percentage settings for Dynamic Resolution Scaling are ignored."); - public static readonly GUIContent DLSSSharpnessContent = EditorGUIUtility.TrTextContent("DLSS Sharpness", "NVIDIA Deep Learning Super Sampling pixel sharpness of upsampler. Controls how the DLSS upsampler will render edges on the image. More sharpness usually means more contrast and clearer image but can increase flickering and fireflies. This setting is ignored if optimal settings are used."); public static readonly GUIContent FSR2Title = EditorGUIUtility.TrTextContent("AMD FidelityFX Super Resolution 2.0 (FSR2)"); public static readonly GUIContent enableFSR2 = EditorGUIUtility.TrTextContent("Enable Fidelity FX 2.2", "Enables FidelityFX 2.0 Super Resolution (FSR2)."); diff --git a/Packages/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs b/Packages/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs index a05e56c7831..465efd22538 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs +++ b/Packages/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs @@ -686,10 +686,6 @@ static void Drawer_SectionDynamicResolutionSettings(SerializedHDRenderPipelineAs serialized.renderPipelineSettings.dynamicResolutionSettings.DLSSInjectionPoint.intValue = injectionPointVal; EditorGUILayout.PropertyField(serialized.renderPipelineSettings.dynamicResolutionSettings.DLSSUseOptimalSettings, Styles.DLSSUseOptimalSettingsContent); - using (new EditorGUI.DisabledScope(serialized.renderPipelineSettings.dynamicResolutionSettings.DLSSUseOptimalSettings.boolValue)) - { - EditorGUILayout.PropertyField(serialized.renderPipelineSettings.dynamicResolutionSettings.DLSSSharpness, Styles.DLSSSharpnessContent); - } --EditorGUI.indentLevel; } diff --git a/Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/HDShadow.hlsl b/Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/HDShadow.hlsl index 6a91a495279..0e74aa8ebdd 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/HDShadow.hlsl +++ b/Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/HDShadow.hlsl @@ -49,10 +49,11 @@ float GetPunctualShadowAttenuation(HDShadowContext shadowContext, float2 positio if (pointLight) { - sd.rot0 = shadowContext.shadowDatas[shadowDataIndex + CubeMapFaceID(-L)].rot0; - sd.rot1 = shadowContext.shadowDatas[shadowDataIndex + CubeMapFaceID(-L)].rot1; - sd.rot2 = shadowContext.shadowDatas[shadowDataIndex + CubeMapFaceID(-L)].rot2; - sd.atlasOffset = shadowContext.shadowDatas[shadowDataIndex + CubeMapFaceID(-L)].atlasOffset; + const int cubeFaceOffset = CubeMapFaceID(-L); + sd.rot0 = shadowContext.shadowDatas[shadowDataIndex + cubeFaceOffset].rot0; + sd.rot1 = shadowContext.shadowDatas[shadowDataIndex + cubeFaceOffset].rot1; + sd.rot2 = shadowContext.shadowDatas[shadowDataIndex + cubeFaceOffset].rot2; + sd.atlasOffset = shadowContext.shadowDatas[shadowDataIndex + cubeFaceOffset].atlasOffset; } if (sd.isInCachedAtlas > 0) // This is a scalar branch. @@ -77,11 +78,12 @@ float GetPunctualShadowClosestDistance(HDShadowContext shadowContext, SamplerSta if (pointLight) { - sd.shadowToWorld = shadowContext.shadowDatas[shadowDataIndex + CubeMapFaceID(-L)].shadowToWorld; - sd.atlasOffset = shadowContext.shadowDatas[shadowDataIndex + CubeMapFaceID(-L)].atlasOffset; - sd.rot0 = shadowContext.shadowDatas[shadowDataIndex + CubeMapFaceID(-L)].rot0; - sd.rot1 = shadowContext.shadowDatas[shadowDataIndex + CubeMapFaceID(-L)].rot1; - sd.rot2 = shadowContext.shadowDatas[shadowDataIndex + CubeMapFaceID(-L)].rot2; + const int cubeFaceOffset = CubeMapFaceID(-L); + sd.shadowToWorld = shadowContext.shadowDatas[shadowDataIndex + cubeFaceOffset].shadowToWorld; + sd.atlasOffset = shadowContext.shadowDatas[shadowDataIndex + cubeFaceOffset].atlasOffset; + sd.rot0 = shadowContext.shadowDatas[shadowDataIndex + cubeFaceOffset].rot0; + sd.rot1 = shadowContext.shadowDatas[shadowDataIndex + cubeFaceOffset].rot1; + sd.rot2 = shadowContext.shadowDatas[shadowDataIndex + cubeFaceOffset].rot2; } if (sd.isInCachedAtlas > 0) // This is a scalar branch. diff --git a/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs b/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs index 4739ad07f2c..522078379ee 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs +++ b/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs @@ -2831,7 +2831,7 @@ AOVRequestData aovRequest cameraXRSettings.viewCount = (uint)hdCamera.viewCount; cameraXRSettings.viewOffset = (uint)hdCamera.xr.multipassId; - VFXManager.ProcessCameraCommand(camera, cmd, cameraXRSettings, cullingResults); + VFXManager.ProcessCameraCommand(camera, cmd, cameraXRSettings, cullingResults, customPassCullingResults); if (GL.wireframe) { diff --git a/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPass.cs b/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPass.cs index 0c183738df1..9af8cc68e10 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPass.cs +++ b/Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPass.cs @@ -52,6 +52,24 @@ internal ProfilingSampler profilingSampler /// public TargetBuffer targetDepthBuffer; + // The actual depth buffer has to follow some constraints, and thus may not be the same result as the target + // depth buffer that the user has requested. Apply these constraints and return a result. + internal TargetBuffer getConstrainedDepthBuffer() + { + TargetBuffer depth = targetDepthBuffer; + if (depth == TargetBuffer.Camera && + HDRenderPipeline.currentAsset.currentPlatformRenderPipelineSettings.dynamicResolutionSettings.enabled && + currentHDCamera.allowDynamicResolution && + injectionPoint == CustomPassInjectionPoint.AfterPostProcess) + { + // This custom pass is injected after postprocessing, and Dynamic Resolution Scaling is enabled, which + // means an upscaler is active. In this case, the camera color buffer is the full display resolution, + // but the camera depth buffer is a lower, pre-upscale resolution. So we cannot do depth testing here. + depth = TargetBuffer.None; + } + return depth; + } + /// /// What clear to apply when the color and depth buffer are bound /// @@ -285,7 +303,7 @@ virtual internal void ExecuteInternal(RenderGraph renderGraph, HDCamera hdCamera customPass.isExecuting = false; // Set back the camera color buffer if we were using a custom buffer as target - if (customPass.targetDepthBuffer != TargetBuffer.Camera) + if (customPass.getConstrainedDepthBuffer() != TargetBuffer.Camera) CoreUtils.SetRenderTarget(ctx.cmd, outputColorBuffer); }); } @@ -322,16 +340,17 @@ bool IsMSAAEnabled(HDCamera hdCamera) // This function must be only called from the ExecuteInternal method (requires current render target and current RT manager) void SetCustomPassTarget(CommandBuffer cmd) { + TargetBuffer depth = getConstrainedDepthBuffer(); // In case all the buffer are set to none, we can't bind anything - if (targetColorBuffer == TargetBuffer.None && targetDepthBuffer == TargetBuffer.None) + if (targetColorBuffer == TargetBuffer.None && depth == TargetBuffer.None) return; RTHandle colorBuffer = (targetColorBuffer == TargetBuffer.Custom) ? currentRenderTarget.customColorBuffer.Value : currentRenderTarget.colorBufferRG; - RTHandle depthBuffer = (targetDepthBuffer == TargetBuffer.Custom) ? currentRenderTarget.customDepthBuffer.Value : currentRenderTarget.depthBufferRG; + RTHandle depthBuffer = (depth == TargetBuffer.Custom) ? currentRenderTarget.customDepthBuffer.Value : currentRenderTarget.depthBufferRG; - if (targetColorBuffer == TargetBuffer.None && targetDepthBuffer != TargetBuffer.None) + if (targetColorBuffer == TargetBuffer.None && depth != TargetBuffer.None) CoreUtils.SetRenderTarget(cmd, depthBuffer, clearFlags); - else if (targetColorBuffer != TargetBuffer.None && targetDepthBuffer == TargetBuffer.None) + else if (targetColorBuffer != TargetBuffer.None && depth == TargetBuffer.None) CoreUtils.SetRenderTarget(cmd, colorBuffer, clearFlags); else { diff --git a/Packages/com.unity.render-pipelines.high-definition/Runtime/Water/Shaders/UnderWaterUtilities.hlsl b/Packages/com.unity.render-pipelines.high-definition/Runtime/Water/Shaders/UnderWaterUtilities.hlsl index 4716bd7c0ca..b197d5c0140 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Runtime/Water/Shaders/UnderWaterUtilities.hlsl +++ b/Packages/com.unity.render-pipelines.high-definition/Runtime/Water/Shaders/UnderWaterUtilities.hlsl @@ -40,7 +40,7 @@ float GetUnderWaterDistance(uint2 coord) uint xr = unity_StereoEyeIndex * _BufferStride; uint2 boundsX = uint2(0xFFFFFFFF - _WaterLine[0 + xr], _WaterLine[1 + xr]); uint posX = round(dot((float2)coord.xy, rightVector) - _BoundsSS.x); - posX = clamp(posX, boundsX.x, boundsX.y); + posX = clamp(posX, min(boundsX.y, boundsX.x), max(boundsX.x, boundsX.y)); // Decompress water line height float posY = dot((float2)coord.xy, upVector) - _BoundsSS.z; diff --git a/Packages/com.unity.render-pipelines.universal-config/.buginfo b/Packages/com.unity.render-pipelines.universal-config/.buginfo new file mode 100644 index 00000000000..0eaaafec29d --- /dev/null +++ b/Packages/com.unity.render-pipelines.universal-config/.buginfo @@ -0,0 +1 @@ +area: SRP Foundation diff --git a/Packages/com.unity.render-pipelines.universal-config/Documentation~/api_index.md b/Packages/com.unity.render-pipelines.universal-config/Documentation~/api_index.md new file mode 100644 index 00000000000..10307c5b15c --- /dev/null +++ b/Packages/com.unity.render-pipelines.universal-config/Documentation~/api_index.md @@ -0,0 +1,7 @@ +--- +uid: urp-config-api-index +--- + +# Universal Render Pipeline Configuration package scripting API + +This is the documentation for the scripting APIs of the Universal Render Pipeline (URP) Configuration package. diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/api_index.md b/Packages/com.unity.render-pipelines.universal/Documentation~/api_index.md new file mode 100644 index 00000000000..0dc926b8149 --- /dev/null +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/api_index.md @@ -0,0 +1,9 @@ +--- +uid: urp-api-index +--- + +# Universal Render Pipeline scripting API + +This is the documentation for the scripting APIs of the Universal Render Pipeline (URP) package. + +**Note**: URP is built on the Scriptable Render Pipeline (SRP) Core package, and uses some class types that you can only find in the [SRP Core scripting API](https://docs.unity3d.com/Packages/com.unity.render-pipelines.core@17.0/api/index.html). diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/index.md b/Packages/com.unity.render-pipelines.universal/Documentation~/index.md index 560b37449bb..3e20671aad3 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/index.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/index.md @@ -1,7 +1,8 @@ --- uid: urp-index --- -# Universal Render Pipeline (URP) scripting reference + +# Universal Render Pipeline (URP) The [scripting API](https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@17.0/api/index.html) documentation is available on this website. diff --git a/Packages/com.unity.render-pipelines.universal/Runtime/2D/Renderer2D.cs b/Packages/com.unity.render-pipelines.universal/Runtime/2D/Renderer2D.cs index cfe84a5ee99..3705b0497a4 100644 --- a/Packages/com.unity.render-pipelines.universal/Runtime/2D/Renderer2D.cs +++ b/Packages/com.unity.render-pipelines.universal/Runtime/2D/Renderer2D.cs @@ -411,6 +411,7 @@ public override void Setup(ScriptableRenderContext context, ref RenderingData re bool pixelPerfectCameraEnabled = ppc != null && ppc.enabled; bool hasCaptureActions = cameraData.captureActions != null && lastCameraInStack; bool resolvePostProcessingToCameraTarget = lastCameraInStack && !hasCaptureActions && !hasPassesAfterPostProcessing && !requireFinalPostProcessPass && !pixelPerfectCameraEnabled; + bool doSRGBEncoding = resolvePostProcessingToCameraTarget && needsColorEncoding; if (hasPostProcess) { @@ -425,7 +426,7 @@ public override void Setup(ScriptableRenderContext context, ref RenderingData re colorGradingLutHandle, null, requireFinalPostProcessPass, - afterPostProcessColorHandle.nameID == k_CameraTarget.nameID && needsColorEncoding); + doSRGBEncoding); EnqueuePass(postProcessPass); } diff --git a/Packages/com.unity.render-pipelines.universal/Runtime/2D/Rendergraph/DrawRenderer2DPass.cs b/Packages/com.unity.render-pipelines.universal/Runtime/2D/Rendergraph/DrawRenderer2DPass.cs index 7b5c3817a99..be408724a08 100644 --- a/Packages/com.unity.render-pipelines.universal/Runtime/2D/Rendergraph/DrawRenderer2DPass.cs +++ b/Packages/com.unity.render-pipelines.universal/Runtime/2D/Rendergraph/DrawRenderer2DPass.cs @@ -156,7 +156,6 @@ public void Render(RenderGraph graph, ContextContainer frameData, Renderer2DData builder.SetRenderAttachmentDepth(commonResourceData.activeDepthTexture); builder.AllowPassCulling(false); builder.AllowGlobalStateModification(true); - builder.UseAllGlobalTextures(true); // Post set global light textures for next renderer pass var nextBatch = batchIndex + 1; diff --git a/Packages/com.unity.render-pipelines.universal/Runtime/2D/Rendergraph/Renderer2DRendergraph.cs b/Packages/com.unity.render-pipelines.universal/Runtime/2D/Rendergraph/Renderer2DRendergraph.cs index 11585da6092..9e07bd31e51 100644 --- a/Packages/com.unity.render-pipelines.universal/Runtime/2D/Rendergraph/Renderer2DRendergraph.cs +++ b/Packages/com.unity.render-pipelines.universal/Runtime/2D/Rendergraph/Renderer2DRendergraph.cs @@ -491,11 +491,12 @@ internal override void OnRecordRenderGraph(RenderGraph renderGraph, ScriptableRe OnBeforeRendering(renderGraph); RecordCustomRenderGraphPasses(renderGraph, RenderPassEvent2D.BeforeRendering); + OnMainRendering(renderGraph); RecordCustomRenderGraphPasses(renderGraph, RenderPassEvent2D.BeforeRenderingPostProcessing); - OnAfterRendering(renderGraph); + OnAfterRendering(renderGraph); } public override void OnEndRenderGraphFrame() @@ -650,20 +651,37 @@ private void OnAfterRendering(RenderGraph renderGraph) bool hasPassesAfterPostProcessing = activeRenderPassQueue.Find(x => x.renderPassEvent == RenderPassEvent.AfterRenderingPostProcessing) != null; bool needsColorEncoding = DebugHandler == null || !DebugHandler.HDRDebugViewIsActive(cameraData.resolveFinalTarget); + // Don't resolve during post processing if there are passes after or pixel perfect camera is used + bool pixelPerfectCameraEnabled = ppc != null && ppc.enabled; + bool hasCaptureActions = cameraData.captureActions != null && cameraData.resolveFinalTarget; + bool resolvePostProcessingToCameraTarget = cameraData.resolveFinalTarget && !hasCaptureActions && !hasPassesAfterPostProcessing && !applyFinalPostProcessing && !pixelPerfectCameraEnabled; + bool doSRGBEncoding = resolvePostProcessingToCameraTarget && needsColorEncoding; + if (applyPostProcessing) { TextureHandle activeColor = commonResourceData.activeColorTexture; + bool isTargetBackbuffer = resolvePostProcessingToCameraTarget; + // if the postprocessing pass is trying to read and write to the same CameraColor target, we need to swap so it writes to a different target, // since reading a pass attachment is not possible. Normally this would be possible using temporary RenderGraph managed textures. // The reason why in this case we need to use "external" RTHandles is to preserve the results for camera stacking. // TODO RENDERGRAPH: Once all cameras will run in a single RenderGraph we can just use temporary RenderGraph textures as intermediate buffer. - ImportResourceParams importColorParams = new ImportResourceParams(); - importColorParams.clearOnFirstUse = true; - importColorParams.clearColor = Color.black; - importColorParams.discardOnLastUse = cameraData.resolveFinalTarget; // check if last camera in the stack + if (!isTargetBackbuffer) + { + ImportResourceParams importColorParams = new ImportResourceParams(); + importColorParams.clearOnFirstUse = true; + importColorParams.clearColor = Color.black; + importColorParams.discardOnLastUse = cameraData.resolveFinalTarget; // check if last camera in the stack - commonResourceData.cameraColor = renderGraph.ImportTexture(nextRenderGraphCameraColorHandle, importColorParams); + commonResourceData.cameraColor = renderGraph.ImportTexture(nextRenderGraphCameraColorHandle, importColorParams); + } + + // Desired target for post-processing pass. + var target = isTargetBackbuffer ? commonResourceData.backBufferColor : commonResourceData.cameraColor; + + if (resolveToDebugScreen && isTargetBackbuffer) + target = commonResourceData.debugScreenColor; postProcessPass.RenderPostProcessingRenderGraph( renderGraph, @@ -671,15 +689,22 @@ private void OnAfterRendering(RenderGraph renderGraph) activeColor, commonResourceData.internalColorLut, commonResourceData.overlayUITexture, - commonResourceData.activeColorTexture, + target, applyFinalPostProcessing, resolveToDebugScreen, - needsColorEncoding); + doSRGBEncoding); + + if (isTargetBackbuffer) + { + commonResourceData.activeColorID = UniversalResourceData.ActiveID.BackBuffer; + commonResourceData.activeDepthID = UniversalResourceData.ActiveID.BackBuffer; + } } var finalColorHandle = commonResourceData.activeColorTexture; RecordCustomRenderGraphPasses(renderGraph, RenderPassEvent2D.AfterRenderingPostProcessing); + // Do PixelPerfect upscaling when using the Stretch Fill option if (requirePixelPerfectUpscale) { @@ -691,20 +716,30 @@ private void OnAfterRendering(RenderGraph renderGraph) var finalBlitTarget = resolveToDebugScreen ? commonResourceData.debugScreenColor : commonResourceData.backBufferColor; var finalDepthHandle = resolveToDebugScreen ? commonResourceData.debugScreenDepth : commonResourceData.backBufferDepth; - if (createColorTexture) + if (applyFinalPostProcessing) + { + postProcessPass.RenderFinalPassRenderGraph(renderGraph, frameData, in finalColorHandle, commonResourceData.overlayUITexture, in finalBlitTarget, needsColorEncoding); + + commonResourceData.activeColorID = UniversalResourceData.ActiveID.BackBuffer; + commonResourceData.activeDepthID = UniversalResourceData.ActiveID.BackBuffer; + } + + // If post-processing then we already resolved to camera target while doing post. + // Also only do final blit if camera is not rendering to RT. + bool cameraTargetResolved = + // final PP always blit to camera target + applyFinalPostProcessing || + // no final PP but we have PP stack. In that case it blit unless there are render pass after PP or pixel perfect camera is used + (applyPostProcessing && !hasPassesAfterPostProcessing && !hasCaptureActions && !pixelPerfectCameraEnabled); + + if (!commonResourceData.isActiveTargetBackBuffer && cameraData.resolveFinalTarget && !cameraTargetResolved) { - if (applyFinalPostProcessing) - postProcessPass.RenderFinalPassRenderGraph(renderGraph, frameData, in finalColorHandle, commonResourceData.overlayUITexture, in finalBlitTarget, needsColorEncoding); - else if (cameraData.resolveFinalTarget) - m_FinalBlitPass.Render(renderGraph, frameData, cameraData, finalColorHandle, finalBlitTarget, commonResourceData.overlayUITexture); + m_FinalBlitPass.Render(renderGraph, frameData, cameraData, finalColorHandle, finalBlitTarget, commonResourceData.overlayUITexture); finalColorHandle = finalBlitTarget; - if (cameraData.resolveFinalTarget) - { - commonResourceData.activeColorID = ActiveID.BackBuffer; - commonResourceData.activeDepthID = ActiveID.BackBuffer; - } + commonResourceData.activeColorID = ActiveID.BackBuffer; + commonResourceData.activeDepthID = ActiveID.BackBuffer; } // We can explicitly render the overlay UI from URP when HDR output is not enabled. @@ -714,7 +749,6 @@ private void OnAfterRendering(RenderGraph renderGraph) if (shouldRenderUI && !outputToHDR) m_DrawOverlayUIPass.RenderOverlay(renderGraph, frameData, in finalColorHandle, in finalDepthHandle); - // If HDR debug views are enabled, DebugHandler will perform the blit from debugScreenColor (== finalColorHandle) to backBufferColor. DebugHandler?.Setup(renderGraph, cameraData.isPreviewCamera); DebugHandler?.Render(renderGraph, cameraData, finalColorHandle, commonResourceData.overlayUITexture, commonResourceData.backBufferColor); diff --git a/Packages/com.unity.render-pipelines.universal/Runtime/2D/Shadows/ShadowRendering.cs b/Packages/com.unity.render-pipelines.universal/Runtime/2D/Shadows/ShadowRendering.cs index 5196e1a5698..a7e48f68589 100644 --- a/Packages/com.unity.render-pipelines.universal/Runtime/2D/Shadows/ShadowRendering.cs +++ b/Packages/com.unity.render-pipelines.universal/Runtime/2D/Shadows/ShadowRendering.cs @@ -14,10 +14,14 @@ namespace UnityEngine.Rendering.Universal { // TODO: Culling of shadow casters, rotate color channels for shadow casting, check get material functions. - - internal static class ShadowRendering { + internal enum ShadowTestType + { + Always, + Unshadow, + } + private static readonly int k_LightPosID = Shader.PropertyToID("_LightPos"); private static readonly int k_ShadowRadiusID = Shader.PropertyToID("_ShadowRadius"); private static readonly int k_ShadowColorMaskID = Shader.PropertyToID("_ShadowColorMask"); @@ -351,11 +355,11 @@ internal static void SetGlobalShadowProp(IRasterCommandBuffer cmdBuffer) static bool ShadowCasterIsVisible(ShadowCaster2D shadowCaster) { - #if UNITY_EDITOR - return SceneVisibilityManager.instance == null ? true : !SceneVisibilityManager.instance.IsHidden(shadowCaster.gameObject); - #else +#if UNITY_EDITOR + return SceneVisibilityManager.instance == null ? true : !SceneVisibilityManager.instance.IsHidden(shadowCaster.gameObject); +#else return true; - #endif +#endif } static Renderer GetRendererFromCaster(ShadowCaster2D shadowCaster, Light2D light, int layerToRender) @@ -373,21 +377,23 @@ static Renderer GetRendererFromCaster(ShadowCaster2D shadowCaster, Light2D light return renderer; } - private static void RenderProjectedShadows(UnsafeCommandBuffer cmdBuffer, int layerToRender, Light2D light, List shadowCasters, Material projectedShadowsMaterial, int pass) + private static void RenderProjectedShadows(UnsafeCommandBuffer cmdBuffer, int layerToRender, Light2D light, List shadowCasters, Material projectedShadowsMaterial, int pass, ShadowTestType shadowTestType) { // Draw the projected shadows for the shadow caster group. Writing into the group stencil buffer bit for (var i = 0; i < shadowCasters.Count; i++) { var shadowCaster = shadowCasters[i]; - - if (ShadowCasterIsVisible(shadowCaster) && shadowCaster.castsShadows && shadowCaster.IsLit(light)) + if (ShadowTest(shadowTestType, shadowCaster)) { - if (shadowCaster != null && projectedShadowsMaterial != null && shadowCaster.IsShadowedLayer(layerToRender)) + if (ShadowCasterIsVisible(shadowCaster) && shadowCaster.castsShadows && shadowCaster.IsLit(light)) { - if (shadowCaster.shadowCastingSource != ShadowCaster2D.ShadowCastingSources.None && shadowCaster.mesh != null) + if (shadowCaster != null && projectedShadowsMaterial != null && shadowCaster.IsShadowedLayer(layerToRender)) { - SetShadowProjectionGlobals(cmdBuffer, shadowCaster, light); - cmdBuffer.DrawMesh(shadowCaster.mesh, shadowCaster.transform.localToWorldMatrix, projectedShadowsMaterial, 0, pass); + if (shadowCaster.shadowCastingSource != ShadowCaster2D.ShadowCastingSources.None && shadowCaster.mesh != null) + { + SetShadowProjectionGlobals(cmdBuffer, shadowCaster, light); + cmdBuffer.DrawMesh(shadowCaster.mesh, shadowCaster.transform.localToWorldMatrix, projectedShadowsMaterial, 0, pass); + } } } } @@ -398,101 +404,82 @@ static int GetRendererSubmeshes(Renderer renderer, ShadowCaster2D shadowCaster2D { int numberOfSubmeshes; - #if USING_SPRITESHAPE - if (renderer is SpriteShapeRenderer) - { - SpriteShapeRenderer spriteShapeRenderer = (SpriteShapeRenderer)renderer; - numberOfSubmeshes = spriteShapeRenderer.GetSplineMeshCount(); - } - else - { - numberOfSubmeshes = shadowCaster2D.spriteMaterialCount; - } - #else +#if USING_SPRITESHAPE + if (renderer is SpriteShapeRenderer) + { + SpriteShapeRenderer spriteShapeRenderer = (SpriteShapeRenderer)renderer; + numberOfSubmeshes = spriteShapeRenderer.GetSplineMeshCount(); + } + else + { + numberOfSubmeshes = shadowCaster2D.spriteMaterialCount; + } +#else numberOfSubmeshes = shadowCaster2D.spriteMaterialCount; - #endif +#endif return numberOfSubmeshes; } - private static void RenderSelfShadowOption(UnsafeCommandBuffer cmdBuffer, int layerToRender, Light2D light, List shadowCasters, Material projectedUnshadowMaterial, Material spriteShadowMaterial, Material spriteUnshadowMaterial, Material geometryShadowMaterial, Material geometryUnshadowMaterial) + private static void RenderSpriteShadow(UnsafeCommandBuffer cmdBuffer, int layerToRender, Light2D light, List shadowCasters, Material spriteShadowMaterial, Material spriteUnshadowMaterial, Material geometryShadowMaterial, Material geometryUnshadowMaterial, int pass, ShadowTestType shadowTestType) { - // Draw the sprites, either as self shadowing or unshadowing + //Draw the sprites, either as self shadowing or unshadowing for (var i = 0; i < shadowCasters.Count; i++) { ShadowCaster2D shadowCaster = shadowCasters[i]; - if (!shadowCaster.IsLit(light)) - continue; + if (ShadowTest(shadowTestType, shadowCaster)) + { + if (!shadowCaster.IsLit(light)) + continue; - Renderer renderer = GetRendererFromCaster(shadowCaster, light, layerToRender); + Renderer renderer = GetRendererFromCaster(shadowCaster, light, layerToRender); - cmdBuffer.SetGlobalFloat(k_ShadowAlphaCutoffID, shadowCaster.alphaCutoff); + cmdBuffer.SetGlobalFloat(k_ShadowAlphaCutoffID, shadowCaster.alphaCutoff); - if (renderer != null) - { - if (ShadowCasterIsVisible(shadowCaster) && shadowCaster.selfShadows) - { - int numberOfSubmeshes = GetRendererSubmeshes(renderer, shadowCaster); - for (int submeshIndex = 0; submeshIndex < numberOfSubmeshes; submeshIndex++) - cmdBuffer.DrawRenderer(renderer, spriteShadowMaterial, submeshIndex, 0); - } - else + if (renderer != null) { - int numberOfSubmeshes = GetRendererSubmeshes(renderer, shadowCaster); - for (int submeshIndex = 0; submeshIndex < numberOfSubmeshes; submeshIndex++) + if (ShadowCasterIsVisible(shadowCaster) && shadowCaster.selfShadows) { - cmdBuffer.DrawRenderer(renderer, spriteUnshadowMaterial, submeshIndex, 0); - + int numberOfSubmeshes = GetRendererSubmeshes(renderer, shadowCaster); + for (int submeshIndex = 0; submeshIndex < numberOfSubmeshes; submeshIndex++) + cmdBuffer.DrawRenderer(renderer, spriteShadowMaterial, submeshIndex, pass); } - } - } - else - { - if (shadowCaster.mesh != null) - { - if (ShadowCasterIsVisible(shadowCaster) && shadowCaster.selfShadows) - cmdBuffer.DrawMesh(shadowCaster.mesh, shadowCaster.transform.localToWorldMatrix, geometryShadowMaterial, 0, 0); else - cmdBuffer.DrawMesh(shadowCaster.mesh, shadowCaster.transform.localToWorldMatrix, geometryUnshadowMaterial, 0, 0); - } - } - } - - // Draw a masked projected shadow that is inside the sprite to remove the shadow (on different channel) - for (var i = 0; i < shadowCasters.Count; i++) - { - ShadowCaster2D shadowCaster = shadowCasters[i]; - if (ShadowCasterIsVisible(shadowCaster) && shadowCaster.IsLit(light) && shadowCaster.castingOption == ShadowCaster2D.ShadowCastingOptions.CastShadow && shadowCaster.mesh != null) - { - SetShadowProjectionGlobals(cmdBuffer, shadowCaster, light); - cmdBuffer.DrawMesh(shadowCaster.mesh, shadowCaster.transform.localToWorldMatrix, projectedUnshadowMaterial, 0, 1); - } - } - - // Fix up shadow removal with transparency - for (var i = 0; i < shadowCasters.Count; i++) - { - ShadowCaster2D shadowCaster = shadowCasters[i]; - if (ShadowCasterIsVisible(shadowCaster) && !shadowCaster.selfShadows && shadowCaster.IsLit(light)) - { - Renderer renderer = GetRendererFromCaster(shadowCaster, light, layerToRender); - if (renderer != null) - { - int numberOfSubmeshes = GetRendererSubmeshes(renderer, shadowCaster); - for (int submeshIndex = 0; submeshIndex < numberOfSubmeshes; submeshIndex++) { - cmdBuffer.DrawRenderer(renderer, spriteUnshadowMaterial, submeshIndex, 1); + int numberOfSubmeshes = GetRendererSubmeshes(renderer, shadowCaster); + for (int submeshIndex = 0; submeshIndex < numberOfSubmeshes; submeshIndex++) + { + cmdBuffer.DrawRenderer(renderer, spriteUnshadowMaterial, submeshIndex, pass); + + } } } else { - if(shadowCaster.mesh != null) - cmdBuffer.DrawMesh(shadowCaster.mesh, shadowCaster.transform.localToWorldMatrix, geometryUnshadowMaterial, 0, 1); + if (shadowCaster.mesh != null) + { + if (ShadowCasterIsVisible(shadowCaster) && shadowCaster.selfShadows) + cmdBuffer.DrawMesh(shadowCaster.mesh, shadowCaster.transform.localToWorldMatrix, geometryShadowMaterial, 0, pass); + else + cmdBuffer.DrawMesh(shadowCaster.mesh, shadowCaster.transform.localToWorldMatrix, geometryUnshadowMaterial, 0, pass); + } } } } } + internal static bool ShadowTest(ShadowTestType shadowTestType, ShadowCaster2D shadowCaster) + { + // This is just being done because using delegates are creating garbage and my tests are failing + if(shadowTestType == ShadowTestType.Always) + return true; + else if(shadowTestType == ShadowTestType.Unshadow) + return !shadowCaster.selfShadows; + + return false; + } + + private static void RenderShadows(UnsafeCommandBuffer cmdBuffer, Renderer2DData rendererData, ref LayerBatch layer, Light2D light) { using (new ProfilingScope(cmdBuffer, m_ProfilingSamplerShadows)) @@ -510,15 +497,19 @@ private static void RenderShadows(UnsafeCommandBuffer cmdBuffer, Renderer2DData var geometryShadowMaterial = rendererData.GetGeometryShadowMaterial(); var geometryUnshadowMaterial = rendererData.GetGeometryUnshadowMaterial(); + for (var group = 0; group < layer.shadowCasters.Count; group++) { var shadowCasters = layer.shadowCasters[group].GetShadowCasters(); - // Draw the projected shadows for the shadow caster group. Only writes the composite stencil bit - RenderProjectedShadows(cmdBuffer, layer.startLayerID, light, shadowCasters, projectedShadowMaterial, 0); - // Render self shadowing or non self shadowing - RenderSelfShadowOption(cmdBuffer, layer.startLayerID, light, shadowCasters, projectedUnshadowMaterial, spriteShadowMaterial, spriteUnshadowMaterial, geometryShadowMaterial, geometryUnshadowMaterial); + RenderSpriteShadow(cmdBuffer, layer.startLayerID, light, shadowCasters, spriteShadowMaterial, spriteUnshadowMaterial, geometryShadowMaterial, geometryUnshadowMaterial, 0, ShadowTestType.Always); + // Draw the projected shadows for the shadow caster group. Only writes the composite stencil bit + RenderProjectedShadows(cmdBuffer, layer.startLayerID, light, shadowCasters, projectedShadowMaterial, 0, ShadowTestType.Always); + // Draw the projected shadows for the shadow caster group. Only writes the composite stencil bit + RenderProjectedShadows(cmdBuffer, layer.startLayerID, light, shadowCasters, projectedShadowMaterial, 1, ShadowTestType.Unshadow); + //Render self shadowing or non self shadowing + RenderSpriteShadow(cmdBuffer, layer.startLayerID, light, shadowCasters, spriteShadowMaterial, spriteUnshadowMaterial, geometryShadowMaterial, geometryUnshadowMaterial, 1, ShadowTestType.Unshadow); } } } diff --git a/Packages/com.unity.render-pipelines.universal/Runtime/Passes/AdditionalLightsShadowCasterPass.cs b/Packages/com.unity.render-pipelines.universal/Runtime/Passes/AdditionalLightsShadowCasterPass.cs index 52c6d560c72..4314d3941cf 100644 --- a/Packages/com.unity.render-pipelines.universal/Runtime/Passes/AdditionalLightsShadowCasterPass.cs +++ b/Packages/com.unity.render-pipelines.universal/Runtime/Passes/AdditionalLightsShadowCasterPass.cs @@ -56,6 +56,7 @@ public partial class AdditionalLightsShadowCasterPass : ScriptableRenderPass private static readonly Vector4 c_DefaultShadowParams = new (0, 0, 0, -1); private static Vector4 s_EmptyAdditionalShadowFadeParams; private static Vector4[] s_EmptyAdditionalLightIndexToShadowParams; + private static bool isAdditionalShadowParamsDirty; // Classes private static class AdditionalShadowsConstantBuffer @@ -691,6 +692,16 @@ bool SetupForEmptyRendering(bool stripShadowsOffVariants, bool shadowsEnabled, U m_VisibleLightIndexToAdditionalLightIndex = new short[visibleLights.Length]; m_VisibleLightIndexToIsCastingShadows = new bool[visibleLights.Length]; s_EmptyAdditionalLightIndexToShadowParams = new Vector4[visibleLights.Length]; + isAdditionalShadowParamsDirty = true; + } + + // Temporarily we are avoiding SetGlobalVectorArray array for _AdditionalShadowParams if we exceeds maximum additional lights (UUM-102023). + if (isAdditionalShadowParamsDirty) + { + isAdditionalShadowParamsDirty = false; + Debug.LogWarning($"The number of visible additional lights {visibleLights.Length} exceeds the maximum supported lights {UniversalRenderPipeline.maxVisibleAdditionalLights}." + + $" Please refer URP documentation to change maximum number of visible lights or" + + $" reduce the number of lights to maximum allowed additional lights."); } // Initialize _AdditionalShadowParams @@ -823,7 +834,7 @@ internal static void SetShadowParamsForEmptyShadowmap(RasterCommandBuffer raster shadowParamsBuffer.SetData(s_EmptyAdditionalLightIndexToShadowParams); rasterCommandBuffer.SetGlobalBuffer(AdditionalShadowsConstantBuffer._AdditionalShadowParams_SSBO, shadowParamsBuffer); } - else + else if (s_EmptyAdditionalLightIndexToShadowParams.Length <= UniversalRenderPipeline.maxVisibleAdditionalLights) { rasterCommandBuffer.SetGlobalVectorArray(AdditionalShadowsConstantBuffer._AdditionalShadowParams, s_EmptyAdditionalLightIndexToShadowParams); } diff --git a/Packages/com.unity.render-pipelines.universal/Runtime/RendererFeatures/FullScreenPassRendererFeature.cs b/Packages/com.unity.render-pipelines.universal/Runtime/RendererFeatures/FullScreenPassRendererFeature.cs index f54a6a7032d..acf771a9f0f 100644 --- a/Packages/com.unity.render-pipelines.universal/Runtime/RendererFeatures/FullScreenPassRendererFeature.cs +++ b/Packages/com.unity.render-pipelines.universal/Runtime/RendererFeatures/FullScreenPassRendererFeature.cs @@ -262,7 +262,7 @@ public override void RecordRenderGraph(RenderGraph renderGraph, ContextContainer bool needsMotion = (input & ScriptableRenderPassInput.Motion) != ScriptableRenderPassInput.None; bool needsNormal = (input & ScriptableRenderPassInput.Normal) != ScriptableRenderPassInput.None; - if (needsColor) + if (needsColor && cameraData.renderer.SupportsCameraOpaque()) { Debug.Assert(resourcesData.cameraOpaqueTexture.IsValid()); builder.UseTexture(resourcesData.cameraOpaqueTexture); @@ -276,13 +276,18 @@ public override void RecordRenderGraph(RenderGraph renderGraph, ContextContainer if (needsMotion) { - Debug.Assert(resourcesData.motionVectorColor.IsValid()); - builder.UseTexture(resourcesData.motionVectorColor); - Debug.Assert(resourcesData.motionVectorDepth.IsValid()); - builder.UseTexture(resourcesData.motionVectorDepth); + Debug.Assert(cameraData.renderer.SupportsMotionVectors(), "Current renderer does not support motion vectors."); + + if (cameraData.renderer.SupportsMotionVectors()) + { + Debug.Assert(resourcesData.motionVectorColor.IsValid()); + builder.UseTexture(resourcesData.motionVectorColor); + Debug.Assert(resourcesData.motionVectorDepth.IsValid()); + builder.UseTexture(resourcesData.motionVectorDepth); + } } - if (needsNormal) + if (needsNormal && cameraData.renderer.SupportsCameraNormals()) { Debug.Assert(resourcesData.cameraNormalsTexture.IsValid()); builder.UseTexture(resourcesData.cameraNormalsTexture); diff --git a/Packages/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs b/Packages/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs index 90964514873..08370b58399 100644 --- a/Packages/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs +++ b/Packages/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs @@ -109,6 +109,24 @@ protected internal virtual bool SupportsMotionVectors() return false; } + /// + /// Check if the ScriptableRenderer implements a camera opaque pass. + /// + /// Returns true if the ScriptableRenderer implements a camera opaque pass. False otherwise. + protected internal virtual bool SupportsCameraOpaque() + { + return false; + } + + /// + /// Check if the ScriptableRenderer implements a camera normal pass. + /// + /// Returns true if the ScriptableRenderer implements a camera normal pass. False otherwise. + protected internal virtual bool SupportsCameraNormals() + { + return false; + } + /// /// Override to provide a custom profiling name /// diff --git a/Packages/com.unity.render-pipelines.universal/Runtime/UniversalRenderer.cs b/Packages/com.unity.render-pipelines.universal/Runtime/UniversalRenderer.cs index 5f34559b5e0..95199b70c4a 100644 --- a/Packages/com.unity.render-pipelines.universal/Runtime/UniversalRenderer.cs +++ b/Packages/com.unity.render-pipelines.universal/Runtime/UniversalRenderer.cs @@ -78,6 +78,18 @@ protected internal override bool SupportsMotionVectors() return true; } + /// + protected internal override bool SupportsCameraOpaque() + { + return true; + } + + /// + protected internal override bool SupportsCameraNormals() + { + return true; + } + // Rendering mode setup from UI. The final rendering mode used can be different. See renderingModeActual. internal RenderingMode renderingModeRequested => m_RenderingMode; diff --git a/Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl b/Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl index 7690e408d9d..a5b9c495baf 100644 --- a/Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl +++ b/Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl @@ -398,8 +398,8 @@ half AdditionalLightRealtimeShadow(int lightIndex, float3 positionWS, half3 ligh if (isPointLight) { // This is a point light, we have to find out which shadow slice to sample from - float cubemapFaceId = CubeMapFaceID(-lightDirection); - shadowSliceIndex += cubemapFaceId; + const int cubeFaceOffset = CubeMapFaceID(-lightDirection); + shadowSliceIndex += cubeFaceOffset; } #if USE_STRUCTURED_BUFFER_FOR_LIGHT_DATA diff --git a/Packages/com.unity.render-pipelines.universal/ShaderLibrary/UniversalDOTSInstancing.hlsl b/Packages/com.unity.render-pipelines.universal/ShaderLibrary/UniversalDOTSInstancing.hlsl index 52453b20355..a93b23500c0 100644 --- a/Packages/com.unity.render-pipelines.universal/ShaderLibrary/UniversalDOTSInstancing.hlsl +++ b/Packages/com.unity.render-pipelines.universal/ShaderLibrary/UniversalDOTSInstancing.hlsl @@ -38,6 +38,8 @@ UNITY_DOTS_INSTANCING_END(BuiltinPropertyMetadata) #define unity_WorldTransformParams LoadDOTSInstancedData_WorldTransformParams() #define unity_RenderingLayer LoadDOTSInstancedData_RenderingLayer() #define unity_MotionVectorsParams LoadDOTSInstancedData_MotionVectorsParams() +#define unity_RendererBounds_Min LoadDOTSInstancedData_RendererBounds_Min() +#define unity_RendererBounds_Max LoadDOTSInstancedData_RendererBounds_Max() #define UNITY_SETUP_DOTS_SH_COEFFS SetupDOTSSHCoeffs(UNITY_DOTS_INSTANCED_METADATA_NAME(SH, unity_SHCoefficients)) #define UNITY_SETUP_DOTS_RENDER_BOUNDS SetupDOTSRendererBounds(UNITY_DOTS_MATRIX_M) @@ -55,9 +57,6 @@ static const float4 unity_SpecCube1_BoxMin = float4(0,0,0,0); static const float4 unity_SpecCube1_ProbePosition = float4(0,0,0,0); static const float4 unity_SpecCube1_HDR = float4(0,0,0,0); -static const float4 unity_RendererBounds_Min = float4(0,0,0,0); -static const float4 unity_RendererBounds_Max = float4(0,0,0,0); - // Set up by BRG picking/selection code int unity_SubmeshIndex; #define unity_SelectionID UNITY_ACCESS_DOTS_INSTANCED_SELECTION_VALUE(unity_EntityId, unity_SubmeshIndex, _SelectionID) diff --git a/Packages/com.unity.render-pipelines.universal/Shaders/2D/Include/LightingUtility.hlsl b/Packages/com.unity.render-pipelines.universal/Shaders/2D/Include/LightingUtility.hlsl index 3702c970110..c8d1a76dd51 100644 --- a/Packages/com.unity.render-pipelines.universal/Shaders/2D/Include/LightingUtility.hlsl +++ b/Packages/com.unity.render-pipelines.universal/Shaders/2D/Include/LightingUtility.hlsl @@ -59,12 +59,7 @@ if(intensity < 1)\ {\ half4 shadowTex = SAMPLE_TEXTURE2D(_ShadowTex, sampler_ShadowTex, input.shadowUV); \ - half shadowFinalValue = dot(half4(1,0,0,0), shadowTex.rgba);\ - half unshadowValue = dot(half4(0,1,0,0), shadowTex.rgba);\ - half unshadowGTEOne = unshadowValue > 1;\ - half spriteAlpha = dot(half4(0,0,1,0), shadowTex.rgba);\ - half unshadowFinalValue = unshadowGTEOne * (unshadowValue - (1-spriteAlpha)) + (1-unshadowGTEOne) * (unshadowValue * spriteAlpha);\ - half shadowIntensity = 1-saturate(shadowFinalValue - unshadowFinalValue); \ + half4 shadowIntensity = 1-max(shadowTex.r, shadowTex.g * 1-shadowTex.b);\ color.rgb = (color.rgb * shadowIntensity) + (color.rgb * intensity*(1 - shadowIntensity));\ } diff --git a/Packages/com.unity.render-pipelines.universal/Shaders/2D/Include/NormalsRenderingShared.hlsl b/Packages/com.unity.render-pipelines.universal/Shaders/2D/Include/NormalsRenderingShared.hlsl index 0b40b9c1129..a2c951b3d7b 100644 --- a/Packages/com.unity.render-pipelines.universal/Shaders/2D/Include/NormalsRenderingShared.hlsl +++ b/Packages/com.unity.render-pipelines.universal/Shaders/2D/Include/NormalsRenderingShared.hlsl @@ -3,9 +3,11 @@ half4 NormalsRenderingShared(half4 color, half3 normalTS, half3 tangent, half3 bitangent, half3 normal) { - half4 normalColor; + // Account for sprite flip + normalTS.xy *= unity_SpriteProps.xy; half3 normalWS = TransformTangentToWorld(normalTS, half3x3(tangent.xyz, bitangent.xyz, normal.xyz)); + half4 normalColor; normalColor.rgb = 0.5 * ((normalWS)+1); normalColor.a = color.a; // used for blending diff --git a/Packages/com.unity.render-pipelines.universal/Shaders/2D/Shadow2D-Projected.shader b/Packages/com.unity.render-pipelines.universal/Shaders/2D/Shadow2D-Projected.shader index a1fb28b109a..666cae6a45a 100644 --- a/Packages/com.unity.render-pipelines.universal/Shaders/2D/Shadow2D-Projected.shader +++ b/Packages/com.unity.render-pipelines.universal/Shaders/2D/Shadow2D-Projected.shader @@ -10,11 +10,18 @@ Shader "Hidden/ShadowProjected2D" Tags { "RenderType"="Transparent" } Cull Off - BlendOp Add + BlendOp Max Blend One One, One One ZWrite Off ZTest Always + Stencil + { + Ref 1 + Comp NotEqual + Pass Keep + } + // This pass draws the projected shadows Pass { @@ -65,7 +72,7 @@ Shader "Hidden/ShadowProjected2D" } - Name "Projected Unshadow (R) - Stencil: Ref 1, Comp Eq, Pass Keep" + Name "Projected Unshadow (G) - Stencil: Ref 1, Comp Eq, Pass Keep" // Draw the shadow ColorMask G diff --git a/Packages/com.unity.render-pipelines.universal/Shaders/2D/Shadow2D-Shadow-Geometry.shader b/Packages/com.unity.render-pipelines.universal/Shaders/2D/Shadow2D-Shadow-Geometry.shader index ec55d6f041d..5d1adab8130 100644 --- a/Packages/com.unity.render-pipelines.universal/Shaders/2D/Shadow2D-Shadow-Geometry.shader +++ b/Packages/com.unity.render-pipelines.universal/Shaders/2D/Shadow2D-Shadow-Geometry.shader @@ -9,7 +9,7 @@ Shader "Hidden/Shadow2DShadowGeometry" Tags { "RenderType"="Opaque" } Cull Off - BlendOp Add + BlendOp Max Blend One One ZWrite Off ZTest Always diff --git a/Packages/com.unity.render-pipelines.universal/Shaders/2D/Shadow2D-Shadow-Sprite.shader b/Packages/com.unity.render-pipelines.universal/Shaders/2D/Shadow2D-Shadow-Sprite.shader index 1fed62c1372..437d29896f5 100644 --- a/Packages/com.unity.render-pipelines.universal/Shaders/2D/Shadow2D-Shadow-Sprite.shader +++ b/Packages/com.unity.render-pipelines.universal/Shaders/2D/Shadow2D-Shadow-Sprite.shader @@ -11,7 +11,7 @@ Shader "Hidden/Shadow2DShadowSprite" Tags { "RenderType"="Opaque" } Cull Off - BlendOp Add + BlendOp Max Blend One One ZWrite Off ZTest Always diff --git a/Packages/com.unity.render-pipelines.universal/Shaders/2D/Shadow2D-Unshadow-Sprite.shader b/Packages/com.unity.render-pipelines.universal/Shaders/2D/Shadow2D-Unshadow-Sprite.shader index 6bf23672cd5..5cbdeb887f6 100644 --- a/Packages/com.unity.render-pipelines.universal/Shaders/2D/Shadow2D-Unshadow-Sprite.shader +++ b/Packages/com.unity.render-pipelines.universal/Shaders/2D/Shadow2D-Unshadow-Sprite.shader @@ -25,9 +25,9 @@ Shader "Hidden/Shadow2DUnshadowSprite" ZWrite Off ZTest Always - ColorMask GB // Clear the unshadow color (G), and set the sprite alpha (B) + ColorMask B - Name "Sprite Unshadow (GB) - Stencil: Ref 1, Comp Always, Pass Replace" + Name "Sprite Unshadow (B) - Stencil: Ref 1, Comp Always, Pass Replace" HLSLPROGRAM #pragma vertex vert @@ -70,7 +70,7 @@ Shader "Hidden/Shadow2DUnshadowSprite" if (main.a <= _ShadowAlphaCutoff) discard; - return half4(0, 0, 0, 0); + return half4(0, 0, main.a, 0); } ENDHLSL } @@ -90,7 +90,7 @@ Shader "Hidden/Shadow2DUnshadowSprite" ZWrite Off ZTest Always - ColorMask B + ColorMask 0 Name "Sprite Unshadow (B) - Stencil: Ref 0, Comp Always, Pass Replace" @@ -135,7 +135,7 @@ Shader "Hidden/Shadow2DUnshadowSprite" if (main.a <= _ShadowAlphaCutoff) discard; - return half4(1,1,main.a,1); + return half4(1, 1, 1, 1); } ENDHLSL } diff --git a/Packages/com.unity.shadergraph/Documentation~/Float.md b/Packages/com.unity.shadergraph/Documentation~/Float-Node.md similarity index 100% rename from Packages/com.unity.shadergraph/Documentation~/Float.md rename to Packages/com.unity.shadergraph/Documentation~/Float-Node.md diff --git a/Packages/com.unity.shadergraph/Documentation~/api_index.md b/Packages/com.unity.shadergraph/Documentation~/api_index.md new file mode 100644 index 00000000000..4d19840f297 --- /dev/null +++ b/Packages/com.unity.shadergraph/Documentation~/api_index.md @@ -0,0 +1,7 @@ +--- +uid: shadergraph-api-index +--- + +# Shader Graph scripting API + +This is the documentation for the scripting APIs of the Shader Graph package. diff --git a/Packages/com.unity.shadergraph/Editor/Data/Graphs/ShaderKeyword.cs b/Packages/com.unity.shadergraph/Editor/Data/Graphs/ShaderKeyword.cs index 667d28a0966..dc01bc5d8ff 100644 --- a/Packages/com.unity.shadergraph/Editor/Data/Graphs/ShaderKeyword.cs +++ b/Packages/com.unity.shadergraph/Editor/Data/Graphs/ShaderKeyword.cs @@ -10,7 +10,7 @@ namespace UnityEditor.ShaderGraph [Serializable] class ShaderKeyword : ShaderInput { - public const string kVariantLimitWarning = "Graph is generating too many variants. Either delete Keywords, reduce Keyword variants or increase the Shader Variant Limit in Preferences > Shader Graph."; + public const string kVariantLimitWarning = "Graph is generating too many variants. Either delete Keywords, reduce Keyword variants or increase the Shader Variant Limit in Preferences > Shader Graph or Project Settings > Shader Graph."; public ShaderKeyword() { diff --git a/Packages/com.unity.shadergraph/Editor/Data/Nodes/Utility/SubGraphNode.cs b/Packages/com.unity.shadergraph/Editor/Data/Nodes/Utility/SubGraphNode.cs index 81d248c335a..3c4a3ba3ca8 100644 --- a/Packages/com.unity.shadergraph/Editor/Data/Nodes/Utility/SubGraphNode.cs +++ b/Packages/com.unity.shadergraph/Editor/Data/Nodes/Utility/SubGraphNode.cs @@ -4,6 +4,7 @@ using UnityEngine; using UnityEditor.Graphing; using UnityEditor.ShaderGraph.Internal; +using UnityEngine.Rendering.ShaderGraph; namespace UnityEditor.ShaderGraph { @@ -104,6 +105,15 @@ public override string ToString() [SerializeField] List m_DropdownSelectedEntries = new List(); + public override string documentationURL { + get { + // TODO: There should be a way for unity authored and distributed subgraphs to provide custom doc links. + if (name.Contains("SpeedTree8")) + return Documentation.GetPageLink("SpeedTree8-SubGraphAssets"); + else return Documentation.GetPageLink("Sub-graph"); + } + } + public string subGraphGuid { get diff --git a/Packages/com.unity.shadergraph/Editor/Drawing/Inspector/ShaderGraphHeatmapValuesEditor.cs b/Packages/com.unity.shadergraph/Editor/Drawing/Inspector/ShaderGraphHeatmapValuesEditor.cs index 10660cbb2ed..10b5cf2b4cd 100644 --- a/Packages/com.unity.shadergraph/Editor/Drawing/Inspector/ShaderGraphHeatmapValuesEditor.cs +++ b/Packages/com.unity.shadergraph/Editor/Drawing/Inspector/ShaderGraphHeatmapValuesEditor.cs @@ -4,11 +4,13 @@ using UnityEditor.ShaderGraph.Drawing.Colors; using UnityEditor.UIElements; using UnityEngine; +using UnityEngine.Rendering; using UnityEngine.UIElements; namespace UnityEditor.ShaderGraph { [CustomEditor(typeof(ShaderGraphHeatmapValues))] + [CoreRPHelpURL("index", "com.unity.shadergraph")] class ShaderGraphHeatmapValuesEditor : Editor { const string k_TemplatePath = "Packages/com.unity.shadergraph/Editor/Resources/UXML/HeatmapValuesEditor.uxml"; diff --git a/Packages/com.unity.shadergraph/Editor/Drawing/Views/GraphEditorView.cs b/Packages/com.unity.shadergraph/Editor/Drawing/Views/GraphEditorView.cs index c06b6632f43..621923b2142 100644 --- a/Packages/com.unity.shadergraph/Editor/Drawing/Views/GraphEditorView.cs +++ b/Packages/com.unity.shadergraph/Editor/Drawing/Views/GraphEditorView.cs @@ -268,6 +268,7 @@ public GraphEditorView(EditorWindow editorWindow, GraphData graph, MessageManage { UserViewSettingsChangeCheck(newColorIndex); } + GUILayout.Space(6); GUILayout.EndHorizontal(); }); Add(toolbar); diff --git a/Packages/com.unity.shadergraph/Editor/Drawing/Views/HlslFunctionView.cs b/Packages/com.unity.shadergraph/Editor/Drawing/Views/HlslFunctionView.cs index 0455383fc5f..91bc723ad7f 100644 --- a/Packages/com.unity.shadergraph/Editor/Drawing/Views/HlslFunctionView.cs +++ b/Packages/com.unity.shadergraph/Editor/Drawing/Views/HlslFunctionView.cs @@ -4,6 +4,7 @@ using UnityEngine.UIElements; using UnityEditor.UIElements; using UnityEditor.Graphing; +using UnityEditor.ShaderGraph.Drawing.Inspector; namespace UnityEditor.ShaderGraph.Drawing { @@ -63,6 +64,7 @@ private void Draw(CustomFunctionNode node) node.functionName = m_FunctionName.value; node.ValidateNode(); node.Dirty(ModificationScope.Graph); + this.GetFirstAncestorOfType()?.RefreshInspectables(); } }); diff --git a/Packages/com.unity.shadergraph/Editor/Drawing/Views/MaterialNodeView.cs b/Packages/com.unity.shadergraph/Editor/Drawing/Views/MaterialNodeView.cs index ca91cb6f2d3..69d5eb788a5 100644 --- a/Packages/com.unity.shadergraph/Editor/Drawing/Views/MaterialNodeView.cs +++ b/Packages/com.unity.shadergraph/Editor/Drawing/Views/MaterialNodeView.cs @@ -26,6 +26,7 @@ sealed class MaterialNodeView : Node, IShaderNodeView, IInspectable VisualElement m_PreviewContainer; VisualElement m_PreviewFiller; + VisualElement m_PreviewExpand; VisualElement m_ControlItems; VisualElement m_ControlsDivider; VisualElement m_DropdownItems; @@ -90,7 +91,7 @@ public void Initialize(AbstractMaterialNode inNode, PreviewManager previewManage contents.Add(dropdownContainer); } - if (node.hasPreview) + if (node.hasPreview && IsPreviewable(node)) { // Add actual preview which floats on top of the node m_PreviewContainer = new VisualElement @@ -130,17 +131,17 @@ public void Initialize(AbstractMaterialNode inNode, PreviewManager previewManage previewDivider.AddToClassList("horizontal"); m_PreviewFiller.Add(previewDivider); - var expandPreviewButton = new VisualElement { name = "expand" }; - expandPreviewButton.Add(new VisualElement { name = "icon" }); - expandPreviewButton.AddManipulator(new Clickable(() => + m_PreviewExpand = new VisualElement { name = "expand" }; + m_PreviewExpand.Add(new VisualElement { name = "icon" }); + m_PreviewExpand.AddManipulator(new Clickable(() => { SetPreviewExpandedStateOnSelection(true); })); - m_PreviewFiller.Add(expandPreviewButton); + m_PreviewFiller.Add(m_PreviewExpand); } contents.Add(m_PreviewFiller); - UpdatePreviewExpandedState(node.previewExpanded); + UpdatePreviewExpandedState(IsPreviewable(node) ? node.previewExpanded : false); } base.expanded = node.drawState.expanded; @@ -481,9 +482,32 @@ public bool CanToggleNodeExpanded() return !(node is BlockNode) && m_CollapseButton.enabledInHierarchy; } + static bool IsPreviewable(AbstractMaterialNode node) + { + // only the first output slot is considered. + foreach (var slot in node.GetOutputSlots()) + { + switch (slot.concreteValueType) + { + case ConcreteSlotValueType.Vector4: + case ConcreteSlotValueType.Vector3: + case ConcreteSlotValueType.Vector2: + case ConcreteSlotValueType.Vector1: + return true; + } + return false; + } + return false; + } + void UpdatePreviewExpandedState(bool expanded) { - node.previewExpanded = expanded; + var previewable = IsPreviewable(node); + + if (m_PreviewExpand != null) + m_PreviewExpand.visible = previewable; + + node.previewExpanded = expanded && previewable; if (m_PreviewFiller == null) return; if (expanded) @@ -568,7 +592,7 @@ public void OnModified(ModificationScope scope) UpdateTitle(); SetActive(node.isActive); if (node.hasPreview) - UpdatePreviewExpandedState(node.previewExpanded); + UpdatePreviewExpandedState(IsPreviewable(node) ? node.previewExpanded : false); base.expanded = node.drawState.expanded; diff --git a/Packages/com.unity.shadergraph/Editor/Generation/Targets/BuiltIn/ShaderLibrary/Shadows.hlsl b/Packages/com.unity.shadergraph/Editor/Generation/Targets/BuiltIn/ShaderLibrary/Shadows.hlsl index 14a5d1678d6..6e59ab21bd4 100644 --- a/Packages/com.unity.shadergraph/Editor/Generation/Targets/BuiltIn/ShaderLibrary/Shadows.hlsl +++ b/Packages/com.unity.shadergraph/Editor/Generation/Targets/BuiltIn/ShaderLibrary/Shadows.hlsl @@ -326,8 +326,8 @@ half AdditionalLightRealtimeShadow(int lightIndex, float3 positionWS, half3 ligh if (isPointLight) { // This is a point light, we have to find out which shadow slice to sample from - float cubemapFaceId = CubeMapFaceID(-lightDirection); - shadowSliceIndex += cubemapFaceId; + const int cubeFaceOffset = CubeMapFaceID(-lightDirection); + shadowSliceIndex += cubeFaceOffset; } #if USE_STRUCTURED_BUFFER_FOR_LIGHT_DATA diff --git a/Packages/com.unity.shadergraph/Editor/Importers/ShaderGraphImporter.cs b/Packages/com.unity.shadergraph/Editor/Importers/ShaderGraphImporter.cs index 902978d272e..0575bc7efd8 100644 --- a/Packages/com.unity.shadergraph/Editor/Importers/ShaderGraphImporter.cs +++ b/Packages/com.unity.shadergraph/Editor/Importers/ShaderGraphImporter.cs @@ -11,11 +11,14 @@ using UnityEditor.ShaderGraph.Internal; using UnityEditor.ShaderGraph.Serialization; using Object = System.Object; +using UnityEngine.Rendering.ShaderGraph; +using UnityEngine.Rendering; namespace UnityEditor.ShaderGraph { [ExcludeFromPreset] [ScriptedImporter(132, Extension, -902)] + [CoreRPHelpURL("Shader-Graph-Asset", "com.unity.shadergraph")] class ShaderGraphImporter : ScriptedImporter { public const string Extension = "shadergraph"; diff --git a/Packages/com.unity.shadergraph/Editor/Importers/ShaderSubGraphImporter.cs b/Packages/com.unity.shadergraph/Editor/Importers/ShaderSubGraphImporter.cs index edfe59510c2..bf8fcabe356 100644 --- a/Packages/com.unity.shadergraph/Editor/Importers/ShaderSubGraphImporter.cs +++ b/Packages/com.unity.shadergraph/Editor/Importers/ShaderSubGraphImporter.cs @@ -15,11 +15,13 @@ using UnityEditor.ShaderGraph.Internal; using UnityEditor.ShaderGraph.Serialization; using UnityEngine.Pool; +using UnityEngine.Rendering; namespace UnityEditor.ShaderGraph { [ExcludeFromPreset] [ScriptedImporter(30, Extension, -905)] + [CoreRPHelpURL("Sub-graph", "com.unity.shadergraph")] class ShaderSubGraphImporter : ScriptedImporter { public const string Extension = "shadersubgraph"; @@ -424,7 +426,7 @@ static void GatherDescendentsFromGraph(GUID rootAssetGuid, out bool containsCirc { var dependencyMap = new Dictionary(); AssetCollection tempAssetCollection = new AssetCollection(); - using (ListPool.Get(out var tempList)) + using (UnityEngine.Pool.ListPool.Get(out var tempList)) { GatherDependencyMap(rootAssetGuid, dependencyMap, tempAssetCollection); containsCircularDependency = ContainsCircularDependency(rootAssetGuid, dependencyMap, tempList); diff --git a/Packages/com.unity.shadergraph/Editor/Resources/Styles/PropertyRow.uss b/Packages/com.unity.shadergraph/Editor/Resources/Styles/PropertyRow.uss index 29bae6865ef..894067806d5 100644 --- a/Packages/com.unity.shadergraph/Editor/Resources/Styles/PropertyRow.uss +++ b/Packages/com.unity.shadergraph/Editor/Resources/Styles/PropertyRow.uss @@ -42,12 +42,12 @@ PropertyRow > #container > #label > Label.modified { -unity-font-style: bold; } -PropertyRow > #container > #content{ +PropertyRow > #container > #content { flex-grow: 10; flex-basis: 0; height: auto; -unity-font-style: bold; - min-width: 64px; + min-width: 36px; width: 100px; justify-content: center; } diff --git a/Packages/com.unity.shadergraph/Editor/Resources/Styles/PropertySheet.uss b/Packages/com.unity.shadergraph/Editor/Resources/Styles/PropertySheet.uss index b6ef14c8ffa..c87156567d8 100644 --- a/Packages/com.unity.shadergraph/Editor/Resources/Styles/PropertySheet.uss +++ b/Packages/com.unity.shadergraph/Editor/Resources/Styles/PropertySheet.uss @@ -33,6 +33,7 @@ PropertySheet > #content > #header > Label{ font-size: 15px; color: #a4a4a4; -unity-font-style: bold; + white-space: normal; } PropertySheet > #content > #foldout { diff --git a/Packages/com.unity.shadergraph/Editor/ShaderGraphPreferences.cs b/Packages/com.unity.shadergraph/Editor/ShaderGraphPreferences.cs index c000726cbe9..cc6c6d022aa 100644 --- a/Packages/com.unity.shadergraph/Editor/ShaderGraphPreferences.cs +++ b/Packages/com.unity.shadergraph/Editor/ShaderGraphPreferences.cs @@ -3,6 +3,26 @@ namespace UnityEditor.ShaderGraph { + internal class LabelWidthScope : GUI.Scope + { + float m_previewLabelWidth; + internal LabelWidthScope(int labelPadding = 10, int labelWidth = 251) + { + m_previewLabelWidth = EditorGUIUtility.labelWidth; + EditorGUIUtility.labelWidth = labelWidth; + GUILayout.BeginHorizontal(); + GUILayout.Space(labelPadding); + GUILayout.BeginVertical(); + } + + protected override void CloseScope() + { + GUILayout.EndVertical(); + GUILayout.EndHorizontal(); + EditorGUIUtility.labelWidth = m_previewLabelWidth; + } + } + static class ShaderGraphPreferences { static class Keys @@ -87,9 +107,7 @@ static void OpenGUI() if (!m_Loaded) Load(); - EditorGUI.BeginChangeCheck(); - - using (new SettingsWindow.GUIScope()) + using (var scope = new LabelWidthScope(10, 300)) { var actualLimit = ShaderGraphProjectSettings.instance.shaderVariantLimit; var willPreviewVariantBeIgnored = ShaderGraphPreferences.previewVariantLimit > actualLimit; @@ -98,6 +116,7 @@ static void OpenGUI() ? new GUIContent("Preview Variant Limit", EditorGUIUtility.IconContent("console.infoicon").image, $"The Preview Variant Limit is higher than the Shader Variant Limit in Project Settings: {actualLimit}. The Preview Variant Limit will be ignored.") : new GUIContent("Preview Variant Limit"); + EditorGUI.BeginChangeCheck(); var variantLimitValue = EditorGUILayout.DelayedIntField(variantLimitLabel, previewVariantLimit); variantLimitValue = Mathf.Max(0, variantLimitValue); if (EditorGUI.EndChangeCheck()) @@ -126,7 +145,6 @@ static void OpenGUI() zoomStepSize = zoomStepSizeValue; } } - } static void Load() diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Block-Trigger-Event.md b/Packages/com.unity.visualeffectgraph/Documentation~/Block-Trigger-Event.md new file mode 100644 index 00000000000..f4c643dab51 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Block-Trigger-Event.md @@ -0,0 +1,39 @@ +# Trigger Event Block reference + +The Trigger Event Block spawns particles using a [GPU Event](Context-GPUEvent.md). + +## Block compatibility + +You can add the Trigger Event Block to the following Contexts: + +- [Initialize](Context-Initialize.md) +- [Update](Context-Update.md) + +To add a Trigger Event Block to your graph, [open the menu for adding a graph element](VisualEffectGraphWindow.md#adding-graph-elements) then select **GPUEvent** > **Trigger Event**. + +Trigger Blocks always execute at the end of the Update Context, regardless of where you place the Block. + +## Block settings + +| **Property** | **Type** | **Description** | +|-|-|-| +| **Mode** | Enum | The options are:
    • Always: Spawns particles each frame.
    • Over Time: Spawns particles at a specified rate per second.
    • Over Distance: Spawns a set number of particles over the distance a parent particle moves.
    • On Die: Spawns particles when a parent particle dies.
    • On Collide: Spawns particles when a particle collides with another particle.
    | + +## Block properties + +| **Input** | **Type** | **Description** | +|-|-|-| +| **Count** | Uint | Sets the number of particles to spawn. This property is available only if you set **Mode** to **Always**, **On Die**, or **On Collide**. | +| **Rate** | Float | Sets the rate at which to spawn particles. This property is available only if you set **Mode** to **Over Time** or **Over Distance**. If you set **Mode** to **Over Time**, **Rate** sets the number of particles to spawn per second. If you set **Mode** to **Over Distance**, **Rate** sets the number of particles to spawn over the distance the parent particle moves. | + +## Block output + +| **Output** | **Type** | **Description** | +|-|-|-| +| **Evt** | [GPU Event](Context-GPUEvent.md) | The GPU Event to trigger. | + +## Inspector window properties + +| **Property** | **Type** | **Description** | +|-|-|-| +| **Clamp To One** | Bool | Limits GPU Events to one per frame. This property is available only if you set **Mode** to **Over Time** or **Over Distance**. | diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Block-TriggerEventAlways.md b/Packages/com.unity.visualeffectgraph/Documentation~/Block-TriggerEventAlways.md deleted file mode 100644 index 2b3fbdec50b..00000000000 --- a/Packages/com.unity.visualeffectgraph/Documentation~/Block-TriggerEventAlways.md +++ /dev/null @@ -1,27 +0,0 @@ -# Trigger Event Always - -Menu Path : **GPU Event > Trigger Event Always** - -The **Trigger Event Always** Block triggers the continual creation of a specified number of particles each frame via a [GPU Event](Context-GPUEvent.md). Trigger Block always execute at the end of Update, regardless of where the Block is on the [blackboard](Blackboard.md). - - - -You can also use the Trigger Block with various conditions to create more complex spawning behavior. For example: - -![A Visual Effect Graph window which shows the Trigger Event Always Block executing under complex conditions. An Age Over Lifetime Operator returns the age of a particle relative to its lifetime, which uses a Compare Operator to compare if the value is less than 0.1. The connected Branch then outputs 5 when the Predicate is true or 0 when the Predicate is false, which connects to the Trigger Event Always Block inside the Update Particle Context.](Images/Block-TriggerEventAlwaysExample.png) - -## Block compatibility - -This Block is compatible with the following Contexts: - -- [Update](Context-Update.md) - -## Block properties - -| **Input** | **Type** | **Description** | -| --------- | -------- | ------------------------------------------------------- | -| **Count** | Uint | The number of GPU Event particles to spawn every frame. | - -| **Output** | **Type** | **Description** | -| ---------- | -------------------------------- | ------------------------- | -| **Evt** | [GPU Event](Context-GPUEvent.md) | The GPU Event to trigger. | diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Block-TriggerEventOnDie.md b/Packages/com.unity.visualeffectgraph/Documentation~/Block-TriggerEventOnDie.md deleted file mode 100644 index 603a6e194ee..00000000000 --- a/Packages/com.unity.visualeffectgraph/Documentation~/Block-TriggerEventOnDie.md +++ /dev/null @@ -1,25 +0,0 @@ -# Trigger Event On Die - -Menu Path : **GPU Event > Trigger Event On Die** - -The **Trigger Event On Die** Block triggers the creation of a specified number of particles via a [GPU Event](Context-GPUEvent.md) when a particle dies. Trigger Blocks always execute at the end of Update, regardless of where the Block is in the Context. - -You can also use the Trigger Block with various conditions to create more complex spawning behavior: - -![img](Images/Block-TriggerEventOnDieExample.png) - -## Block compatibility - -This Block is compatible with the following Contexts: - -- [Update](Context-Update.md) - -## Block properties - -| **Input** | **Type** | **Description** | -| --------- | -------- | ------------------------------------------------------------ | -| **Count** | Uint | The number of GPU Event particles to spawn once a particle dies. | - -| **Output** | **Type** | **Description** | -| --------- | -------- | ------------------------------------------------------------ | -| **Evt** | [GPU Event](Context-GPUEvent.md) | The GPU Event to trigger. | diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Block-TriggerEventRate.md b/Packages/com.unity.visualeffectgraph/Documentation~/Block-TriggerEventRate.md deleted file mode 100644 index e37287bf543..00000000000 --- a/Packages/com.unity.visualeffectgraph/Documentation~/Block-TriggerEventRate.md +++ /dev/null @@ -1,31 +0,0 @@ -# Trigger Event Rate - -Menu Path : **GPU Event > Trigger Event Rate** - -The **Trigger Event Rate** Block triggers the creation of particles via a GPU Event using a specified rate. You can set the rate to spawn particles over time (per second) or over distance (parent particle distance change). - - - -Trigger Blocks always execute at the end of the [Update Context](Context-Update.md), regardless of where the Block is situated within the Context. - -## Block compatibility - -This Block is compatible with the following Contexts: - -- [Update](Context-Update.md) - -## Block settings - -| **Setting** | **Type** | **Description** | -| ----------- | -------- | ------------------------------------------------------------ | -| **Mode** | Enum | The method this Block uses to apply the **Rate**. The options are:
    • **Over Time**: Applies the **Rate** over time.
    • **Over Distance**: Applies the **Rate** over distance. | - -## Block properties - -| **Input** | **Type** | **Description** | -| --------- | -------- | ------------------------------------------------------------ | -| **Rate** | Float | The number of GPU Event particles to spawn based on the **Mode**.
    If you set **Mode** to **Over Time**, this is the number of GPU Event particles to spawn per second.
    If you set **Mode** to **Over Distance**, this is the number of GPU Event particles to spawn as the parent particle moves. | - -| **Output** | **Type** | **Description** | -| ---------- | -------------------------------- | ------------------------- | -| **Evt** | [GPU Event](Context-GPUEvent.md) | The GPU Event to trigger. | diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Context-GPUEvent.md b/Packages/com.unity.visualeffectgraph/Documentation~/Context-GPUEvent.md index d353a251500..c33f8b4e181 100644 --- a/Packages/com.unity.visualeffectgraph/Documentation~/Context-GPUEvent.md +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Context-GPUEvent.md @@ -10,7 +10,7 @@ The **GPU Event** Context allows you to spawn new particles from particular Bloc | **Settings** | **Type** | **Description** | | ------------ | -------- | ------------------------------------------------------------ | -| **Evt** | GPUEvent | Connection from a [Block](Blocks.md) that triggers a GPU Event. The Block that trigger a GPU Event are:
    • **Trigger Event Always**.
    • **Trigger Event On Die**.
    • **Trigger Event Rate** | +| **Evt** | GPUEvent | Connection from a [Block](Blocks.md) that triggers a GPU Event. The [Trigger Event Block](Block-Trigger-Event.md) triggers GPU Events. | ## Flow diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Events.md b/Packages/com.unity.visualeffectgraph/Documentation~/Events.md index e82c74049b4..d3c9d2386d2 100644 --- a/Packages/com.unity.visualeffectgraph/Documentation~/Events.md +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Events.md @@ -51,13 +51,7 @@ You can define the default Visual Effect Event for each [Visual Effect Graph Ass GPU Events are an **Experimental feature** of the Visual Effect Graph. They allow you to spawn particles based on other particles. To enable GPU Events, enable the **Experimental Operators/Blocks** checkbox in the [Visual Effect Preferences](VisualEffectPreferences.md). -GPU Events are Event Contexts that rely on data sent from other systems, for example, when a particle dies. The following Update Blocks can send GPU Event Data: - -* **Trigger Event On Die**: Spawns N Particles on another system when a particle dies. -* **Trigger Event Rate**: Spawn N Particles per second (or per distance travelled), based on a particle from a system. -* **Trigger Event Always**: Spawns N Particles every frame. - -These Blocks connect to a **GPUEvent** Context. This Context does not handle any Blocks, but instead connects to an Initialize Context of a child system. +GPU Events are Event Contexts that rely on data sent from other systems, for example, when a particle dies. [Trigger Event Blocks](Block-Trigger-Event.md) send GPU Event Data, and connect to a **GPUEvent** Context. This Context does not handle any Blocks, but instead connects to an Initialize Context of a child system. To gather data from the parent particle, a child system must refer to [Source Attributes](Attributes.md) in its Initialize Context. To do this, a child system can use a **Get Source Attribute** Operator, or an **Inherit Attribute** Block. For a visual example, see the image below. diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Images/Block-TriggerEventAlwaysExample.png b/Packages/com.unity.visualeffectgraph/Documentation~/Images/Block-TriggerEventAlwaysExample.png deleted file mode 100644 index cba99847fc2..00000000000 Binary files a/Packages/com.unity.visualeffectgraph/Documentation~/Images/Block-TriggerEventAlwaysExample.png and /dev/null differ diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Images/Block-TriggerEventOnDieExample.png b/Packages/com.unity.visualeffectgraph/Documentation~/Images/Block-TriggerEventOnDieExample.png deleted file mode 100644 index ea88373471c..00000000000 Binary files a/Packages/com.unity.visualeffectgraph/Documentation~/Images/Block-TriggerEventOnDieExample.png and /dev/null differ diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Images/Block-TriggerEventRateExample.mp4 b/Packages/com.unity.visualeffectgraph/Documentation~/Images/Block-TriggerEventRateExample.mp4 deleted file mode 100644 index 9dc6d9cc4ad..00000000000 Binary files a/Packages/com.unity.visualeffectgraph/Documentation~/Images/Block-TriggerEventRateExample.mp4 and /dev/null differ diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/TableOfContents.md b/Packages/com.unity.visualeffectgraph/Documentation~/TableOfContents.md index a3330e3403d..265cf862e93 100644 --- a/Packages/com.unity.visualeffectgraph/Documentation~/TableOfContents.md +++ b/Packages/com.unity.visualeffectgraph/Documentation~/TableOfContents.md @@ -96,10 +96,6 @@ * [Linear Drag](Block-LinearDrag.md) * [Turbulence](Block-Turbulence.md) * [Vector Force Field](Block-VectorForceField.md) - * GPU Event - * [Trigger Event Always](Block-TriggerEventAlways.md) - * [Trigger Event On Die](Block-TriggerEventOnDie.md) - * [Trigger Event Rate](Block-TriggerEventRate.md) * HLSL * [Custom HLSL](Block-CustomHLSL.md) * Implicit @@ -134,6 +130,7 @@ * [Increment Strip Index On Start](Block-IncrementStripIndexOnStart.md) * [Set Spawn Time](Block-SetSpawnTime.md) * [Spawn Over Distance](Block-SpawnOverDistance.md) + * [Trigger Event Block reference](Block-Trigger-Event.md) * Velocity * [Velocity from Direction & Speed (Change Speed)](Block-VelocityFromDirectionAndSpeed(ChangeSpeed).md) * [Velocity from Direction & Speed (New Direction)](Block-VelocityFromDirectionAndSpeed(NewDirection).md) diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/api_index.md b/Packages/com.unity.visualeffectgraph/Documentation~/api_index.md new file mode 100644 index 00000000000..e4b27829c81 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/api_index.md @@ -0,0 +1,7 @@ +--- +uid: vfx-graph-api-index +--- + +# Visual Effect Graph scripting API + +This is the documentation for the scripting APIs of the Visual Effect Graph package. diff --git a/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/CommonAssets/UniversalRPAsset.asset b/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/CommonAssets/UniversalRPAsset.asset index 3503187f2b5..429bcb4545c 100644 --- a/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/CommonAssets/UniversalRPAsset.asset +++ b/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/CommonAssets/UniversalRPAsset.asset @@ -25,6 +25,7 @@ MonoBehaviour: - {fileID: 11400000, guid: 04618ff2d33c0432a81d00fdee3fae55, type: 2} - {fileID: 11400000, guid: eae387d1d2a20a946ae2441e0319f1a0, type: 2} - {fileID: 11400000, guid: ab4527fe9ad5ef949bffe9447fabcfa2, type: 2} + - {fileID: 11400000, guid: 01e79ba8f42c808448b7542939affccb, type: 2} m_DefaultRendererIndex: 2 m_RequireDepthTexture: 1 m_RequireOpaqueTexture: 1 diff --git a/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/022_Normals_FlipXY.unity b/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/022_Normals_FlipXY.unity new file mode 100644 index 00000000000..051a8ecd9e8 --- /dev/null +++ b/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/022_Normals_FlipXY.unity @@ -0,0 +1,823 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 10 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_BakeOnSceneLoad: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 1 + m_PVRFilteringGaussRadiusAO: 1 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &320569054 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 320569056} + - component: {fileID: 320569055} + m_Layer: 0 + m_Name: Sprite_Coral_round Default Material + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &320569055 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 320569054} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: -6091329584399971573, guid: 734039631e6f77248b04a79e9dded059, + type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 5.12, y: 3.87} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &320569056 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 320569054} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.5, y: 2, z: 0} + m_LocalScale: {x: 0.8, y: 0.8, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &355158592 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 355158594} + - component: {fileID: 355158593} + m_Layer: 0 + m_Name: Sprite_Coral_round Custom Lit Material + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &355158593 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 355158592} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: af65edc27c3fa8c4f8ca25aa48c28e6c, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: -6091329584399971573, guid: 734039631e6f77248b04a79e9dded059, + type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 5.12, y: 3.87} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &355158594 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 355158592} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.5, y: -2.28, z: 0} + m_LocalScale: {x: 0.8, y: 0.8, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1456095519 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1456095521} + - component: {fileID: 1456095520} + m_Layer: 0 + m_Name: Sprite_Coral_round Default Material (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &1456095520 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1456095519} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: -6091329584399971573, guid: 734039631e6f77248b04a79e9dded059, + type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 1 + m_FlipY: 1 + m_DrawMode: 0 + m_Size: {x: 5.12, y: 3.87} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1456095521 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1456095519} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 1, w: 0} + m_LocalPosition: {x: 2.5, y: 2, z: 0} + m_LocalScale: {x: 0.8, y: 0.8, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180} +--- !u!1 &1566917644 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1566917646} + - component: {fileID: 1566917645} + m_Layer: 0 + m_Name: Sprite_Coral_round Custom Lit Material (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &1566917645 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1566917644} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: af65edc27c3fa8c4f8ca25aa48c28e6c, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: -6091329584399971573, guid: 734039631e6f77248b04a79e9dded059, + type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 1 + m_FlipY: 1 + m_DrawMode: 0 + m_Size: {x: 5.12, y: 3.87} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1566917646 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1566917644} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 1, w: 0} + m_LocalPosition: {x: 2.5, y: -2.28, z: 0} + m_LocalScale: {x: 0.8, y: 0.8, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180} +--- !u!1 &1713755539 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1713755541} + - component: {fileID: 1713755540} + m_Layer: 0 + m_Name: Global Light 2D + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1713755540 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1713755539} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 073797afb82c5a1438f328866b10b3f0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ComponentVersion: 2 + m_LightType: 4 + m_BlendStyleIndex: 0 + m_FalloffIntensity: 0.5 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 0.5 + m_LightVolumeIntensity: 1 + m_LightVolumeEnabled: 0 + m_ApplyToSortingLayers: eb0feddf00000000e980ef06 + m_LightCookieSprite: {fileID: 0} + m_DeprecatedPointLightCookieSprite: {fileID: 0} + m_LightOrder: 0 + m_AlphaBlendOnOverlap: 0 + m_OverlapOperation: 0 + m_NormalMapDistance: 3 + m_NormalMapQuality: 2 + m_UseNormalMap: 0 + m_ShadowsEnabled: 1 + m_ShadowIntensity: 0.75 + m_ShadowSoftness: 0.3 + m_ShadowSoftnessFalloffIntensity: 0.5 + m_ShadowVolumeIntensityEnabled: 0 + m_ShadowVolumeIntensity: 0.75 + m_LocalBounds: + m_Center: {x: 0, y: -0.00000011920929, z: 0} + m_Extent: {x: 0.9985302, y: 0.99853027, z: 0} + m_PointLightInnerAngle: 360 + m_PointLightOuterAngle: 360 + m_PointLightInnerRadius: 0 + m_PointLightOuterRadius: 1 + m_ShapeLightParametricSides: 5 + m_ShapeLightParametricAngleOffset: 0 + m_ShapeLightParametricRadius: 1 + m_ShapeLightFalloffSize: 0.5 + m_ShapeLightFalloffOffset: {x: 0, y: 0} + m_ShapePath: + - {x: -0.5, y: -0.5, z: 0} + - {x: 0.5, y: -0.5, z: 0} + - {x: 0.5, y: 0.5, z: 0} + - {x: -0.5, y: 0.5, z: 0} +--- !u!4 &1713755541 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1713755539} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + 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!1 &1835037201 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1835037203} + - component: {fileID: 1835037202} + m_Layer: 0 + m_Name: Light 2D + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1835037202 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1835037201} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 073797afb82c5a1438f328866b10b3f0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ComponentVersion: 2 + m_LightType: 3 + m_BlendStyleIndex: 0 + m_FalloffIntensity: 0.5 + m_Color: {r: 0, g: 0.9014871, b: 1, a: 1} + m_Intensity: 5 + m_LightVolumeIntensity: 1 + m_LightVolumeEnabled: 0 + m_ApplyToSortingLayers: eb0feddf00000000e980ef06 + m_LightCookieSprite: {fileID: 0} + m_DeprecatedPointLightCookieSprite: {fileID: 0} + m_LightOrder: 0 + m_AlphaBlendOnOverlap: 0 + m_OverlapOperation: 0 + m_NormalMapDistance: 3 + m_NormalMapQuality: 1 + m_UseNormalMap: 0 + m_ShadowsEnabled: 0 + m_ShadowIntensity: 0.75 + m_ShadowSoftness: 0.3 + m_ShadowSoftnessFalloffIntensity: 0.5 + m_ShadowVolumeIntensityEnabled: 0 + m_ShadowVolumeIntensity: 0.75 + m_LocalBounds: + m_Center: {x: 0, y: -0.00000011920929, z: 0} + m_Extent: {x: 0.9985302, y: 0.99853027, z: 0} + m_PointLightInnerAngle: 360 + m_PointLightOuterAngle: 360 + m_PointLightInnerRadius: 4.080235 + m_PointLightOuterRadius: 5 + m_ShapeLightParametricSides: 5 + m_ShapeLightParametricAngleOffset: 0 + m_ShapeLightParametricRadius: 1 + m_ShapeLightFalloffSize: 0.5 + m_ShapeLightFalloffOffset: {x: 0, y: 0} + m_ShapePath: + - {x: -0.5, y: -0.5, z: 0} + - {x: 0.5, y: -0.5, z: 0} + - {x: 0.5, y: 0.5, z: 0} + - {x: -0.5, y: 0.5, z: 0} +--- !u!4 &1835037203 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1835037201} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -0.27, z: 0} + 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!1 &1977309572 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1977309576} + - component: {fileID: 1977309575} + - component: {fileID: 1977309574} + - component: {fileID: 1977309573} + - component: {fileID: 1977309577} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1977309573 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1977309572} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 0 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_AllowHDROutput: 1 + m_UseScreenCoordOverride: 0 + m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} + m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_Version: 2 + m_TaaSettings: + m_Quality: 3 + m_FrameInfluence: 0.1 + m_JitterScale: 1 + m_MipBias: 0 + m_VarianceClampScale: 0.9 + m_ContrastAdaptiveSharpening: 0 +--- !u!81 &1977309574 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1977309572} + m_Enabled: 1 +--- !u!20 &1977309575 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1977309572} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 1} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1977309576 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1977309572} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + 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!114 &1977309577 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1977309572} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73231aa468d81ea49bc3d914080de185, type: 3} + m_Name: + m_EditorClassIdentifier: + ImageComparisonSettings: + TargetWidth: 512 + TargetHeight: 512 + TargetMSAASamples: 1 + PerPixelCorrectnessThreshold: 0.001 + PerPixelGammaThreshold: 0.003921569 + PerPixelAlphaThreshold: 0.003921569 + RMSEThreshold: 0 + AverageCorrectnessThreshold: 0.0016 + IncorrectPixelsThreshold: 0.0000038146973 + UseHDR: 0 + UseBackBuffer: 0 + ImageResolution: 0 + ActiveImageTests: 1 + ActivePixelTests: -1 + WaitFrames: 0 + XRCompatible: 0 + gpuDrivenCompatible: 1 + CheckMemoryAllocation: 1 + renderBackendCompatibility: 2 + SetBackBufferResolution: 0 +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 1977309576} + - {fileID: 1713755541} + - {fileID: 1835037203} + - {fileID: 320569056} + - {fileID: 1456095521} + - {fileID: 355158594} + - {fileID: 1566917646} diff --git a/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/022_Normals_FlipXY.unity.meta b/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/022_Normals_FlipXY.unity.meta new file mode 100644 index 00000000000..be3e43082df --- /dev/null +++ b/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/022_Normals_FlipXY.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0fd9ba64f5114634b81f084fb92123e1 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/057_2D_Lights_Blending/SpriteCustomLitBlending.shadergraph b/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/057_2D_Lights_Blending/SpriteCustomLitBlending.shadergraph index 37173f8e915..4a630253f89 100644 --- a/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/057_2D_Lights_Blending/SpriteCustomLitBlending.shadergraph +++ b/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/057_2D_Lights_Blending/SpriteCustomLitBlending.shadergraph @@ -125,9 +125,9 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "e9a3598b99494ed294755d7b1833886a" + "m_Id": "aa5b288ecac24c87abef048e019cc2f9" }, - "m_SlotId": 0 + "m_SlotId": 1 } }, { @@ -135,13 +135,13 @@ "m_Node": { "m_Id": "5b9e36f825134689b9486d3e3c1e87fb" }, - "m_SlotId": 4 + "m_SlotId": 0 }, "m_InputSlot": { "m_Node": { - "m_Id": "aa5b288ecac24c87abef048e019cc2f9" + "m_Id": "e9a3598b99494ed294755d7b1833886a" }, - "m_SlotId": 1 + "m_SlotId": 0 } }, { @@ -284,6 +284,20 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e7122ec5f091423e8fb4be58092089fd" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "5b68002e1cad45829d9e8d88411bf92d" + }, + "m_SlotId": 2 + } + }, { "m_OutputSlot": { "m_Node": { @@ -445,7 +459,7 @@ "m_StageCapability": 3, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 3 @@ -839,7 +853,7 @@ "m_StageCapability": 3, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -1314,7 +1328,7 @@ "m_StageCapability": 3, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -1357,7 +1371,7 @@ "m_StageCapability": 3, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -1816,10 +1830,10 @@ "m_ShaderOutputName": "B", "m_StageCapability": 3, "m_Value": { - "e00": 2.0, - "e01": 2.0, - "e02": 2.0, - "e03": 2.0, + "e00": 1.0, + "e01": 1.0, + "e02": 1.0, + "e03": 1.0, "e10": 2.0, "e11": 2.0, "e12": 2.0, @@ -1913,7 +1927,7 @@ "x" ], "m_Precision": 0, - "m_PreviewExpanded": true, + "m_PreviewExpanded": false, "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { @@ -2028,7 +2042,7 @@ "m_StageCapability": 3, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -2070,7 +2084,7 @@ "hlslDeclarationOverride": 2, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -2133,7 +2147,7 @@ "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -2562,7 +2576,7 @@ "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, diff --git a/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/064_FullScreenRendererFeature.meta b/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/064_FullScreenRendererFeature.meta new file mode 100644 index 00000000000..6e47f875a01 --- /dev/null +++ b/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/064_FullScreenRendererFeature.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 26d6c46703d00654aa90c4f6420b23e0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/064_FullScreenRendererFeature.unity b/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/064_FullScreenRendererFeature.unity new file mode 100644 index 00000000000..4aebb70a37d --- /dev/null +++ b/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/064_FullScreenRendererFeature.unity @@ -0,0 +1,471 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 10 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_BakeOnSceneLoad: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 1 + m_PVRFilteringGaussRadiusAO: 1 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &652049016 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 652049019} + - component: {fileID: 652049018} + - component: {fileID: 652049017} + - component: {fileID: 652049020} + - component: {fileID: 652049021} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &652049017 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 652049016} + m_Enabled: 1 +--- !u!20 &652049018 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 652049016} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &652049019 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 652049016} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + 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!114 &652049020 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 652049016} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalAdditionalCameraData + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: 8 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 0 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_AllowHDROutput: 1 + m_UseScreenCoordOverride: 0 + m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} + m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_Version: 2 + m_TaaSettings: + m_Quality: 3 + m_FrameInfluence: 0.1 + m_JitterScale: 1 + m_MipBias: 0 + m_VarianceClampScale: 0.9 + m_ContrastAdaptiveSharpening: 0 +--- !u!114 &652049021 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 652049016} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73231aa468d81ea49bc3d914080de185, type: 3} + m_Name: + m_EditorClassIdentifier: UniversalGraphicsTests::UniversalGraphicsTestSettings + ImageComparisonSettings: + TargetWidth: 512 + TargetHeight: 512 + TargetMSAASamples: 1 + PerPixelCorrectnessThreshold: 0.001 + PerPixelGammaThreshold: 0.003921569 + PerPixelAlphaThreshold: 0.003921569 + RMSEThreshold: 0 + AverageCorrectnessThreshold: 0.005 + IncorrectPixelsThreshold: 0.0000038146973 + UseHDR: 0 + UseBackBuffer: 0 + ImageResolution: 0 + ActiveImageTests: 1 + ActivePixelTests: 7 + WaitFrames: 0 + XRCompatible: 0 + gpuDrivenCompatible: 1 + CheckMemoryAllocation: 1 + renderBackendCompatibility: 2 + SetBackBufferResolution: 0 +--- !u!1 &774377729 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 774377731} + - component: {fileID: 774377730} + m_Layer: 0 + m_Name: Light 2D + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &774377730 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 774377729} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 073797afb82c5a1438f328866b10b3f0, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.2D.Runtime::UnityEngine.Rendering.Universal.Light2D + m_ComponentVersion: 2 + m_LightType: 4 + m_BlendStyleIndex: 0 + m_FalloffIntensity: 0.5 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_LightVolumeIntensity: 1 + m_LightVolumeEnabled: 0 + m_ApplyToSortingLayers: eb0feddf00000000e980ef06 + m_LightCookieSprite: {fileID: 0} + m_DeprecatedPointLightCookieSprite: {fileID: 0} + m_LightOrder: 0 + m_AlphaBlendOnOverlap: 0 + m_OverlapOperation: 0 + m_NormalMapDistance: 3 + m_NormalMapQuality: 2 + m_UseNormalMap: 0 + m_ShadowsEnabled: 1 + m_ShadowIntensity: 0.75 + m_ShadowSoftness: 0.3 + m_ShadowSoftnessFalloffIntensity: 0.5 + m_ShadowVolumeIntensityEnabled: 0 + m_ShadowVolumeIntensity: 0.75 + m_LocalBounds: + m_Center: {x: 0, y: -0.00000011920929, z: 0} + m_Extent: {x: 0.9985302, y: 0.99853027, z: 0} + m_PointLightInnerAngle: 360 + m_PointLightOuterAngle: 360 + m_PointLightInnerRadius: 0 + m_PointLightOuterRadius: 1 + m_ShapeLightParametricSides: 5 + m_ShapeLightParametricAngleOffset: 0 + m_ShapeLightParametricRadius: 1 + m_ShapeLightFalloffSize: 0.5 + m_ShapeLightFalloffOffset: {x: 0, y: 0} + m_ShapePath: + - {x: -0.5, y: -0.5, z: 0} + - {x: 0.5, y: -0.5, z: 0} + - {x: 0.5, y: 0.5, z: 0} + - {x: -0.5, y: 0.5, z: 0} +--- !u!4 &774377731 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 774377729} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + 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!1 &2080771070 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2080771072} + - component: {fileID: 2080771071} + m_Layer: 0 + m_Name: Square + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &2080771071 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2080771070} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, + type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &2080771072 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2080771070} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 652049019} + - {fileID: 774377731} + - {fileID: 2080771072} diff --git a/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/064_FullScreenRendererFeature.unity.meta b/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/064_FullScreenRendererFeature.unity.meta new file mode 100644 index 00000000000..224d8233041 --- /dev/null +++ b/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/064_FullScreenRendererFeature.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f47933cb58d03af41a718fdea55dea08 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/064_FullScreenRendererFeature/064_FullScreenRendererFeature Renderer Data.asset b/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/064_FullScreenRendererFeature/064_FullScreenRendererFeature Renderer Data.asset new file mode 100644 index 00000000000..cc8ad01d5e9 --- /dev/null +++ b/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/064_FullScreenRendererFeature/064_FullScreenRendererFeature Renderer Data.asset @@ -0,0 +1,82 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-284040083619274552 +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: b00045f12942b46c698459096c89274e, type: 3} + m_Name: FullScreenPassRendererFeature + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.FullScreenPassRendererFeature + m_Active: 1 + injectionPoint: 600 + fetchColorBuffer: 1 + requirements: 7 + passMaterial: {fileID: 2100000, guid: 78a08787ca30045abb69f6f7dd878e09, type: 2} + passIndex: 0 + bindDepthStencilAttachment: 0 + m_Version: 1 +--- !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: 11145981673336645838492a2d98e247, type: 3} + m_Name: 064_FullScreenRendererFeature Renderer Data + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.2D.Runtime::UnityEngine.Rendering.Universal.Renderer2DData + debugShaders: + debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, + type: 3} + hdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3} + probeVolumeSamplingDebugComputeShader: {fileID: 7200000, guid: 53626a513ea68ce47b59dc1299fe3959, + type: 3} + probeVolumeResources: + probeVolumeDebugShader: {fileID: 0} + probeVolumeFragmentationDebugShader: {fileID: 0} + probeVolumeOffsetDebugShader: {fileID: 0} + probeVolumeSamplingDebugShader: {fileID: 0} + probeSamplingDebugMesh: {fileID: 0} + probeSamplingDebugTexture: {fileID: 0} + probeVolumeBlendStatesCS: {fileID: 0} + m_RendererFeatures: + - {fileID: -284040083619274552} + m_RendererFeatureMap: c8a0e6810ce30efc + m_UseNativeRenderPass: 0 + m_LayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_TransparencySortMode: 0 + m_TransparencySortAxis: {x: 0, y: 1, z: 0} + m_HDREmulationScale: 1 + m_LightRenderTextureScale: 0.5 + m_LightBlendStyles: + - name: Multiply + maskTextureChannel: 0 + blendMode: 1 + - name: Additive + maskTextureChannel: 0 + blendMode: 0 + - name: Multiply with Mask + maskTextureChannel: 1 + blendMode: 1 + - name: Additive with Mask + maskTextureChannel: 1 + blendMode: 0 + m_UseDepthStencilBuffer: 1 + m_UseCameraSortingLayersTexture: 0 + m_CameraSortingLayersTextureBound: -1 + m_CameraSortingLayerDownsamplingMethod: 0 + m_MaxLightRenderTextureCount: 16 + m_MaxShadowRenderTextureCount: 1 + m_PostProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} + m_DefaultMaterialType: 0 + m_DefaultCustomMaterial: {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, + type: 2} diff --git a/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/064_FullScreenRendererFeature/064_FullScreenRendererFeature Renderer Data.asset.meta b/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/064_FullScreenRendererFeature/064_FullScreenRendererFeature Renderer Data.asset.meta new file mode 100644 index 00000000000..6850d148956 --- /dev/null +++ b/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/064_FullScreenRendererFeature/064_FullScreenRendererFeature Renderer Data.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 01e79ba8f42c808448b7542939affccb +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/074_Screen_Space_UI_Overlay.unity b/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/074_Screen_Space_UI_Overlay.unity index 76cbf42d251..6eb1a38bc3a 100644 --- a/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/074_Screen_Space_UI_Overlay.unity +++ b/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/Assets/Scenes/074_Screen_Space_UI_Overlay.unity @@ -42,7 +42,8 @@ RenderSettings: --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 12 + serializedVersion: 13 + m_BakeOnSceneLoad: 0 m_GISettings: serializedVersion: 2 m_BounceScale: 1 @@ -490,8 +491,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: ImageComparisonSettings: - TargetWidth: 1280 - TargetHeight: 720 + TargetWidth: 1920 + TargetHeight: 1080 TargetMSAASamples: 1 PerPixelCorrectnessThreshold: 0.001 PerPixelGammaThreshold: 0.003921569 @@ -500,7 +501,7 @@ MonoBehaviour: AverageCorrectnessThreshold: 0.005 IncorrectPixelsThreshold: 0.0000038146973 UseHDR: 0 - UseBackBuffer: 1 + UseBackBuffer: 0 ImageResolution: 0 ActiveImageTests: 1 ActivePixelTests: -1 @@ -509,7 +510,7 @@ MonoBehaviour: gpuDrivenCompatible: 1 CheckMemoryAllocation: 0 renderBackendCompatibility: 2 - SetBackBufferResolution: 1 + SetBackBufferResolution: 0 --- !u!1 &661388560 GameObject: m_ObjectHideFlags: 0 @@ -1075,6 +1076,7 @@ MonoBehaviour: m_WorldSpaceSizeMode: 1 m_WorldSpaceWidth: 1920 m_WorldSpaceHeight: 1080 + m_WorldSpaceCollider: {fileID: 0} --- !u!4 &1471116130 Transform: m_ObjectHideFlags: 0 diff --git a/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/ProjectSettings/EditorBuildSettings.asset b/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/ProjectSettings/EditorBuildSettings.asset index bfbdc39ffe0..b745554294c 100644 --- a/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/ProjectSettings/EditorBuildSettings.asset +++ b/Tests/SRPTests/Projects/UniversalGraphicsTest_2D/ProjectSettings/EditorBuildSettings.asset @@ -194,6 +194,9 @@ EditorBuildSettings: - enabled: 1 path: Assets/Scenes/021_Shadow_Batching_03.unity guid: c5d8258f10589fa4c986556b16becf52 + - enabled: 1 + path: Assets/Scenes/022_Normals_FlipXY.unity + guid: 0fd9ba64f5114634b81f084fb92123e1 - enabled: 1 path: Assets/Scenes/056_2D_Lights-Shadows.unity guid: 4f7a50da47cfeca46b45fe14be17081d @@ -227,6 +230,9 @@ EditorBuildSettings: - enabled: 1 path: Assets/Scenes/063_LayerMask.unity guid: 589fffe344f1a3847910fd1b61c8404c + - enabled: 1 + path: Assets/Scenes/064_FullScreenRendererFeature.unity + guid: f47933cb58d03af41a718fdea55dea08 - enabled: 1 path: Assets/Scenes/069_2D_Forward_Shader_Compatibility_Forward.unity guid: 4387c323b80b3f8479359d07b90f0031 diff --git a/Tests/SRPTests/Projects/VisualEffectGraph_HDRP/Assets/AllTests/VFXTests/GraphicsTests/45_CustomPassCulling.meta b/Tests/SRPTests/Projects/VisualEffectGraph_HDRP/Assets/AllTests/VFXTests/GraphicsTests/45_CustomPassCulling.meta new file mode 100644 index 00000000000..c035ed1c916 --- /dev/null +++ b/Tests/SRPTests/Projects/VisualEffectGraph_HDRP/Assets/AllTests/VFXTests/GraphicsTests/45_CustomPassCulling.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5f645a3d583d7ae418eb7590759bdad1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/SRPTests/Projects/VisualEffectGraph_HDRP/Assets/AllTests/VFXTests/GraphicsTests/45_CustomPassCulling/45_CustomPassCulling.unity b/Tests/SRPTests/Projects/VisualEffectGraph_HDRP/Assets/AllTests/VFXTests/GraphicsTests/45_CustomPassCulling/45_CustomPassCulling.unity new file mode 100644 index 00000000000..078e71d4ef8 --- /dev/null +++ b/Tests/SRPTests/Projects/VisualEffectGraph_HDRP/Assets/AllTests/VFXTests/GraphicsTests/45_CustomPassCulling/45_CustomPassCulling.unity @@ -0,0 +1,1032 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 10 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_BakeOnSceneLoad: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &157207112 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 157207114} + - component: {fileID: 157207113} + - component: {fileID: 157207115} + m_Layer: 0 + m_Name: Sun + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &157207113 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 157207112} + m_Enabled: 1 + serializedVersion: 11 + m_Type: 1 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 2 + m_AreaSize: {x: 0.5, y: 0.5} + m_BounceIntensity: 1 + m_ColorTemperature: 6500 + m_UseColorTemperature: 1 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ForceVisible: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 2.5 + m_LightUnit: 2 + m_LuxAtDistance: 1 + m_EnableSpotReflector: 0 +--- !u!4 &157207114 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 157207112} + serializedVersion: 2 + m_LocalRotation: {x: 0.38268343, y: 0, z: 0, w: 0.92387956} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0} +--- !u!114 &157207115 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 157207112} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} + m_Name: + m_EditorClassIdentifier: + m_PointlightHDType: 0 + m_SpotLightShape: 0 + m_AreaLightShape: 0 + m_EnableSpotReflector: 0 + m_LightUnit: 2 + m_LuxAtDistance: 1 + m_Intensity: 130000 + m_InnerSpotPercent: 0 + m_SpotIESCutoffPercent: 100 + m_LightDimmer: 1 + m_VolumetricDimmer: 1 + m_FadeDistance: 10000 + m_VolumetricFadeDistance: 10000 + m_AffectDiffuse: 1 + m_AffectSpecular: 1 + m_NonLightmappedOnly: 0 + m_ShapeWidth: 0.5 + m_ShapeHeight: 0.5 + m_AspectRatio: 1 + m_ShapeRadius: 0.025 + m_SoftnessScale: 1 + m_UseCustomSpotLightShadowCone: 0 + m_CustomSpotLightShadowCone: 30 + m_MaxSmoothness: 0.99 + m_ApplyRangeAttenuation: 1 + m_DisplayAreaLightEmissiveMesh: 0 + m_AreaLightCookie: {fileID: 0} + m_IESPoint: {fileID: 0} + m_IESSpot: {fileID: 0} + m_IncludeForRayTracing: 1 + m_IncludeForPathTracing: 1 + m_AreaLightShadowCone: 120 + m_UseScreenSpaceShadows: 0 + m_InteractsWithSky: 1 + m_AngularDiameter: 2.5 + diameterMultiplerMode: 0 + diameterMultiplier: 1 + diameterOverride: 0.5 + celestialBodyShadingSource: 1 + sunLightOverride: {fileID: 0} + sunColor: {r: 1, g: 1, b: 1, a: 1} + sunIntensity: 130000 + moonPhase: 0.2 + moonPhaseRotation: 0 + earthshine: 1 + flareSize: 2 + flareTint: {r: 1, g: 1, b: 1, a: 1} + flareFalloff: 4 + flareMultiplier: 1 + surfaceTexture: {fileID: 0} + surfaceTint: {r: 1, g: 1, b: 1, a: 1} + m_Distance: 1.5e+11 + m_UseRayTracedShadows: 0 + m_NumRayTracingSamples: 4 + m_FilterTracedShadow: 1 + m_FilterSizeTraced: 16 + m_SunLightConeAngle: 0.5 + m_LightShadowRadius: 0.5 + m_SemiTransparentShadow: 0 + m_ColorShadow: 1 + m_DistanceBasedFiltering: 0 + m_EvsmExponent: 15 + m_EvsmLightLeakBias: 0 + m_EvsmVarianceBias: 0.00001 + m_EvsmBlurPasses: 0 + m_LightlayersMask: 1 + m_LinkShadowLayers: 1 + m_ShadowNearPlane: 0.1 + m_BlockerSampleCount: 24 + m_FilterSampleCount: 16 + m_MinFilterSize: 0.1 + m_DirLightPCSSBlockerSampleCount: 24 + m_DirLightPCSSFilterSampleCount: 16 + m_DirLightPCSSMaxPenumbraSize: 0.56 + m_DirLightPCSSMaxSamplingDistance: 0.5 + m_DirLightPCSSMinFilterSizeTexels: 1.5 + m_DirLightPCSSMinFilterMaxAngularDiameter: 10 + m_DirLightPCSSBlockerSearchAngularDiameter: 12 + m_DirLightPCSSBlockerSamplingClumpExponent: 2 + m_KernelSize: 5 + m_LightAngle: 1 + m_MaxDepthBias: 0.001 + m_ShadowResolution: + m_Override: 512 + m_UseOverride: 1 + m_Level: 0 + m_ShadowDimmer: 1 + m_VolumetricShadowDimmer: 1 + m_ShadowFadeDistance: 10000 + m_UseContactShadow: + m_Override: 0 + m_UseOverride: 1 + m_Level: 0 + m_RayTracedContactShadow: 0 + m_ShadowTint: {r: 0, g: 0, b: 0, a: 1} + m_PenumbraTint: 0 + m_NormalBias: 0.75 + m_SlopeBias: 0.5 + m_ShadowUpdateMode: 0 + m_AlwaysDrawDynamicShadows: 0 + m_UpdateShadowOnLightMovement: 0 + m_CachedShadowTranslationThreshold: 0.01 + m_CachedShadowAngularThreshold: 0.5 + m_BarnDoorAngle: 90 + m_BarnDoorLength: 0.05 + m_preserveCachedShadow: 0 + m_OnDemandShadowRenderOnPlacement: 1 + m_ShadowCascadeRatios: + - 0.05 + - 0.2 + - 0.3 + m_ShadowCascadeBorders: + - 0.2 + - 0.2 + - 0.2 + - 0.2 + m_ShadowAlgorithm: 0 + m_ShadowVariant: 0 + m_ShadowPrecision: 0 + useOldInspector: 0 + useVolumetric: 1 + featuresFoldout: 1 + m_AreaLightEmissiveMeshShadowCastingMode: 0 + m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 + m_AreaLightEmissiveMeshLayer: -1 + m_Version: 13 + m_ObsoleteShadowResolutionTier: 1 + m_ObsoleteUseShadowQualitySettings: 0 + m_ObsoleteCustomShadowResolution: 512 + m_ObsoleteContactShadows: 0 +--- !u!1 &616090858 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 616090861} + - component: {fileID: 616090860} + - component: {fileID: 616090859} + m_Layer: 1 + m_Name: 45_FrustumCulledFX + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!73398921 &616090859 +VFXRenderer: + serializedVersion: 1 + m_ObjectHideFlags: 2 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 616090858} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!2083052967 &616090860 +VisualEffect: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 616090858} + m_Enabled: 1 + m_Asset: {fileID: 8926484042661614526, guid: 6854beb20a8f22849a59d6355dab6832, type: 3} + m_InitialEventName: OnPlay + m_InitialEventNameOverriden: 0 + m_StartSeed: 1809644571 + m_ResetSeedOnPlay: 0 + m_AllowInstancing: 1 + m_ResourceVersion: 1 + m_PropertySheet: + m_Float: + m_Array: [] + m_Vector2f: + m_Array: [] + m_Vector3f: + m_Array: [] + m_Vector4f: + m_Array: [] + m_Uint: + m_Array: [] + m_Int: + m_Array: [] + m_Matrix4x4f: + m_Array: [] + m_AnimationCurve: + m_Array: [] + m_Gradient: + m_Array: [] + m_NamedObject: + m_Array: [] + m_Bool: + m_Array: [] +--- !u!4 &616090861 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 616090858} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -0, z: 0} + 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!1 &725752228 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 725752232} + - component: {fileID: 725752231} + - component: {fileID: 725752230} + - component: {fileID: 725752229} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &725752229 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 725752228} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 5 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &725752230 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 725752228} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 73c176f402d2c2f4d929aa5da7585d17, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &725752231 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 725752228} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &725752232 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 725752228} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1823688464 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1823688467} + - component: {fileID: 1823688466} + - component: {fileID: 1823688465} + - component: {fileID: 1823688468} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1823688465 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1823688464} + m_Enabled: 1 +--- !u!20 &1823688466 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1823688464} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 373 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 0 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1823688467 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1823688464} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.72, z: -1.04} + 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!114 &1823688468 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1823688464} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 23c1ce4fb46143f46bc5cb5224c934f6, type: 3} + m_Name: + m_EditorClassIdentifier: + clearColorMode: 0 + backgroundColorHDR: {r: 0.025, g: 0.07, b: 0.19, a: 0} + clearDepth: 1 + volumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + volumeAnchorOverride: {fileID: 0} + antialiasing: 2 + SMAAQuality: 2 + dithering: 1 + stopNaNs: 0 + taaSharpenStrength: 0.5 + TAAQuality: 1 + taaSharpenMode: 0 + taaRingingReduction: 0 + taaHistorySharpening: 0.35 + taaAntiFlicker: 0.5 + taaMotionVectorRejection: 0 + taaAntiHistoryRinging: 0 + taaBaseBlendFactor: 0.875 + taaJitterScale: 1 + physicalParameters: + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + flipYMode: 0 + xrRendering: 1 + fullscreenPassthrough: 0 + allowDynamicResolution: 0 + customRenderingSettings: 0 + invertFaceCulling: 0 + probeLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + hasPersistentHistory: 0 + screenSizeOverride: {x: 0, y: 0, z: 0, w: 0} + screenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} + allowDeepLearningSuperSampling: 1 + deepLearningSuperSamplingUseCustomQualitySettings: 0 + deepLearningSuperSamplingQuality: 0 + deepLearningSuperSamplingUseCustomAttributes: 0 + deepLearningSuperSamplingUseOptimalSettings: 1 + deepLearningSuperSamplingSharpening: 0 + allowFidelityFX2SuperResolution: 1 + fidelityFX2SuperResolutionUseCustomQualitySettings: 0 + fidelityFX2SuperResolutionQuality: 0 + fidelityFX2SuperResolutionUseCustomAttributes: 0 + fidelityFX2SuperResolutionUseOptimalSettings: 1 + fidelityFX2SuperResolutionEnableSharpening: 0 + fidelityFX2SuperResolutionSharpening: 0 + fsrOverrideSharpness: 0 + fsrSharpness: 0.92 + exposureTarget: {fileID: 0} + materialMipBias: 0 + m_RenderingPathCustomFrameSettings: + bitDatas: + data1: 72198262773251917 + data2: 13763000464465395712 + lodBias: 1 + lodBiasMode: 0 + lodBiasQualityLevel: 0 + maximumLODLevel: 0 + maximumLODLevelMode: 0 + maximumLODLevelQualityLevel: 0 + sssQualityMode: 0 + sssQualityLevel: 0 + sssCustomSampleBudget: 20 + sssCustomDownsampleSteps: 0 + msaaMode: 9 + materialQuality: 0 + renderingPathCustomFrameSettingsOverrideMask: + mask: + data1: 0 + data2: 0 + defaultFrameSettings: 0 + m_Version: 9 + m_ObsoleteRenderingPath: 0 + m_ObsoleteFrameSettings: + overrides: 0 + enableShadow: 0 + enableContactShadows: 0 + enableShadowMask: 0 + enableSSR: 0 + enableSSAO: 0 + enableSubsurfaceScattering: 0 + enableTransmission: 0 + enableAtmosphericScattering: 0 + enableVolumetrics: 0 + enableReprojectionForVolumetrics: 0 + enableLightLayers: 0 + enableExposureControl: 1 + diffuseGlobalDimmer: 0 + specularGlobalDimmer: 0 + shaderLitMode: 0 + enableDepthPrepassWithDeferredRendering: 0 + enableTransparentPrepass: 0 + enableMotionVectors: 0 + enableObjectMotionVectors: 0 + enableDecals: 0 + enableRoughRefraction: 0 + enableTransparentPostpass: 0 + enableDistortion: 0 + enablePostprocess: 0 + enableOpaqueObjects: 0 + enableTransparentObjects: 0 + enableRealtimePlanarReflection: 0 + enableMSAA: 0 + enableAsyncCompute: 0 + runLightListAsync: 0 + runSSRAsync: 0 + runSSAOAsync: 0 + runContactShadowsAsync: 0 + runVolumeVoxelizationAsync: 0 + lightLoopSettings: + overrides: 0 + enableDeferredTileAndCluster: 0 + enableComputeLightEvaluation: 0 + enableComputeLightVariants: 0 + enableComputeMaterialVariants: 0 + enableFptlForForwardOpaque: 0 + enableBigTilePrepass: 0 + isFptlEnabled: 0 +--- !u!1 &1963481196 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1963481198} + - component: {fileID: 1963481197} + m_Layer: 0 + m_Name: VFXGraphicsTestSettings + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1963481197 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1963481196} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ea0c24060324bed47851dcbecd754031, type: 3} + m_Name: + m_EditorClassIdentifier: + ImageComparisonSettings: + TargetWidth: 512 + TargetHeight: 512 + TargetMSAASamples: 1 + PerPixelCorrectnessThreshold: 0 + PerPixelGammaThreshold: 0.003921569 + PerPixelAlphaThreshold: 0.003921569 + RMSEThreshold: 0 + AverageCorrectnessThreshold: 0.0005 + IncorrectPixelsThreshold: 0.0000038146973 + UseHDR: 0 + UseBackBuffer: 0 + ImageResolution: 0 + ActiveImageTests: 1 + ActivePixelTests: 7 + captureFrameRate: 20 + fixedTimeStepScale: 1 + simulateTime: 5.95 + xrCompatible: 0 +--- !u!4 &1963481198 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1963481196} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + 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!1 &2013410473 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2013410475} + - component: {fileID: 2013410474} + m_Layer: 0 + m_Name: StaticLightingSky + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2013410474 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2013410473} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 441482e8936e35048a1dffac814e3ef8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Profile: {fileID: 11400000, guid: 8ba92e2dd7f884a0f88b98fa2d235fe7, type: 2} + m_StaticLightingSkyUniqueID: 4 + m_StaticLightingCloudsUniqueID: 0 + m_StaticLightingVolumetricClouds: 0 + bounces: 1 +--- !u!4 &2013410475 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2013410473} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + 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!4 &546617065874371666 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1114558467654630711} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + 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!1 &1114558467654630711 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 546617065874371666} + - component: {fileID: 7673133779584330734} + m_Layer: 0 + m_Name: RenderersCustomPass + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &7673133779584330734 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1114558467654630711} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 26d6499a6bd256e47b859377446493a1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IsGlobal: 1 + fadeRadius: 0 + priority: 0 + customPasses: + - rid: 108761948931227649 + injectionPoint: 1 + m_TargetCamera: {fileID: 0} + useTargetCamera: 0 + references: + version: 2 + RefIds: + - rid: 108761948931227649 + type: {class: DrawRenderersCustomPass, ns: UnityEngine.Rendering.HighDefinition, + asm: Unity.RenderPipelines.HighDefinition.Runtime} + data: + m_Name: Custom Pass + enabled: 1 + targetColorBuffer: 0 + targetDepthBuffer: 0 + clearFlags: 0 + passFoldout: 0 + m_Version: 0 + filterFoldout: 1 + rendererFoldout: 1 + renderQueueType: 10 + layerMask: + serializedVersion: 2 + m_Bits: 2 + sortingCriteria: 51 + overrideMode: 1 + overrideMaterial: {fileID: 0} + overrideMaterialPassIndex: 0 + overrideMaterialPassName: Forward + overrideShader: {fileID: 0} + overrideShaderPassIndex: 0 + overrideShaderPassName: Forward + overrideDepthState: 0 + depthCompareFunction: 4 + depthWrite: 1 + overrideStencil: 0 + stencilReferenceValue: 64 + stencilWriteMask: 192 + stencilReadMask: 192 + stencilCompareFunction: 8 + stencilPassOperation: 0 + stencilFailOperation: 0 + stencilDepthFailOperation: 0 + shaderPass: 0 + variableRateShading: 0 +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 1823688467} + - {fileID: 157207114} + - {fileID: 2013410475} + - {fileID: 546617065874371666} + - {fileID: 616090861} + - {fileID: 725752232} + - {fileID: 1963481198} diff --git a/Tests/SRPTests/Projects/VisualEffectGraph_HDRP/Assets/AllTests/VFXTests/GraphicsTests/45_CustomPassCulling/45_CustomPassCulling.unity.meta b/Tests/SRPTests/Projects/VisualEffectGraph_HDRP/Assets/AllTests/VFXTests/GraphicsTests/45_CustomPassCulling/45_CustomPassCulling.unity.meta new file mode 100644 index 00000000000..1495ed844b0 --- /dev/null +++ b/Tests/SRPTests/Projects/VisualEffectGraph_HDRP/Assets/AllTests/VFXTests/GraphicsTests/45_CustomPassCulling/45_CustomPassCulling.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e04b44761b7423d4ab0e2e30ff1bf682 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/SRPTests/Projects/VisualEffectGraph_HDRP/Assets/AllTests/VFXTests/GraphicsTests/45_CustomPassCulling/45_FrustumCulledFX.vfx b/Tests/SRPTests/Projects/VisualEffectGraph_HDRP/Assets/AllTests/VFXTests/GraphicsTests/45_CustomPassCulling/45_FrustumCulledFX.vfx new file mode 100644 index 00000000000..e6dce552fb4 --- /dev/null +++ b/Tests/SRPTests/Projects/VisualEffectGraph_HDRP/Assets/AllTests/VFXTests/GraphicsTests/45_CustomPassCulling/45_FrustumCulledFX.vfx @@ -0,0 +1,2641 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &114340500867371532 +MonoBehaviour: + m_ObjectHideFlags: 1 + 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: d01270efd3285ea4a9d6c555cb0a8027, type: 3} + m_Name: VFXUI + m_EditorClassIdentifier: + groupInfos: + - title: Base Loop + position: + serializedVersion: 2 + x: 851 + y: -1433 + width: 475 + height: 2277 + contents: + - model: {fileID: 8926484042661614608} + id: 0 + isStickyNote: 0 + - model: {fileID: 8926484042661614613} + id: 0 + isStickyNote: 0 + - model: {fileID: 8926484042661614662} + id: 0 + isStickyNote: 0 + - model: {fileID: 8926484042661614681} + id: 0 + isStickyNote: 0 + stickyNoteInfos: [] + categories: [] + uiBounds: + serializedVersion: 2 + x: 852 + y: -1433 + width: 474 + height: 2278 +--- !u!114 &114350483966674976 +MonoBehaviour: + m_ObjectHideFlags: 1 + 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: 7d4c867f6b72b714dbb5fd1780afe208, type: 3} + m_Name: 45_FrustumCulledFX + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: + - {fileID: 8926484042661614608} + - {fileID: 8926484042661614613} + - {fileID: 8926484042661614662} + - {fileID: 8926484042661614681} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_UIInfos: {fileID: 114340500867371532} + m_CustomAttributes: [] + m_ParameterInfo: [] + m_ImportDependencies: [] + m_GraphVersion: 18 + m_ResourceVersion: 1 + m_SubgraphDependencies: [] + m_CategoryPath: +--- !u!2058629511 &8926484042661614527 +VisualEffectResource: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: 45_FrustumCulledFX + m_Graph: {fileID: 114350483966674976} + m_Infos: + m_RendererSettings: + motionVectorGenerationMode: 0 + shadowCastingMode: 1 + rayTracingMode: 0 + receiveShadows: 0 + reflectionProbeUsage: 0 + lightProbeUsage: 0 + m_CullingFlags: 3 + m_UpdateMode: 0 + m_PreWarmDeltaTime: 0.05 + m_PreWarmStepCount: 0 + m_InitialEventName: OnPlay + m_InstancingMode: 0 + m_InstancingCapacity: 64 +--- !u!114 &8926484042661614608 +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: 73a13919d81fb7444849bae8b5c812a2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 114350483966674976} + m_Children: + - {fileID: 8926484042661614610} + m_UIPosition: {x: 877, y: -1374} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: [] + m_OutputSlots: [] + m_Label: Spawn system + m_Data: {fileID: 8926484042661614609} + m_InputFlowSlot: + - link: [] + - link: [] + m_OutputFlowSlot: + - link: + - context: {fileID: 8926484042661614613} + slotIndex: 0 + loopDuration: 0 + loopCount: 0 + delayBeforeLoop: 0 + delayAfterLoop: 0 +--- !u!114 &8926484042661614609 +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: f68759077adc0b143b6e1c101e82065e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + title: + m_Owners: + - {fileID: 8926484042661614608} +--- !u!114 &8926484042661614610 +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: f05c6884b705ce14d82ae720f0ec209f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614608} + m_Children: [] + m_UIPosition: {x: 357.33423, y: 1216.2454} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614611} + m_OutputSlots: [] + m_Disabled: 0 + m_ActivationSlot: {fileID: 8926484042661614612} +--- !u!114 &8926484042661614611 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614611} + m_MasterData: + m_Owner: {fileID: 8926484042661614610} + m_Value: + m_Type: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: 64 + m_Space: -1 + m_Property: + name: Rate + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614612 +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: b4c11ff25089a324daf359f4b0629b33, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614612} + m_MasterData: + m_Owner: {fileID: 8926484042661614610} + m_Value: + m_Type: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: True + m_Space: -1 + m_Property: + name: _vfx_enabled + m_serializedType: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614613 +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: 9dfea48843f53fc438eabc12a3a30abc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 114350483966674976} + m_Children: + - {fileID: 8926484042661614628} + - {fileID: 8926484042661614834} + - {fileID: 8926484042661614806} + m_UIPosition: {x: 877, y: -1086} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614774} + - {fileID: 8926484042661614783} + m_OutputSlots: [] + m_Label: Initialize Particles + m_Data: {fileID: 8926484042661614627} + m_InputFlowSlot: + - link: + - context: {fileID: 8926484042661614608} + slotIndex: 0 + m_OutputFlowSlot: + - link: + - context: {fileID: 8926484042661614662} + slotIndex: 0 +--- !u!114 &8926484042661614627 +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: d78581a96eae8bf4398c282eb0b098bd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + title: Simple Loop + m_Owners: + - {fileID: 8926484042661614613} + - {fileID: 8926484042661614662} + - {fileID: 8926484042661614681} + dataType: 0 + capacity: 68 + stripCapacity: 1 + particlePerStripCount: 32 + needsComputeBounds: 0 + boundsMode: 0 + m_Space: 1 +--- !u!114 &8926484042661614628 +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: a971fa2e110a0ac42ac1d8dae408704b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614613} + m_Children: [] + m_UIPosition: {x: 357.33423, y: 1214.2454} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614629} + - {fileID: 8926484042661614630} + m_OutputSlots: [] + m_Disabled: 0 + m_ActivationSlot: {fileID: 8926484042661614631} + attribute: lifetime + Composition: 0 + Source: 0 + Random: 2 + channels: 6 +--- !u!114 &8926484042661614629 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614629} + m_MasterData: + m_Owner: {fileID: 8926484042661614628} + m_Value: + m_Type: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: 0.8 + m_Space: -1 + m_Property: + name: A + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614630 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614630} + m_MasterData: + m_Owner: {fileID: 8926484042661614628} + m_Value: + m_Type: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: 1.2 + m_Space: -1 + m_Property: + name: B + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614631 +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: b4c11ff25089a324daf359f4b0629b33, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614631} + m_MasterData: + m_Owner: {fileID: 8926484042661614628} + m_Value: + m_Type: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: True + m_Space: -1 + m_Property: + name: _vfx_enabled + m_serializedType: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614662 +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: 2dc095764ededfa4bb32fa602511ea4b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 114350483966674976} + m_Children: + - {fileID: 8926484042661614820} + - {fileID: 8926484042661614827} + m_UIPosition: {x: 877, y: -187} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: [] + m_OutputSlots: [] + m_Label: Update Particles + m_Data: {fileID: 8926484042661614627} + m_InputFlowSlot: + - link: + - context: {fileID: 8926484042661614613} + slotIndex: 0 + m_OutputFlowSlot: + - link: + - context: {fileID: 8926484042661614681} + slotIndex: 0 + integration: 0 + angularIntegration: 0 + ageParticles: 1 + reapParticles: 1 + skipZeroDeltaUpdate: 0 +--- !u!114 &8926484042661614681 +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: a0b9e6b9139e58d4c957ec54595da7d3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 114350483966674976} + m_Children: + - {fileID: 8926484042661614685} + - {fileID: 8926484042661614830} + - {fileID: 8926484042661614722} + m_UIPosition: {x: 877, y: 214} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614854} + - {fileID: 8926484042661614682} + m_OutputSlots: [] + m_Label: Render Quad + m_Data: {fileID: 8926484042661614627} + m_InputFlowSlot: + - link: + - context: {fileID: 8926484042661614662} + slotIndex: 0 + m_OutputFlowSlot: + - link: [] + blendMode: 1 + cullMode: 0 + zWriteMode: 0 + zTestMode: 0 + useAlphaClipping: 0 + generateMotionVector: 0 + excludeFromTUAndAA: 0 + sortingPriority: 0 + m_SubOutputs: + - {fileID: 8926484042661614687} + - {fileID: 8926484042661614833} + colorMapping: 0 + uvMode: 0 + flipbookLayout: 0 + flipbookBlendFrames: 0 + flipbookMotionVectors: 0 + useSoftParticle: 0 + vfxSystemSortPriority: 0 + sort: 0 + sortMode: 0 + revertSorting: 0 + indirectDraw: 0 + computeCulling: 0 + frustumCulling: 1 + castShadows: 1 + useExposureWeight: 0 + enableRayTracing: 0 + decimationFactor: 1 + raytracedScaleMode: 0 + needsOwnSort: 0 + needsOwnAabbBuffer: 0 + shaderGraph: {fileID: 0} + materialSettings: + m_PropertyNames: [] + m_PropertyValues: [] + renderQueue: -1 + primitiveType: 1 + useGeometryShader: 0 +--- !u!114 &8926484042661614682 +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: 70a331b1d86cc8d4aa106ccbe0da5852, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614682} + m_MasterData: + m_Owner: {fileID: 8926484042661614681} + m_Value: + m_Type: + m_SerializableType: UnityEngine.Texture2D, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"obj":{"fileID":2800000,"guid":"8aafaa78fe944854997fef757ff4ba72","type":3}}' + m_Space: -1 + m_Property: + name: mainTexture + m_serializedType: + m_SerializableType: UnityEngine.Texture2D, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614685 +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: d16c6aeaef944094b9a1633041804207, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614681} + m_Children: [] + m_UIPosition: {x: 0, y: 2} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: [] + m_OutputSlots: [] + m_Disabled: 0 + m_ActivationSlot: {fileID: 8926484042661614686} + mode: 0 + axes: 4 + faceRay: 1 +--- !u!114 &8926484042661614686 +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: b4c11ff25089a324daf359f4b0629b33, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614686} + m_MasterData: + m_Owner: {fileID: 8926484042661614685} + m_Value: + m_Type: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: True + m_Space: -1 + m_Property: + name: _vfx_enabled + m_serializedType: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614687 +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: 081ffb0090424ba4cb05370a42ead6b9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + opaqueRenderQueue: 0 + transparentRenderQueue: 1 +--- !u!114 &8926484042661614722 +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: 01ec2c1930009b04ea08905b47262415, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614681} + m_Children: [] + m_UIPosition: {x: 508.1385, y: 271.34802} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614723} + m_OutputSlots: [] + m_Disabled: 0 + m_ActivationSlot: {fileID: 8926484042661614724} + attribute: color + Composition: 2 + AlphaComposition: 0 + SampleMode: 0 + Mode: 1 + ColorMode: 3 + channels: 6 +--- !u!114 &8926484042661614723 +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: 76f778ff57c4e8145b9681fe3268d8e9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614723} + m_MasterData: + m_Owner: {fileID: 8926484042661614722} + m_Value: + m_Type: + m_SerializableType: UnityEngine.Gradient, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"colorKeys":[{"color":{"r":0.973445475101471,"g":0.5209956765174866,"b":0.0021246890537440778,"a":1.0},"time":0.5000076293945313},{"color":{"r":0.2158605307340622,"g":0.6866854429244995,"b":1.0,"a":1.0},"time":0.5020981431007385}],"alphaKeys":[{"alpha":1.0,"time":0.0},{"alpha":1.0,"time":0.800000011920929},{"alpha":0.0,"time":1.0}],"gradientMode":0}' + m_Space: -1 + m_Property: + name: Color + m_serializedType: + m_SerializableType: UnityEngine.Gradient, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614724 +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: b4c11ff25089a324daf359f4b0629b33, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614724} + m_MasterData: + m_Owner: {fileID: 8926484042661614722} + m_Value: + m_Type: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: True + m_Space: -1 + m_Property: + name: _vfx_enabled + m_serializedType: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614774 +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: 1b605c022ee79394a8a776c0869b3f9a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: + - {fileID: 8926484042661614775} + - {fileID: 8926484042661614779} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614774} + m_MasterData: + m_Owner: {fileID: 8926484042661614613} + m_Value: + m_Type: + m_SerializableType: UnityEditor.VFX.AABox, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"center":{"x":0.0,"y":1.0,"z":0.0},"size":{"x":3.5,"y":4.0,"z":3.5}}' + m_Space: 0 + m_Property: + name: bounds + m_serializedType: + m_SerializableType: UnityEditor.VFX.AABox, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614775 +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: ac39bd03fca81b849929b9c966f1836a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614774} + m_Children: + - {fileID: 8926484042661614776} + - {fileID: 8926484042661614777} + - {fileID: 8926484042661614778} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614774} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: center + m_serializedType: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614776 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614775} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614774} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: x + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614777 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614775} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614774} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: y + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614778 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614775} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614774} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: z + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614779 +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: ac39bd03fca81b849929b9c966f1836a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614774} + m_Children: + - {fileID: 8926484042661614780} + - {fileID: 8926484042661614781} + - {fileID: 8926484042661614782} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614774} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: size + m_serializedType: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614780 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614779} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614774} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: x + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614781 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614779} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614774} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: y + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614782 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614779} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614774} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: z + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614783 +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: ac39bd03fca81b849929b9c966f1836a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: + - {fileID: 8926484042661614784} + - {fileID: 8926484042661614785} + - {fileID: 8926484042661614786} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614783} + m_MasterData: + m_Owner: {fileID: 8926484042661614613} + m_Value: + m_Type: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"x":0.5,"y":0.5,"z":0.5}' + m_Space: -1 + m_Property: + name: boundsPadding + m_serializedType: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614784 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614783} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614783} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: x + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614785 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614783} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614783} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: y + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614786 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614783} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614783} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: z + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614806 +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: 26096dfac7c062b4b94c293605ba085e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614613} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614807} + - {fileID: 8926484042661614818} + - {fileID: 8926484042661614819} + - {fileID: 8926484042661614813} + m_OutputSlots: [] + m_Disabled: 0 + m_ActivationSlot: {fileID: 8926484042661614814} + composition: 0 + speedMode: 1 +--- !u!114 &8926484042661614807 +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: e8f2b4a846fd4c14a893cde576ad172b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: + - {fileID: 8926484042661614808} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614807} + m_MasterData: + m_Owner: {fileID: 8926484042661614806} + m_Value: + m_Type: + m_SerializableType: UnityEditor.VFX.DirectionType, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"direction":{"x":0.0,"y":1.0,"z":0.0}}' + m_Space: 0 + m_Property: + name: Direction + m_serializedType: + m_SerializableType: UnityEditor.VFX.DirectionType, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614808 +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: ac39bd03fca81b849929b9c966f1836a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614807} + m_Children: + - {fileID: 8926484042661614809} + - {fileID: 8926484042661614810} + - {fileID: 8926484042661614811} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614807} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: direction + m_serializedType: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614809 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614808} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614807} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: x + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614810 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614808} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614807} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: y + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614811 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614808} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614807} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: z + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614813 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614813} + m_MasterData: + m_Owner: {fileID: 8926484042661614806} + m_Value: + m_Type: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: 0.85 + m_Space: -1 + m_Property: + name: DirectionBlend + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614814 +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: b4c11ff25089a324daf359f4b0629b33, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614814} + m_MasterData: + m_Owner: {fileID: 8926484042661614806} + m_Value: + m_Type: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: True + m_Space: -1 + m_Property: + name: _vfx_enabled + m_serializedType: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614818 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614818} + m_MasterData: + m_Owner: {fileID: 8926484042661614806} + m_Value: + m_Type: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: 4.8 + m_Space: -1 + m_Property: + name: MinSpeed + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614819 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614819} + m_MasterData: + m_Owner: {fileID: 8926484042661614806} + m_Value: + m_Type: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: 10 + m_Space: -1 + m_Property: + name: MaxSpeed + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614820 +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: e5dce54ae3368c042b26ab1f305e15b2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614662} + m_Children: [] + m_UIPosition: {x: 0, y: 2} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614821} + m_OutputSlots: [] + m_Disabled: 0 + m_ActivationSlot: {fileID: 8926484042661614826} +--- !u!114 &8926484042661614821 +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: a9f9544b71b7dab44a4644b6807e8bf6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: + - {fileID: 8926484042661614822} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614821} + m_MasterData: + m_Owner: {fileID: 8926484042661614820} + m_Value: + m_Type: + m_SerializableType: UnityEditor.VFX.Vector, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"vector":{"x":0.0,"y":-9.8100004196167,"z":0.0}}' + m_Space: 1 + m_Property: + name: Force + m_serializedType: + m_SerializableType: UnityEditor.VFX.Vector, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614822 +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: ac39bd03fca81b849929b9c966f1836a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614821} + m_Children: + - {fileID: 8926484042661614823} + - {fileID: 8926484042661614824} + - {fileID: 8926484042661614825} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614821} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: vector + m_serializedType: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614823 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614822} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614821} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: x + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614824 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614822} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614821} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: y + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614825 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614822} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614821} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: z + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614826 +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: b4c11ff25089a324daf359f4b0629b33, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614826} + m_MasterData: + m_Owner: {fileID: 8926484042661614820} + m_Value: + m_Type: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: True + m_Space: -1 + m_Property: + name: _vfx_enabled + m_serializedType: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614827 +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: b294673e879f9cf449cc9de536818ea9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614662} + m_Children: [] + m_UIPosition: {x: 0, y: 77} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614828} + m_OutputSlots: [] + m_Disabled: 0 + m_ActivationSlot: {fileID: 8926484042661614829} + UseParticleSize: 0 +--- !u!114 &8926484042661614828 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614828} + m_MasterData: + m_Owner: {fileID: 8926484042661614827} + m_Value: + m_Type: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: 0.5 + m_Space: -1 + m_Property: + name: dragCoefficient + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614829 +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: b4c11ff25089a324daf359f4b0629b33, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614829} + m_MasterData: + m_Owner: {fileID: 8926484042661614827} + m_Value: + m_Type: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: True + m_Space: -1 + m_Property: + name: _vfx_enabled + m_serializedType: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614830 +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: 01ec2c1930009b04ea08905b47262415, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614681} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614831} + m_OutputSlots: [] + m_Disabled: 0 + m_ActivationSlot: {fileID: 8926484042661614832} + attribute: size + Composition: 2 + AlphaComposition: 0 + SampleMode: 0 + Mode: 1 + ColorMode: 3 + channels: 6 +--- !u!114 &8926484042661614831 +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: c117b74c5c58db542bffe25c78fe92db, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614831} + m_MasterData: + m_Owner: {fileID: 8926484042661614830} + m_Value: + m_Type: + m_SerializableType: UnityEngine.AnimationCurve, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"frames":[{"time":0.0,"value":0.75,"inTangent":0.0,"outTangent":1.25,"tangentMode":0,"leftTangentMode":2,"rightTangentMode":2,"broken":true},{"time":1.0,"value":2.0,"inTangent":1.25,"outTangent":2.0,"tangentMode":0,"leftTangentMode":2,"rightTangentMode":2,"broken":true}],"preWrapMode":8,"postWrapMode":8,"version":1}' + m_Space: -1 + m_Property: + name: Size + m_serializedType: + m_SerializableType: UnityEngine.AnimationCurve, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614832 +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: b4c11ff25089a324daf359f4b0629b33, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614832} + m_MasterData: + m_Owner: {fileID: 8926484042661614830} + m_Value: + m_Type: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: True + m_Space: -1 + m_Property: + name: _vfx_enabled + m_serializedType: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614833 +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: 388ad3b1dc9c6ae45b630f914fab638f, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &8926484042661614834 +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: fb1f6794ace8b0c4592af9c5604cddbf, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614613} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 0 + m_UISuperCollapsed: 0 + m_InputSlots: + - {fileID: 8926484042661614835} + m_OutputSlots: [] + m_Disabled: 0 + m_ActivationSlot: {fileID: 8926484042661614852} + compositionPosition: 0 + compositionAxes: 0 + compositionDirection: 0 + positionMode: 0 + spawnMode: 0 + shape: 0 + heightMode: 1 + applyOrientation: 1 + killOutliers: 0 + projectionSteps: 2 +--- !u!114 &8926484042661614835 +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: 1b605c022ee79394a8a776c0869b3f9a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: + - {fileID: 8926484042661614836} + - {fileID: 8926484042661614851} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614835} + m_MasterData: + m_Owner: {fileID: 8926484042661614834} + m_Value: + m_Type: + m_SerializableType: UnityEditor.VFX.TArcSphere, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_SerializableObject: '{"sphere":{"transform":{"position":{"x":0.0,"y":0.0,"z":0.0},"angles":{"x":0.0,"y":0.0,"z":0.0},"scale":{"x":1.0,"y":1.0,"z":1.0}},"radius":0.029999999329447748},"arc":6.28000020980835}' + m_Space: 0 + m_Property: + name: arcSphere + m_serializedType: + m_SerializableType: UnityEditor.VFX.TArcSphere, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614836 +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: 1b605c022ee79394a8a776c0869b3f9a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614835} + m_Children: + - {fileID: 8926484042661614837} + - {fileID: 8926484042661614850} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614835} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: sphere + m_serializedType: + m_SerializableType: UnityEditor.VFX.TSphere, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614837 +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: 3e3f628d80ffceb489beac74258f9cf7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614836} + m_Children: + - {fileID: 8926484042661614838} + - {fileID: 8926484042661614842} + - {fileID: 8926484042661614846} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614835} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: transform + m_serializedType: + m_SerializableType: UnityEditor.VFX.Transform, Unity.VisualEffectGraph.Editor, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614838 +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: ac39bd03fca81b849929b9c966f1836a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614837} + m_Children: + - {fileID: 8926484042661614839} + - {fileID: 8926484042661614840} + - {fileID: 8926484042661614841} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614835} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: position + m_serializedType: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614839 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614838} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614835} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: x + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614840 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614838} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614835} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: y + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614841 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614838} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614835} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: z + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614842 +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: ac39bd03fca81b849929b9c966f1836a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614837} + m_Children: + - {fileID: 8926484042661614843} + - {fileID: 8926484042661614844} + - {fileID: 8926484042661614845} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614835} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: angles + m_serializedType: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614843 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614842} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614835} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: x + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614844 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614842} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614835} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: y + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614845 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614842} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614835} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: z + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614846 +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: ac39bd03fca81b849929b9c966f1836a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614837} + m_Children: + - {fileID: 8926484042661614847} + - {fileID: 8926484042661614848} + - {fileID: 8926484042661614849} + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614835} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: scale + m_serializedType: + m_SerializableType: UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614847 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614846} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614835} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: x + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614848 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614846} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614835} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: y + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614849 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614846} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614835} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: z + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614850 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614836} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614835} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: radius + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614851 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 8926484042661614835} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614835} + m_MasterData: + m_Owner: {fileID: 0} + m_Value: + m_Type: + m_SerializableType: + m_SerializableObject: + m_Space: -1 + m_Property: + name: arc + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614852 +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: b4c11ff25089a324daf359f4b0629b33, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614852} + m_MasterData: + m_Owner: {fileID: 8926484042661614834} + m_Value: + m_Type: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: True + m_Space: -1 + m_Property: + name: _vfx_enabled + m_serializedType: + m_SerializableType: System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] +--- !u!114 &8926484042661614854 +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: f780aa281814f9842a7c076d436932e7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UIIgnoredErrors: [] + m_Parent: {fileID: 0} + m_Children: [] + m_UIPosition: {x: 0, y: 0} + m_UICollapsed: 1 + m_UISuperCollapsed: 0 + m_MasterSlot: {fileID: 8926484042661614854} + m_MasterData: + m_Owner: {fileID: 8926484042661614681} + m_Value: + m_Type: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_SerializableObject: 0.5 + m_Space: -1 + m_Property: + name: alphaThreshold + m_serializedType: + m_SerializableType: System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + m_Direction: 0 + m_LinkedSlots: [] diff --git a/Tests/SRPTests/Projects/VisualEffectGraph_HDRP/Assets/AllTests/VFXTests/GraphicsTests/45_CustomPassCulling/45_FrustumCulledFX.vfx.meta b/Tests/SRPTests/Projects/VisualEffectGraph_HDRP/Assets/AllTests/VFXTests/GraphicsTests/45_CustomPassCulling/45_FrustumCulledFX.vfx.meta new file mode 100644 index 00000000000..bde7d844647 --- /dev/null +++ b/Tests/SRPTests/Projects/VisualEffectGraph_HDRP/Assets/AllTests/VFXTests/GraphicsTests/45_CustomPassCulling/45_FrustumCulledFX.vfx.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: 6854beb20a8f22849a59d6355dab6832 +VisualEffectImporter: + externalObjects: {} + serializedVersion: 1 + template: + name: + category: + description: + icon: {instanceID: 0} + thumbnail: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/SRPTests/Projects/VisualEffectGraph_HDRP/ProjectSettings/EditorBuildSettings.asset b/Tests/SRPTests/Projects/VisualEffectGraph_HDRP/ProjectSettings/EditorBuildSettings.asset index 8832a8e96af..377938eb7de 100644 --- a/Tests/SRPTests/Projects/VisualEffectGraph_HDRP/ProjectSettings/EditorBuildSettings.asset +++ b/Tests/SRPTests/Projects/VisualEffectGraph_HDRP/ProjectSettings/EditorBuildSettings.asset @@ -332,5 +332,8 @@ EditorBuildSettings: - enabled: 1 path: Assets/AllTests/VFXTests/GraphicsTests/44_SDFBakerSlices/44_SDFBakerSlices.unity guid: a19f61b8cadc87a4ab6eb52ee1b093e7 + - enabled: 1 + path: Assets/AllTests/VFXTests/GraphicsTests/45_CustomPassCulling/45_CustomPassCulling.unity + guid: e04b44761b7423d4ab0e2e30ff1bf682 m_configObjects: {} m_UseUCBPForAssetBundles: 0