From 5ee469558a99b54de1753b960880003c04ad319a Mon Sep 17 00:00:00 2001 From: Paul Hine Date: Fri, 11 Apr 2025 15:38:58 +0200 Subject: [PATCH 1/2] chore: update to Unity 6 --- .../Assets/DefaultVolumeProfile.asset | 15 + .../Assets/DefaultVolumeProfile.asset.meta | 8 + .../Images/TagStandard41h12/Materials/0.mat | 7 +- .../Images/TagStandard41h12/Materials/1.mat | 7 +- .../Images/TagStandard41h12/Materials/2.mat | 7 +- .../Images/TagStandard41h12/Materials/3.mat | 7 +- .../Examples/Common/Materials/Blue.mat | 6 +- .../Examples/Common/Materials/Green.mat | 6 +- .../Examples/Common/Materials/Red.mat | 6 +- .../Common/Settings/URP-Balanced.asset | 32 +- .../Settings/URP-HighFidelity-Renderer.asset | 33 +- .../Common/Settings/URP-HighFidelity.asset | 34 +- .../Common/Settings/URP-Performant.asset | 32 +- ...niversalRenderPipelineGlobalSettings.asset | 333 +++++++++++++++++- unity-examples/Packages/manifest.json | 18 +- unity-examples/Packages/packages-lock.json | 130 ++++--- .../ProjectSettings/EditorBuildSettings.asset | 6 +- .../ProjectSettings/GraphicsSettings.asset | 16 +- .../ProjectSettings/MultiplayerManager.asset | 7 + .../ProjectSettings/ProjectVersion.txt | 4 +- .../ProjectSettings/ShaderGraphSettings.asset | 1 + .../ProjectSettings/TagManager.asset | 11 +- .../ProjectSettings/URPProjectSettings.asset | 2 +- 23 files changed, 604 insertions(+), 124 deletions(-) create mode 100644 unity-examples/Assets/DefaultVolumeProfile.asset create mode 100644 unity-examples/Assets/DefaultVolumeProfile.asset.meta create mode 100644 unity-examples/ProjectSettings/MultiplayerManager.asset diff --git a/unity-examples/Assets/DefaultVolumeProfile.asset b/unity-examples/Assets/DefaultVolumeProfile.asset new file mode 100644 index 0000000..36c3781 --- /dev/null +++ b/unity-examples/Assets/DefaultVolumeProfile.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !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: d7fd9488000d3734a9e00ee676215985, type: 3} + m_Name: DefaultVolumeProfile + m_EditorClassIdentifier: + components: [] diff --git a/unity-examples/Assets/DefaultVolumeProfile.asset.meta b/unity-examples/Assets/DefaultVolumeProfile.asset.meta new file mode 100644 index 0000000..9accd69 --- /dev/null +++ b/unity-examples/Assets/DefaultVolumeProfile.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f51a3019cf75f2ecc8cf2f7bd388823e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity-examples/Assets/SpectacularAI/Examples/AprilTag/Images/TagStandard41h12/Materials/0.mat b/unity-examples/Assets/SpectacularAI/Examples/AprilTag/Images/TagStandard41h12/Materials/0.mat index 5d69650..beb4383 100644 --- a/unity-examples/Assets/SpectacularAI/Examples/AprilTag/Images/TagStandard41h12/Materials/0.mat +++ b/unity-examples/Assets/SpectacularAI/Examples/AprilTag/Images/TagStandard41h12/Materials/0.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: m_EditorClassIdentifier: - version: 7 + version: 9 --- !u!21 &2100000 Material: serializedVersion: 8 @@ -32,7 +32,8 @@ Material: m_CustomRenderQueue: -1 stringTagMap: RenderType: Opaque - disabledShaderPasses: [] + disabledShaderPasses: + - MOTIONVECTORS m_LockedProperties: m_SavedProperties: serializedVersion: 3 @@ -95,6 +96,7 @@ Material: m_Offset: {x: 0, y: 0} m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 - _AlphaClip: 0 - _AlphaToMask: 0 - _Blend: 0 @@ -131,3 +133,4 @@ Material: - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/unity-examples/Assets/SpectacularAI/Examples/AprilTag/Images/TagStandard41h12/Materials/1.mat b/unity-examples/Assets/SpectacularAI/Examples/AprilTag/Images/TagStandard41h12/Materials/1.mat index fb4d863..d0fb816 100644 --- a/unity-examples/Assets/SpectacularAI/Examples/AprilTag/Images/TagStandard41h12/Materials/1.mat +++ b/unity-examples/Assets/SpectacularAI/Examples/AprilTag/Images/TagStandard41h12/Materials/1.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: m_EditorClassIdentifier: - version: 7 + version: 9 --- !u!21 &2100000 Material: serializedVersion: 8 @@ -32,7 +32,8 @@ Material: m_CustomRenderQueue: -1 stringTagMap: RenderType: Opaque - disabledShaderPasses: [] + disabledShaderPasses: + - MOTIONVECTORS m_LockedProperties: m_SavedProperties: serializedVersion: 3 @@ -95,6 +96,7 @@ Material: m_Offset: {x: 0, y: 0} m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 - _AlphaClip: 0 - _AlphaToMask: 0 - _Blend: 0 @@ -131,3 +133,4 @@ Material: - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/unity-examples/Assets/SpectacularAI/Examples/AprilTag/Images/TagStandard41h12/Materials/2.mat b/unity-examples/Assets/SpectacularAI/Examples/AprilTag/Images/TagStandard41h12/Materials/2.mat index e12de50..401e05f 100644 --- a/unity-examples/Assets/SpectacularAI/Examples/AprilTag/Images/TagStandard41h12/Materials/2.mat +++ b/unity-examples/Assets/SpectacularAI/Examples/AprilTag/Images/TagStandard41h12/Materials/2.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: m_EditorClassIdentifier: - version: 7 + version: 9 --- !u!21 &2100000 Material: serializedVersion: 8 @@ -32,7 +32,8 @@ Material: m_CustomRenderQueue: -1 stringTagMap: RenderType: Opaque - disabledShaderPasses: [] + disabledShaderPasses: + - MOTIONVECTORS m_LockedProperties: m_SavedProperties: serializedVersion: 3 @@ -95,6 +96,7 @@ Material: m_Offset: {x: 0, y: 0} m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 - _AlphaClip: 0 - _AlphaToMask: 0 - _Blend: 0 @@ -131,3 +133,4 @@ Material: - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/unity-examples/Assets/SpectacularAI/Examples/AprilTag/Images/TagStandard41h12/Materials/3.mat b/unity-examples/Assets/SpectacularAI/Examples/AprilTag/Images/TagStandard41h12/Materials/3.mat index de9e765..ae70fbd 100644 --- a/unity-examples/Assets/SpectacularAI/Examples/AprilTag/Images/TagStandard41h12/Materials/3.mat +++ b/unity-examples/Assets/SpectacularAI/Examples/AprilTag/Images/TagStandard41h12/Materials/3.mat @@ -19,7 +19,8 @@ Material: m_CustomRenderQueue: -1 stringTagMap: RenderType: Opaque - disabledShaderPasses: [] + disabledShaderPasses: + - MOTIONVECTORS m_LockedProperties: m_SavedProperties: serializedVersion: 3 @@ -82,6 +83,7 @@ Material: m_Offset: {x: 0, y: 0} m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 - _AlphaClip: 0 - _AlphaToMask: 0 - _Blend: 0 @@ -118,6 +120,7 @@ Material: - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 --- !u!114 &6502494160241269930 MonoBehaviour: m_ObjectHideFlags: 11 @@ -130,4 +133,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: m_EditorClassIdentifier: - version: 7 + version: 9 diff --git a/unity-examples/Assets/SpectacularAI/Examples/Common/Materials/Blue.mat b/unity-examples/Assets/SpectacularAI/Examples/Common/Materials/Blue.mat index bc978ca..2120b9d 100644 --- a/unity-examples/Assets/SpectacularAI/Examples/Common/Materials/Blue.mat +++ b/unity-examples/Assets/SpectacularAI/Examples/Common/Materials/Blue.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: m_EditorClassIdentifier: - version: 7 + version: 9 --- !u!21 &2100000 Material: serializedVersion: 8 @@ -32,7 +32,8 @@ Material: m_CustomRenderQueue: -1 stringTagMap: RenderType: Opaque - disabledShaderPasses: [] + disabledShaderPasses: + - MOTIONVECTORS m_LockedProperties: m_SavedProperties: serializedVersion: 3 @@ -131,3 +132,4 @@ Material: - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/unity-examples/Assets/SpectacularAI/Examples/Common/Materials/Green.mat b/unity-examples/Assets/SpectacularAI/Examples/Common/Materials/Green.mat index 841157a..84f6088 100644 --- a/unity-examples/Assets/SpectacularAI/Examples/Common/Materials/Green.mat +++ b/unity-examples/Assets/SpectacularAI/Examples/Common/Materials/Green.mat @@ -19,7 +19,8 @@ Material: m_CustomRenderQueue: -1 stringTagMap: RenderType: Opaque - disabledShaderPasses: [] + disabledShaderPasses: + - MOTIONVECTORS m_LockedProperties: m_SavedProperties: serializedVersion: 3 @@ -118,6 +119,7 @@ Material: - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 --- !u!114 &6792905198192354248 MonoBehaviour: m_ObjectHideFlags: 11 @@ -130,4 +132,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: m_EditorClassIdentifier: - version: 7 + version: 9 diff --git a/unity-examples/Assets/SpectacularAI/Examples/Common/Materials/Red.mat b/unity-examples/Assets/SpectacularAI/Examples/Common/Materials/Red.mat index 59425c6..779b499 100644 --- a/unity-examples/Assets/SpectacularAI/Examples/Common/Materials/Red.mat +++ b/unity-examples/Assets/SpectacularAI/Examples/Common/Materials/Red.mat @@ -19,7 +19,8 @@ Material: m_CustomRenderQueue: -1 stringTagMap: RenderType: Opaque - disabledShaderPasses: [] + disabledShaderPasses: + - MOTIONVECTORS m_LockedProperties: m_SavedProperties: serializedVersion: 3 @@ -118,6 +119,7 @@ Material: - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 --- !u!114 &8965199561859077787 MonoBehaviour: m_ObjectHideFlags: 11 @@ -130,4 +132,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: m_EditorClassIdentifier: - version: 7 + version: 9 diff --git a/unity-examples/Assets/SpectacularAI/Examples/Common/Settings/URP-Balanced.asset b/unity-examples/Assets/SpectacularAI/Examples/Common/Settings/URP-Balanced.asset index aef05b8..f39bad3 100644 --- a/unity-examples/Assets/SpectacularAI/Examples/Common/Settings/URP-Balanced.asset +++ b/unity-examples/Assets/SpectacularAI/Examples/Common/Settings/URP-Balanced.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} m_Name: URP-Balanced m_EditorClassIdentifier: - k_AssetVersion: 11 + k_AssetVersion: 12 k_AssetPreviousVersion: 11 m_RendererType: 1 m_RendererData: {fileID: 0} @@ -33,6 +33,14 @@ MonoBehaviour: m_EnableLODCrossFade: 1 m_LODCrossFadeDitheringType: 1 m_ShEvalMode: 0 + m_LightProbeSystem: 0 + m_ProbeVolumeMemoryBudget: 1024 + m_ProbeVolumeBlendingMemoryBudget: 256 + m_SupportProbeVolumeGPUStreaming: 0 + m_SupportProbeVolumeDiskStreaming: 0 + m_SupportProbeVolumeScenarios: 0 + m_SupportProbeVolumeScenarioBlending: 0 + m_ProbeVolumeSHBands: 1 m_MainLightRenderingMode: 1 m_MainLightShadowsSupported: 1 m_MainLightShadowmapResolution: 1024 @@ -67,21 +75,30 @@ MonoBehaviour: m_SupportsLightLayers: 0 m_DebugLevel: 0 m_StoreActionsOptimization: 0 - m_EnableRenderGraph: 0 m_UseAdaptivePerformance: 1 m_ColorGradingMode: 0 m_ColorGradingLutSize: 32 + m_AllowPostProcessAlphaOutput: 0 m_UseFastSRGBLinearConversion: 0 m_SupportDataDrivenLensFlare: 1 + m_SupportScreenSpaceLensFlare: 1 + m_GPUResidentDrawerMode: 0 + m_SmallMeshScreenPercentage: 0 + m_GPUResidentDrawerEnableOcclusionCullingInCameras: 0 m_ShadowType: 1 m_LocalShadowsSupported: 0 m_LocalShadowsAtlasResolution: 256 m_MaxPixelLights: 0 m_ShadowAtlasResolution: 256 m_VolumeFrameworkUpdateMode: 0 - m_Textures: - blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3} - bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3} + m_VolumeProfile: {fileID: 0} + apvScenesData: + obsoleteSceneBounds: + m_Keys: [] + m_Values: [] + obsoleteHasProbeVolumes: + m_Keys: [] + m_Values: m_PrefilteringModeMainLightShadows: 3 m_PrefilteringModeAdditionalLight: 3 m_PrefilteringModeAdditionalLightShadows: 0 @@ -92,6 +109,7 @@ MonoBehaviour: m_PrefilterDebugKeywords: 1 m_PrefilterWriteRenderingLayers: 1 m_PrefilterHDROutput: 1 + m_PrefilterAlphaOutput: 1 m_PrefilterSSAODepthNormals: 1 m_PrefilterSSAOSourceDepthLow: 0 m_PrefilterSSAOSourceDepthMedium: 1 @@ -110,5 +128,9 @@ MonoBehaviour: m_PrefilterSoftShadows: 0 m_PrefilterScreenCoord: 1 m_PrefilterNativeRenderPass: 1 + m_PrefilterUseLegacyLightmaps: 0 m_ShaderVariantLogLevel: 0 m_ShadowCascades: 0 + m_Textures: + blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3} + bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3} diff --git a/unity-examples/Assets/SpectacularAI/Examples/Common/Settings/URP-HighFidelity-Renderer.asset b/unity-examples/Assets/SpectacularAI/Examples/Common/Settings/URP-HighFidelity-Renderer.asset index d9cfc00..c02db2f 100644 --- a/unity-examples/Assets/SpectacularAI/Examples/Common/Settings/URP-HighFidelity-Renderer.asset +++ b/unity-examples/Assets/SpectacularAI/Examples/Common/Settings/URP-HighFidelity-Renderer.asset @@ -51,31 +51,22 @@ MonoBehaviour: 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: -1878332245247344467} m_RendererFeatureMap: adc0de57c6d2eee5 m_UseNativeRenderPass: 0 - postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} xrSystemData: {fileID: 11400000, guid: 60e1133243b97e347b653163a8c01b64, type: 2} - shaders: - blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3} - copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3} - screenSpaceShadowPS: {fileID: 0} - samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3} - stencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3} - fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3} - fallbackLoadingPS: {fileID: 4800000, guid: 7f888aff2ac86494babad1c2c5daeee2, type: 3} - materialErrorPS: {fileID: 4800000, guid: 5fd9a8feb75a4b5894c241777f519d4e, type: 3} - coreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3} - coreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b, - type: 3} - blitHDROverlay: {fileID: 4800000, guid: a89bee29cffa951418fc1e2da94d1959, type: 3} - cameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf, - type: 3} - objectMotionVector: {fileID: 4800000, guid: 7b3ede40266cd49a395def176e1bc486, - type: 3} - dataDrivenLensFlare: {fileID: 4800000, guid: 6cda457ac28612740adb23da5d39ea92, - type: 3} + postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} m_AssetVersion: 2 m_OpaqueLayerMask: serializedVersion: 2 @@ -94,5 +85,7 @@ MonoBehaviour: m_RenderingMode: 0 m_DepthPrimingMode: 0 m_CopyDepthMode: 0 + m_DepthAttachmentFormat: 0 + m_DepthTextureFormat: 0 m_AccurateGbufferNormals: 0 m_IntermediateTextureMode: 1 diff --git a/unity-examples/Assets/SpectacularAI/Examples/Common/Settings/URP-HighFidelity.asset b/unity-examples/Assets/SpectacularAI/Examples/Common/Settings/URP-HighFidelity.asset index 627e0eb..2b7f35d 100644 --- a/unity-examples/Assets/SpectacularAI/Examples/Common/Settings/URP-HighFidelity.asset +++ b/unity-examples/Assets/SpectacularAI/Examples/Common/Settings/URP-HighFidelity.asset @@ -12,8 +12,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} m_Name: URP-HighFidelity m_EditorClassIdentifier: - k_AssetVersion: 11 - k_AssetPreviousVersion: 11 + k_AssetVersion: 12 + k_AssetPreviousVersion: 12 m_RendererType: 1 m_RendererData: {fileID: 0} m_RendererDataList: @@ -33,6 +33,14 @@ MonoBehaviour: m_EnableLODCrossFade: 1 m_LODCrossFadeDitheringType: 1 m_ShEvalMode: 0 + m_LightProbeSystem: 0 + m_ProbeVolumeMemoryBudget: 1024 + m_ProbeVolumeBlendingMemoryBudget: 256 + m_SupportProbeVolumeGPUStreaming: 0 + m_SupportProbeVolumeDiskStreaming: 0 + m_SupportProbeVolumeScenarios: 0 + m_SupportProbeVolumeScenarioBlending: 0 + m_ProbeVolumeSHBands: 1 m_MainLightRenderingMode: 1 m_MainLightShadowsSupported: 1 m_MainLightShadowmapResolution: 4096 @@ -67,21 +75,30 @@ MonoBehaviour: m_SupportsLightLayers: 0 m_DebugLevel: 0 m_StoreActionsOptimization: 0 - m_EnableRenderGraph: 0 m_UseAdaptivePerformance: 1 m_ColorGradingMode: 0 m_ColorGradingLutSize: 32 + m_AllowPostProcessAlphaOutput: 0 m_UseFastSRGBLinearConversion: 0 m_SupportDataDrivenLensFlare: 1 + m_SupportScreenSpaceLensFlare: 1 + m_GPUResidentDrawerMode: 0 + m_SmallMeshScreenPercentage: 0 + m_GPUResidentDrawerEnableOcclusionCullingInCameras: 0 m_ShadowType: 1 m_LocalShadowsSupported: 0 m_LocalShadowsAtlasResolution: 256 m_MaxPixelLights: 0 m_ShadowAtlasResolution: 256 m_VolumeFrameworkUpdateMode: 0 - m_Textures: - blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3} - bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3} + m_VolumeProfile: {fileID: 0} + apvScenesData: + obsoleteSceneBounds: + m_Keys: [] + m_Values: [] + obsoleteHasProbeVolumes: + m_Keys: [] + m_Values: m_PrefilteringModeMainLightShadows: 3 m_PrefilteringModeAdditionalLight: 3 m_PrefilteringModeAdditionalLightShadows: 2 @@ -92,6 +109,7 @@ MonoBehaviour: m_PrefilterDebugKeywords: 1 m_PrefilterWriteRenderingLayers: 1 m_PrefilterHDROutput: 1 + m_PrefilterAlphaOutput: 1 m_PrefilterSSAODepthNormals: 0 m_PrefilterSSAOSourceDepthLow: 1 m_PrefilterSSAOSourceDepthMedium: 1 @@ -110,5 +128,9 @@ MonoBehaviour: m_PrefilterSoftShadows: 0 m_PrefilterScreenCoord: 1 m_PrefilterNativeRenderPass: 1 + m_PrefilterUseLegacyLightmaps: 0 m_ShaderVariantLogLevel: 0 m_ShadowCascades: 1 + m_Textures: + blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3} + bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3} diff --git a/unity-examples/Assets/SpectacularAI/Examples/Common/Settings/URP-Performant.asset b/unity-examples/Assets/SpectacularAI/Examples/Common/Settings/URP-Performant.asset index 05bb741..3577e35 100644 --- a/unity-examples/Assets/SpectacularAI/Examples/Common/Settings/URP-Performant.asset +++ b/unity-examples/Assets/SpectacularAI/Examples/Common/Settings/URP-Performant.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} m_Name: URP-Performant m_EditorClassIdentifier: - k_AssetVersion: 11 + k_AssetVersion: 12 k_AssetPreviousVersion: 11 m_RendererType: 1 m_RendererData: {fileID: 0} @@ -33,6 +33,14 @@ MonoBehaviour: m_EnableLODCrossFade: 1 m_LODCrossFadeDitheringType: 1 m_ShEvalMode: 0 + m_LightProbeSystem: 0 + m_ProbeVolumeMemoryBudget: 1024 + m_ProbeVolumeBlendingMemoryBudget: 256 + m_SupportProbeVolumeGPUStreaming: 0 + m_SupportProbeVolumeDiskStreaming: 0 + m_SupportProbeVolumeScenarios: 0 + m_SupportProbeVolumeScenarioBlending: 0 + m_ProbeVolumeSHBands: 1 m_MainLightRenderingMode: 1 m_MainLightShadowsSupported: 0 m_MainLightShadowmapResolution: 1024 @@ -67,21 +75,30 @@ MonoBehaviour: m_SupportsLightLayers: 0 m_DebugLevel: 0 m_StoreActionsOptimization: 0 - m_EnableRenderGraph: 0 m_UseAdaptivePerformance: 1 m_ColorGradingMode: 0 m_ColorGradingLutSize: 16 + m_AllowPostProcessAlphaOutput: 0 m_UseFastSRGBLinearConversion: 0 m_SupportDataDrivenLensFlare: 1 + m_SupportScreenSpaceLensFlare: 1 + m_GPUResidentDrawerMode: 0 + m_SmallMeshScreenPercentage: 0 + m_GPUResidentDrawerEnableOcclusionCullingInCameras: 0 m_ShadowType: 1 m_LocalShadowsSupported: 0 m_LocalShadowsAtlasResolution: 256 m_MaxPixelLights: 0 m_ShadowAtlasResolution: 256 m_VolumeFrameworkUpdateMode: 0 - m_Textures: - blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3} - bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3} + m_VolumeProfile: {fileID: 0} + apvScenesData: + obsoleteSceneBounds: + m_Keys: [] + m_Values: [] + obsoleteHasProbeVolumes: + m_Keys: [] + m_Values: m_PrefilteringModeMainLightShadows: 0 m_PrefilteringModeAdditionalLight: 0 m_PrefilteringModeAdditionalLightShadows: 0 @@ -92,6 +109,7 @@ MonoBehaviour: m_PrefilterDebugKeywords: 1 m_PrefilterWriteRenderingLayers: 1 m_PrefilterHDROutput: 1 + m_PrefilterAlphaOutput: 1 m_PrefilterSSAODepthNormals: 1 m_PrefilterSSAOSourceDepthLow: 1 m_PrefilterSSAOSourceDepthMedium: 1 @@ -110,5 +128,9 @@ MonoBehaviour: m_PrefilterSoftShadows: 0 m_PrefilterScreenCoord: 1 m_PrefilterNativeRenderPass: 1 + m_PrefilterUseLegacyLightmaps: 0 m_ShaderVariantLogLevel: 0 m_ShadowCascades: 0 + m_Textures: + blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3} + bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3} diff --git a/unity-examples/Assets/SpectacularAI/Examples/Common/Settings/UniversalRenderPipelineGlobalSettings.asset b/unity-examples/Assets/SpectacularAI/Examples/Common/Settings/UniversalRenderPipelineGlobalSettings.asset index 0c0350e..d8a3ef5 100644 --- a/unity-examples/Assets/SpectacularAI/Examples/Common/Settings/UniversalRenderPipelineGlobalSettings.asset +++ b/unity-examples/Assets/SpectacularAI/Examples/Common/Settings/UniversalRenderPipelineGlobalSettings.asset @@ -12,7 +12,63 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 2ec995e51a6e251468d2a3fd8a686257, type: 3} m_Name: UniversalRenderPipelineGlobalSettings m_EditorClassIdentifier: - k_AssetVersion: 3 + m_ShaderStrippingSetting: + m_Version: 0 + m_ExportShaderVariants: 1 + m_ShaderVariantLogLevel: 0 + m_StripRuntimeDebugShaders: 1 + m_URPShaderStrippingSetting: + m_Version: 0 + m_StripUnusedPostProcessingVariants: 1 + m_StripUnusedVariants: 1 + m_StripScreenCoordOverrideVariants: 1 + m_ShaderVariantLogLevel: 0 + m_ExportShaderVariants: 1 + m_StripDebugVariants: 1 + m_StripUnusedPostProcessingVariants: 1 + m_StripUnusedVariants: 1 + m_StripScreenCoordOverrideVariants: 1 + supportRuntimeDebugDisplay: 0 + m_EnableRenderGraph: 0 + m_Settings: + m_SettingsList: + m_List: + - rid: 24591935370166272 + - rid: 24591935370166273 + - rid: 24591935370166274 + - rid: 24591935370166275 + - rid: 24591935370166276 + - rid: 24591935370166277 + - rid: 24591935370166278 + - rid: 24591935370166279 + - rid: 24591935370166280 + - rid: 24591935370166281 + - rid: 24591935370166282 + - rid: 24591935370166283 + - rid: 24591935370166284 + - rid: 24591935370166285 + - rid: 24591935370166286 + - rid: 24591935370166287 + - rid: 24591935370166288 + - rid: 24591935370166289 + - rid: 24591935370166290 + - rid: 24591935370166291 + - rid: 24591935370166292 + - rid: 24591935370166293 + m_RuntimeSettings: + m_List: + - rid: 24591935370166273 + - rid: 24591935370166274 + - rid: 24591935370166275 + - rid: 24591935370166276 + - rid: 24591935370166277 + - rid: 24591935370166279 + - rid: 24591935370166280 + - rid: 24591935370166285 + - rid: 24591935370166288 + - rid: 24591935370166292 + m_AssetVersion: 8 + m_ObsoleteDefaultVolumeProfile: {fileID: 0} m_RenderingLayerNames: - Light Layer default - Light Layer 1 @@ -31,11 +87,270 @@ MonoBehaviour: lightLayerName5: Light Layer 5 lightLayerName6: Light Layer 6 lightLayerName7: Light Layer 7 - m_StripDebugVariants: 1 - m_StripUnusedPostProcessingVariants: 1 - m_StripUnusedVariants: 1 - m_StripUnusedLODCrossFadeVariants: 1 - m_StripScreenCoordOverrideVariants: 1 - supportRuntimeDebugDisplay: 0 - m_ShaderVariantLogLevel: 0 - m_ExportShaderVariants: 1 + apvScenesData: + obsoleteSceneBounds: + m_Keys: [] + m_Values: [] + obsoleteHasProbeVolumes: + m_Keys: [] + m_Values: + references: + version: 2 + RefIds: + - rid: 24591935370166272 + type: {class: UniversalRenderPipelineEditorMaterials, ns: UnityEngine.Rendering.Universal, + asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_DefaultMaterial: {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, + type: 2} + m_DefaultParticleMaterial: {fileID: 2100000, guid: e823cd5b5d27c0f4b8256e7c12ee3e6d, + type: 2} + m_DefaultLineMaterial: {fileID: 2100000, guid: e823cd5b5d27c0f4b8256e7c12ee3e6d, + type: 2} + m_DefaultTerrainMaterial: {fileID: 2100000, guid: 594ea882c5a793440b60ff72d896021e, + type: 2} + m_DefaultDecalMaterial: {fileID: 2100000, guid: 31d0dcc6f2dd4e4408d18036a2c93862, + type: 2} + m_DefaultSpriteMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, + type: 2} + - rid: 24591935370166273 + type: {class: UniversalRenderPipelineDebugShaders, ns: UnityEngine.Rendering.Universal, + asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_DebugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, + type: 3} + m_HdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, + type: 3} + m_ProbeVolumeSamplingDebugComputeShader: {fileID: 7200000, guid: 53626a513ea68ce47b59dc1299fe3959, + type: 3} + - rid: 24591935370166274 + type: {class: UniversalRendererResources, ns: UnityEngine.Rendering.Universal, + asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 0 + m_CopyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3} + m_CameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf, + type: 3} + m_StencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, + type: 3} + m_DBufferClear: {fileID: 4800000, guid: f056d8bd2a1c7e44e9729144b4c70395, + type: 3} + - rid: 24591935370166275 + type: {class: URPDefaultVolumeProfileSettings, ns: UnityEngine.Rendering.Universal, + asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 0 + m_VolumeProfile: {fileID: 11400000, guid: f51a3019cf75f2ecc8cf2f7bd388823e, + type: 2} + - rid: 24591935370166276 + type: {class: RenderGraphSettings, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 0 + m_EnableRenderCompatibilityMode: 1 + - rid: 24591935370166277 + type: {class: UniversalRenderPipelineRuntimeXRResources, ns: UnityEngine.Rendering.Universal, + asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_xrOcclusionMeshPS: {fileID: 4800000, guid: 4431b1f1f743fbf4eb310a967890cbea, + type: 3} + m_xrMirrorViewPS: {fileID: 4800000, guid: d5a307c014552314b9f560906d708772, + type: 3} + m_xrMotionVector: {fileID: 4800000, guid: f89aac1e4f84468418fe30e611dff395, + type: 3} + - rid: 24591935370166278 + type: {class: Renderer2DResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 0 + m_LightShader: {fileID: 4800000, guid: 3f6c848ca3d7bca4bbe846546ac701a1, type: 3} + m_ProjectedShadowShader: {fileID: 4800000, guid: ce09d4a80b88c5a4eb9768fab4f1ee00, + type: 3} + m_SpriteShadowShader: {fileID: 4800000, guid: 44fc62292b65ab04eabcf310e799ccf6, + type: 3} + m_SpriteUnshadowShader: {fileID: 4800000, guid: de02b375720b5c445afe83cd483bedf3, + type: 3} + m_GeometryShadowShader: {fileID: 4800000, guid: 19349a0f9a7ed4c48a27445bcf92e5e1, + type: 3} + m_GeometryUnshadowShader: {fileID: 4800000, guid: 77774d9009bb81447b048c907d4c6273, + type: 3} + m_FallOffLookup: {fileID: 2800000, guid: 5688ab254e4c0634f8d6c8e0792331ca, + type: 3} + m_CopyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3} + m_DefaultLitMaterial: {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, + type: 2} + m_DefaultUnlitMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, + type: 2} + m_DefaultMaskMaterial: {fileID: 2100000, guid: 15d0c3709176029428a0da2f8cecf0b5, + type: 2} + - rid: 24591935370166279 + type: {class: UniversalRenderPipelineRuntimeTextures, ns: UnityEngine.Rendering.Universal, + asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 1 + m_BlueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, + type: 3} + m_BayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, + type: 3} + m_DebugFontTex: {fileID: 2800000, guid: 26a413214480ef144b2915d6ff4d0beb, + type: 3} + - rid: 24591935370166280 + type: {class: UniversalRenderPipelineRuntimeShaders, ns: UnityEngine.Rendering.Universal, + asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 0 + m_FallbackErrorShader: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, + type: 3} + m_BlitHDROverlay: {fileID: 4800000, guid: a89bee29cffa951418fc1e2da94d1959, + type: 3} + m_CoreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3} + m_CoreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b, + type: 3} + m_SamplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3} + m_TerrainDetailLit: {fileID: 4800000, guid: f6783ab646d374f94b199774402a5144, + type: 3} + m_TerrainDetailGrassBillboard: {fileID: 4800000, guid: 29868e73b638e48ca99a19ea58c48d90, + type: 3} + m_TerrainDetailGrass: {fileID: 4800000, guid: e507fdfead5ca47e8b9a768b51c291a1, + type: 3} + - rid: 24591935370166281 + type: {class: URPShaderStrippingSetting, ns: UnityEngine.Rendering.Universal, + asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 0 + m_StripUnusedPostProcessingVariants: 1 + m_StripUnusedVariants: 1 + m_StripScreenCoordOverrideVariants: 1 + - rid: 24591935370166282 + type: {class: UniversalRenderPipelineEditorShaders, ns: UnityEngine.Rendering.Universal, + asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_AutodeskInteractive: {fileID: 4800000, guid: 0e9d5a909a1f7e84882a534d0d11e49f, + type: 3} + m_AutodeskInteractiveTransparent: {fileID: 4800000, guid: 5c81372d981403744adbdda4433c9c11, + type: 3} + m_AutodeskInteractiveMasked: {fileID: 4800000, guid: 80aa867ac363ac043847b06ad71604cd, + type: 3} + m_TerrainDetailLit: {fileID: 4800000, guid: f6783ab646d374f94b199774402a5144, + type: 3} + m_TerrainDetailGrassBillboard: {fileID: 4800000, guid: 29868e73b638e48ca99a19ea58c48d90, + type: 3} + m_TerrainDetailGrass: {fileID: 4800000, guid: e507fdfead5ca47e8b9a768b51c291a1, + type: 3} + m_DefaultSpeedTree7Shader: {fileID: 4800000, guid: 0f4122b9a743b744abe2fb6a0a88868b, + type: 3} + m_DefaultSpeedTree8Shader: {fileID: -6465566751694194690, guid: 9920c1f1781549a46ba081a2a15a16ec, + type: 3} + m_DefaultSpeedTree9Shader: {fileID: -6465566751694194690, guid: cbd3e1cc4ae141c42a30e33b4d666a61, + type: 3} + - rid: 24591935370166283 + type: {class: UniversalRenderPipelineEditorAssets, ns: UnityEngine.Rendering.Universal, + asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_DefaultSettingsVolumeProfile: {fileID: 11400000, guid: eda47df5b85f4f249abf7abd73db2cb2, + type: 2} + - rid: 24591935370166284 + type: {class: GPUResidentDrawerResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.GPUDriven.Runtime} + data: + m_Version: 0 + m_InstanceDataBufferCopyKernels: {fileID: 7200000, guid: f984aeb540ded8b4fbb8a2047ab5b2e2, + type: 3} + m_InstanceDataBufferUploadKernels: {fileID: 7200000, guid: 53864816eb00f2343b60e1a2c5a262ef, + type: 3} + m_TransformUpdaterKernels: {fileID: 7200000, guid: 2a567b9b2733f8d47a700c3c85bed75b, + type: 3} + m_WindDataUpdaterKernels: {fileID: 7200000, guid: fde76746e4fd0ed418c224f6b4084114, + type: 3} + m_OccluderDepthPyramidKernels: {fileID: 7200000, guid: 08b2b5fb307b0d249860612774a987da, + type: 3} + m_InstanceOcclusionCullingKernels: {fileID: 7200000, guid: f6d223acabc2f974795a5a7864b50e6c, + type: 3} + m_OcclusionCullingDebugKernels: {fileID: 7200000, guid: b23e766bcf50ca4438ef186b174557df, + type: 3} + m_DebugOcclusionTestPS: {fileID: 4800000, guid: d3f0849180c2d0944bc71060693df100, + type: 3} + m_DebugOccluderPS: {fileID: 4800000, guid: b3c92426a88625841ab15ca6a7917248, + type: 3} + - rid: 24591935370166285 + type: {class: RenderGraphGlobalSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_version: 0 + m_EnableCompilationCaching: 1 + m_EnableValidityChecks: 1 + - rid: 24591935370166286 + type: {class: ProbeVolumeRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_Version: 1 + probeVolumeBlendStatesCS: {fileID: 7200000, guid: a3f7b8c99de28a94684cb1daebeccf5d, + type: 3} + probeVolumeUploadDataCS: {fileID: 7200000, guid: 0951de5992461754fa73650732c4954c, + type: 3} + probeVolumeUploadDataL2CS: {fileID: 7200000, guid: 6196f34ed825db14b81fb3eb0ea8d931, + type: 3} + - rid: 24591935370166287 + type: {class: ProbeVolumeBakingResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_Version: 1 + dilationShader: {fileID: 7200000, guid: 6bb382f7de370af41b775f54182e491d, + type: 3} + subdivideSceneCS: {fileID: 7200000, guid: bb86f1f0af829fd45b2ebddda1245c22, + type: 3} + voxelizeSceneShader: {fileID: 4800000, guid: c8b6a681c7b4e2e4785ffab093907f9e, + type: 3} + traceVirtualOffsetCS: {fileID: -6772857160820960102, guid: ff2cbab5da58bf04d82c5f34037ed123, + type: 3} + traceVirtualOffsetRT: {fileID: -5126288278712620388, guid: ff2cbab5da58bf04d82c5f34037ed123, + type: 3} + skyOcclusionCS: {fileID: -6772857160820960102, guid: 5a2a534753fbdb44e96c3c78b5a6999d, + type: 3} + skyOcclusionRT: {fileID: -5126288278712620388, guid: 5a2a534753fbdb44e96c3c78b5a6999d, + type: 3} + renderingLayerCS: {fileID: -6772857160820960102, guid: 94a070d33e408384bafc1dea4a565df9, + type: 3} + renderingLayerRT: {fileID: -5126288278712620388, guid: 94a070d33e408384bafc1dea4a565df9, + type: 3} + - rid: 24591935370166288 + type: {class: RenderGraphUtilsResources, ns: UnityEngine.Rendering.RenderGraphModule.Util, + asm: Unity.RenderPipelines.Core.Runtime} + data: + m_Version: 0 + m_CoreCopyPS: {fileID: 4800000, guid: 12dc59547ea167a4ab435097dd0f9add, type: 3} + - rid: 24591935370166289 + type: {class: ProbeVolumeDebugResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_Version: 1 + probeVolumeDebugShader: {fileID: 4800000, guid: 3b21275fd12d65f49babb5286f040f2d, + type: 3} + probeVolumeFragmentationDebugShader: {fileID: 4800000, guid: 3a80877c579b9144ebdcc6d923bca303, + type: 3} + probeVolumeSamplingDebugShader: {fileID: 4800000, guid: bf54e6528c79a224e96346799064c393, + type: 3} + probeVolumeOffsetDebugShader: {fileID: 4800000, guid: db8bd7436dc2c5f4c92655307d198381, + type: 3} + probeSamplingDebugMesh: {fileID: -3555484719484374845, guid: 20be25aac4e22ee49a7db76fb3df6de2, + type: 3} + numbersDisplayTex: {fileID: 2800000, guid: 73fe53b428c5b3440b7e87ee830b608a, + type: 3} + - rid: 24591935370166290 + type: {class: ProbeVolumeGlobalSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_Version: 1 + m_ProbeVolumeDisableStreamingAssets: 0 + - rid: 24591935370166291 + type: {class: IncludeAdditionalRPAssets, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_version: 0 + m_IncludeReferencedInScenes: 0 + m_IncludeAssetsByLabel: 0 + m_LabelToInclude: + - rid: 24591935370166292 + type: {class: ShaderStrippingSetting, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_Version: 0 + m_ExportShaderVariants: 1 + m_ShaderVariantLogLevel: 0 + m_StripRuntimeDebugShaders: 1 + - rid: 24591935370166293 + type: {class: STP/RuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_setupCS: {fileID: 7200000, guid: 33be2e9a5506b2843bdb2bdff9cad5e1, type: 3} + m_preTaaCS: {fileID: 7200000, guid: a679dba8ec4d9ce45884a270b0e22dda, type: 3} + m_taaCS: {fileID: 7200000, guid: 3923900e2b41b5e47bc25bfdcbcdc9e6, type: 3} diff --git a/unity-examples/Packages/manifest.json b/unity-examples/Packages/manifest.json index 037fd02..060520c 100644 --- a/unity-examples/Packages/manifest.json +++ b/unity-examples/Packages/manifest.json @@ -1,16 +1,16 @@ { "dependencies": { - "com.unity.collab-proxy": "2.5.1", + "com.unity.collab-proxy": "2.7.1", "com.unity.ide.rider": "3.0.31", "com.unity.ide.visualstudio": "2.0.22", - "com.unity.ide.vscode": "1.2.5", - "com.unity.render-pipelines.universal": "14.0.11", - "com.unity.test-framework": "1.1.33", - "com.unity.textmeshpro": "3.0.7", - "com.unity.timeline": "1.7.6", - "com.unity.toolchain.linux-x86_64": "2.0.9", - "com.unity.ugui": "1.0.0", - "com.unity.visualscripting": "1.9.4", + "com.unity.multiplayer.center": "1.0.0", + "com.unity.render-pipelines.universal": "17.0.4", + "com.unity.test-framework": "1.5.1", + "com.unity.timeline": "1.8.7", + "com.unity.toolchain.linux-x86_64": "2.0.10", + "com.unity.ugui": "2.0.0", + "com.unity.visualscripting": "1.9.6", + "com.unity.modules.accessibility": "1.0.0", "com.unity.modules.ai": "1.0.0", "com.unity.modules.androidjni": "1.0.0", "com.unity.modules.animation": "1.0.0", diff --git a/unity-examples/Packages/packages-lock.json b/unity-examples/Packages/packages-lock.json index 1091ea2..08149db 100644 --- a/unity-examples/Packages/packages-lock.json +++ b/unity-examples/Packages/packages-lock.json @@ -1,8 +1,8 @@ { "dependencies": { "com.unity.burst": { - "version": "1.8.17", - "depth": 1, + "version": "1.8.19", + "depth": 2, "source": "registry", "dependencies": { "com.unity.mathematics": "1.2.1", @@ -11,19 +11,30 @@ "url": "https://packages.unity.com" }, "com.unity.collab-proxy": { - "version": "2.5.1", + "version": "2.7.1", "depth": 0, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" }, - "com.unity.ext.nunit": { - "version": "1.0.6", - "depth": 1, + "com.unity.collections": { + "version": "2.5.1", + "depth": 2, "source": "registry", - "dependencies": {}, + "dependencies": { + "com.unity.burst": "1.8.17", + "com.unity.test-framework": "1.4.5", + "com.unity.nuget.mono-cecil": "1.11.4", + "com.unity.test-framework.performance": "3.0.3" + }, "url": "https://packages.unity.com" }, + "com.unity.ext.nunit": { + "version": "2.0.5", + "depth": 1, + "source": "builtin", + "dependencies": {} + }, "com.unity.ide.rider": { "version": "3.0.31", "depth": 0, @@ -42,65 +53,85 @@ }, "url": "https://packages.unity.com" }, - "com.unity.ide.vscode": { - "version": "1.2.5", - "depth": 0, + "com.unity.mathematics": { + "version": "1.3.2", + "depth": 2, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" }, - "com.unity.mathematics": { - "version": "1.2.6", - "depth": 1, + "com.unity.multiplayer.center": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.uielements": "1.0.0" + } + }, + "com.unity.nuget.mono-cecil": { + "version": "1.11.4", + "depth": 3, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" }, "com.unity.render-pipelines.core": { - "version": "14.0.11", + "version": "17.0.4", "depth": 1, "source": "builtin", "dependencies": { - "com.unity.ugui": "1.0.0", + "com.unity.burst": "1.8.14", + "com.unity.mathematics": "1.3.2", + "com.unity.ugui": "2.0.0", + "com.unity.collections": "2.4.3", "com.unity.modules.physics": "1.0.0", "com.unity.modules.terrain": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0" + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.rendering.light-transport": "1.0.1" } }, "com.unity.render-pipelines.universal": { - "version": "14.0.11", + "version": "17.0.4", "depth": 0, "source": "builtin", "dependencies": { - "com.unity.mathematics": "1.2.1", - "com.unity.burst": "1.8.9", - "com.unity.render-pipelines.core": "14.0.11", - "com.unity.shadergraph": "14.0.11", - "com.unity.render-pipelines.universal-config": "14.0.9" + "com.unity.render-pipelines.core": "17.0.4", + "com.unity.shadergraph": "17.0.4", + "com.unity.render-pipelines.universal-config": "17.0.3" } }, "com.unity.render-pipelines.universal-config": { - "version": "14.0.10", + "version": "17.0.3", "depth": 1, "source": "builtin", "dependencies": { - "com.unity.render-pipelines.core": "14.0.10" + "com.unity.render-pipelines.core": "17.0.3" + } + }, + "com.unity.rendering.light-transport": { + "version": "1.0.1", + "depth": 2, + "source": "builtin", + "dependencies": { + "com.unity.collections": "2.2.0", + "com.unity.mathematics": "1.2.4", + "com.unity.modules.terrain": "1.0.0" } }, "com.unity.searcher": { - "version": "4.9.2", + "version": "4.9.3", "depth": 2, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" }, "com.unity.shadergraph": { - "version": "14.0.11", + "version": "17.0.4", "depth": 1, "source": "builtin", "dependencies": { - "com.unity.render-pipelines.core": "14.0.11", - "com.unity.searcher": "4.9.2" + "com.unity.render-pipelines.core": "17.0.4", + "com.unity.searcher": "4.9.3" } }, "com.unity.sysroot": { @@ -120,39 +151,39 @@ "url": "https://packages.unity.com" }, "com.unity.test-framework": { - "version": "1.1.33", + "version": "1.5.1", "depth": 0, - "source": "registry", + "source": "builtin", "dependencies": { - "com.unity.ext.nunit": "1.0.6", + "com.unity.ext.nunit": "2.0.3", "com.unity.modules.imgui": "1.0.0", "com.unity.modules.jsonserialize": "1.0.0" - }, - "url": "https://packages.unity.com" + } }, - "com.unity.textmeshpro": { - "version": "3.0.7", - "depth": 0, + "com.unity.test-framework.performance": { + "version": "3.0.3", + "depth": 3, "source": "registry", "dependencies": { - "com.unity.ugui": "1.0.0" + "com.unity.test-framework": "1.1.31", + "com.unity.modules.jsonserialize": "1.0.0" }, "url": "https://packages.unity.com" }, "com.unity.timeline": { - "version": "1.7.6", + "version": "1.8.7", "depth": 0, "source": "registry", "dependencies": { + "com.unity.modules.audio": "1.0.0", "com.unity.modules.director": "1.0.0", "com.unity.modules.animation": "1.0.0", - "com.unity.modules.audio": "1.0.0", "com.unity.modules.particlesystem": "1.0.0" }, "url": "https://packages.unity.com" }, "com.unity.toolchain.linux-x86_64": { - "version": "2.0.9", + "version": "2.0.10", "depth": 0, "source": "registry", "dependencies": { @@ -162,7 +193,7 @@ "url": "https://packages.unity.com" }, "com.unity.ugui": { - "version": "1.0.0", + "version": "2.0.0", "depth": 0, "source": "builtin", "dependencies": { @@ -171,7 +202,7 @@ } }, "com.unity.visualscripting": { - "version": "1.9.4", + "version": "1.9.6", "depth": 0, "source": "registry", "dependencies": { @@ -180,6 +211,12 @@ }, "url": "https://packages.unity.com" }, + "com.unity.modules.accessibility": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, "com.unity.modules.ai": { "version": "1.0.0", "depth": 0, @@ -227,6 +264,12 @@ "com.unity.modules.animation": "1.0.0" } }, + "com.unity.modules.hierarchycore": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": {} + }, "com.unity.modules.imageconversion": { "version": "1.0.0", "depth": 0, @@ -315,7 +358,8 @@ "dependencies": { "com.unity.modules.ui": "1.0.0", "com.unity.modules.imgui": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0" + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.hierarchycore": "1.0.0" } }, "com.unity.modules.umbra": { diff --git a/unity-examples/ProjectSettings/EditorBuildSettings.asset b/unity-examples/ProjectSettings/EditorBuildSettings.asset index 0147887..4c43626 100644 --- a/unity-examples/ProjectSettings/EditorBuildSettings.asset +++ b/unity-examples/ProjectSettings/EditorBuildSettings.asset @@ -4,5 +4,9 @@ EditorBuildSettings: m_ObjectHideFlags: 0 serializedVersion: 2 - m_Scenes: [] + m_Scenes: + - enabled: 1 + path: Assets/SpectacularAI/Examples/HelloDepthAI/Scenes/HelloDepthAI.unity + guid: 297a1c4c0fad9334bb4e6c1691e40d63 m_configObjects: {} + m_UseUCBPForAssetBundles: 0 diff --git a/unity-examples/ProjectSettings/GraphicsSettings.asset b/unity-examples/ProjectSettings/GraphicsSettings.asset index 56859a2..49ee382 100644 --- a/unity-examples/ProjectSettings/GraphicsSettings.asset +++ b/unity-examples/ProjectSettings/GraphicsSettings.asset @@ -3,7 +3,7 @@ --- !u!30 &1 GraphicsSettings: m_ObjectHideFlags: 0 - serializedVersion: 14 + serializedVersion: 16 m_Deferred: m_Mode: 1 m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} @@ -13,9 +13,6 @@ GraphicsSettings: m_ScreenSpaceShadows: m_Mode: 1 m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} - m_LegacyDeferred: - m_Mode: 1 - m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} m_DepthNormals: m_Mode: 1 m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} @@ -51,6 +48,7 @@ GraphicsSettings: m_LightmapStripping: 0 m_FogStripping: 0 m_InstancingStripping: 0 + m_BrgStripping: 0 m_LightmapKeepPlain: 1 m_LightmapKeepDirCombined: 1 m_LightmapKeepDynamicPlain: 1 @@ -61,10 +59,12 @@ GraphicsSettings: m_FogKeepExp: 1 m_FogKeepExp2: 1 m_AlbedoSwatchInfos: [] + m_RenderPipelineGlobalSettingsMap: + UnityEngine.Rendering.Universal.UniversalRenderPipeline: {fileID: 11400000, guid: 18dc0cd2c080841dea60987a38ce93fa, + type: 2} m_LightsUseLinearIntensity: 1 m_LightsUseColorTemperature: 1 - m_DefaultRenderingLayerMask: 1 m_LogWhenShaderIsCompiled: 0 - m_SRPDefaultSettings: - UnityEngine.Rendering.Universal.UniversalRenderPipeline: {fileID: 11400000, guid: 18dc0cd2c080841dea60987a38ce93fa, - type: 2} + m_LightProbeOutsideHullStrategy: 0 + m_CameraRelativeLightCulling: 0 + m_CameraRelativeShadowCulling: 0 diff --git a/unity-examples/ProjectSettings/MultiplayerManager.asset b/unity-examples/ProjectSettings/MultiplayerManager.asset new file mode 100644 index 0000000..2a93664 --- /dev/null +++ b/unity-examples/ProjectSettings/MultiplayerManager.asset @@ -0,0 +1,7 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!655991488 &1 +MultiplayerManager: + m_ObjectHideFlags: 0 + m_EnableMultiplayerRoles: 0 + m_StrippingTypes: {} diff --git a/unity-examples/ProjectSettings/ProjectVersion.txt b/unity-examples/ProjectSettings/ProjectVersion.txt index d30043b..2795afa 100644 --- a/unity-examples/ProjectSettings/ProjectVersion.txt +++ b/unity-examples/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 2022.3.47f1 -m_EditorVersionWithRevision: 2022.3.47f1 (88c277b85d21) +m_EditorVersion: 6000.0.45f1 +m_EditorVersionWithRevision: 6000.0.45f1 (d91bd3d4e081) diff --git a/unity-examples/ProjectSettings/ShaderGraphSettings.asset b/unity-examples/ProjectSettings/ShaderGraphSettings.asset index 3250b06..e66042a 100644 --- a/unity-examples/ProjectSettings/ShaderGraphSettings.asset +++ b/unity-examples/ProjectSettings/ShaderGraphSettings.asset @@ -15,3 +15,4 @@ MonoBehaviour: shaderVariantLimit: 128 customInterpolatorErrorThreshold: 32 customInterpolatorWarningThreshold: 16 + customHeatmapValues: {fileID: 0} diff --git a/unity-examples/ProjectSettings/TagManager.asset b/unity-examples/ProjectSettings/TagManager.asset index 1c92a78..b00eabb 100644 --- a/unity-examples/ProjectSettings/TagManager.asset +++ b/unity-examples/ProjectSettings/TagManager.asset @@ -2,7 +2,7 @@ %TAG !u! tag:unity3d.com,2011: --- !u!78 &1 TagManager: - serializedVersion: 2 + serializedVersion: 3 tags: [] layers: - Default @@ -41,3 +41,12 @@ TagManager: - name: Default uniqueID: 0 locked: 0 + m_RenderingLayers: + - Default + - Light Layer 1 + - Light Layer 2 + - Light Layer 3 + - Light Layer 4 + - Light Layer 5 + - Light Layer 6 + - Light Layer 7 diff --git a/unity-examples/ProjectSettings/URPProjectSettings.asset b/unity-examples/ProjectSettings/URPProjectSettings.asset index cd7fd8c..08faf03 100644 --- a/unity-examples/ProjectSettings/URPProjectSettings.asset +++ b/unity-examples/ProjectSettings/URPProjectSettings.asset @@ -12,4 +12,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 247994e1f5a72c2419c26a37e9334c01, type: 3} m_Name: m_EditorClassIdentifier: - m_LastMaterialVersion: 7 + m_LastMaterialVersion: 9 From 6ff96596df1860ddaf0e1340569c1b8c3b607243 Mon Sep 17 00:00:00 2001 From: Paul Hine Date: Fri, 11 Apr 2025 15:39:22 +0200 Subject: [PATCH 2/2] chore: update plugin to sdk 1.39.0 --- plugin/README.md | 4 +- .../Plugins/Linux_Ubuntu_x86-64/LICENSE | 108 +- .../Linux_Ubuntu_x86-64/libdepthai-core.so | Bin 13624736 -> 13624736 bytes .../libdepthai-core.so.meta | 27 +- .../libspectacularAI_depthaiPlugin.so | 1 + .../libspectacularAI_depthaiPlugin.so.1 | Bin 26865088 -> 40 bytes .../libspectacularAI_depthaiPlugin.so.1.39.0 | Bin 0 -> 27167584 bytes ...spectacularAI_depthaiPlugin.so.1.39.0.meta | 2 + .../libspectacularAI_depthaiPlugin.so.1.meta | 27 +- .../libspectacularAI_depthaiPlugin.so.meta | 2 + .../libspectacularAI_unity.so | Bin 370456 -> 367376 bytes .../libspectacularAI_unity.so.meta | 27 +- .../SpectacularAI/Plugins/Windows/LICENSE | 1340 ++++++++--------- .../Plugins/Windows/depthai-core.dll | Bin 11911168 -> 11911168 bytes .../Plugins/Windows/depthai-core.dll.meta | 27 +- .../Plugins/Windows/libusb-1.0.dll | Bin 146944 -> 146944 bytes .../Plugins/Windows/libusb-1.0.dll.meta | 27 +- .../Windows/spectacularAI_depthaiPlugin.dll | Bin 16517632 -> 17148928 bytes .../spectacularAI_depthaiPlugin.dll.meta | 27 +- .../Plugins/Windows/spectacularAI_unity.dll | Bin 51200 -> 50688 bytes .../Windows/spectacularAI_unity.dll.meta | 27 +- 21 files changed, 738 insertions(+), 908 deletions(-) create mode 120000 unity-examples/Assets/SpectacularAI/Plugins/Linux_Ubuntu_x86-64/libspectacularAI_depthaiPlugin.so mode change 100644 => 120000 unity-examples/Assets/SpectacularAI/Plugins/Linux_Ubuntu_x86-64/libspectacularAI_depthaiPlugin.so.1 create mode 100644 unity-examples/Assets/SpectacularAI/Plugins/Linux_Ubuntu_x86-64/libspectacularAI_depthaiPlugin.so.1.39.0 create mode 100644 unity-examples/Assets/SpectacularAI/Plugins/Linux_Ubuntu_x86-64/libspectacularAI_depthaiPlugin.so.1.39.0.meta create mode 100644 unity-examples/Assets/SpectacularAI/Plugins/Linux_Ubuntu_x86-64/libspectacularAI_depthaiPlugin.so.meta mode change 100755 => 100644 unity-examples/Assets/SpectacularAI/Plugins/Linux_Ubuntu_x86-64/libspectacularAI_unity.so diff --git a/plugin/README.md b/plugin/README.md index 9adcb16..52e4f11 100644 --- a/plugin/README.md +++ b/plugin/README.md @@ -7,7 +7,7 @@ The `spectacularAI_depthaiPlugin` package is required. For non-commercial purpos ## Building (Windows) ``` mkdir target && cd target -cmake -Ddepthai_DIR=path\to\spectacularAI_depthaiPlugin_cpp_non-commercial_1.36.0\Windows\lib\cmake\depthai -DspectacularAI_depthaiPlugin_DIR=path\to\spectacularAI_depthaiPlugin_cpp_non-commercial_1.36.0\Windows\lib\cmake\spectacularAI .. +cmake -Ddepthai_DIR=path\to\spectacularAI_depthaiPlugin_cpp_non-commercial_1.39.0\Windows\lib\cmake\depthai -DspectacularAI_depthaiPlugin_DIR=path\to\spectacularAI_depthaiPlugin_cpp_non-commercial_1.39.0\Windows\lib\cmake\spectacularAI .. cmake --build . --config Release ``` @@ -16,7 +16,7 @@ Replace the existing `spectacularAI_unity.dll` [here](https://github.com/Spectac ## Building (Linux) ``` mkdir target && cd target -cmake -Ddepthai_DIR=path/to/spectacularAI_depthaiPlugin_cpp_non-commercial_1.36.0/Linux_Ubuntu_x86-64/lib/cmake/depthai -DspectacularAI_depthaiPlugin_DIR=path/to/spectacularAI_depthaiPlugin_cpp_non-commercial_1.36.0/Linux_Ubuntu_x86-64/lib/cmake/spectacularAI .. +cmake -Ddepthai_DIR=path/to/spectacularAI_depthaiPlugin_cpp_non-commercial_1.39.0/Linux_Ubuntu_x86-64/lib/cmake/depthai -DspectacularAI_depthaiPlugin_DIR=path/to/spectacularAI_depthaiPlugin_cpp_non-commercial_1.39.0/Linux_Ubuntu_x86-64/lib/cmake/spectacularAI .. make ``` Replace the existing `libspectacularAI_unity.so` [here](https://github.com/SpectacularAI/unity-wrapper/tree/main/unity-examples/Assets/SpectacularAI/Plugins/Linux_Ubuntu_x86-64). diff --git a/unity-examples/Assets/SpectacularAI/Plugins/Linux_Ubuntu_x86-64/LICENSE b/unity-examples/Assets/SpectacularAI/Plugins/Linux_Ubuntu_x86-64/LICENSE index 19f8601..868f21b 100644 --- a/unity-examples/Assets/SpectacularAI/Plugins/Linux_Ubuntu_x86-64/LICENSE +++ b/unity-examples/Assets/SpectacularAI/Plugins/Linux_Ubuntu_x86-64/LICENSE @@ -1,63 +1,63 @@ -Spectacular AI SDK for OAK (Depth AI), version 1.34.0 -(c) Spectacular AI Ltd, 2024 +Spectacular AI SDK for OAK (Depth AI), version 1.39.0 +(c) Spectacular AI Ltd, 2025 All rights reserved All redistributions must retain the following copyright notices: ========== Eigen/COPYING.MINPACK ========== -Minpack Copyright Notice (1999) University of Chicago. All rights reserved - -Redistribution and use in source and binary forms, with or -without modification, are permitted provided that the -following conditions are met: - -1. Redistributions of source code must retain the above -copyright notice, this list of conditions and the following -disclaimer. - -2. Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following -disclaimer in the documentation and/or other materials -provided with the distribution. - -3. The end-user documentation included with the -redistribution, if any, must include the following -acknowledgment: - - "This product includes software developed by the - University of Chicago, as Operator of Argonne National - Laboratory. - -Alternately, this acknowledgment may appear in the software -itself, if and wherever such third-party acknowledgments -normally appear. - -4. WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS" -WITHOUT WARRANTY OF ANY KIND. THE COPYRIGHT HOLDER, THE -UNITED STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND -THEIR EMPLOYEES: (1) DISCLAIM ANY WARRANTIES, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE -OR NON-INFRINGEMENT, (2) DO NOT ASSUME ANY LEGAL LIABILITY -OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR -USEFULNESS OF THE SOFTWARE, (3) DO NOT REPRESENT THAT USE OF -THE SOFTWARE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS, (4) -DO NOT WARRANT THAT THE SOFTWARE WILL FUNCTION -UNINTERRUPTED, THAT IT IS ERROR-FREE OR THAT ANY ERRORS WILL -BE CORRECTED. - -5. LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT -HOLDER, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF -ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR ANY INDIRECT, -INCIDENTAL, CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF -ANY KIND OR NATURE, INCLUDING BUT NOT LIMITED TO LOSS OF -PROFITS OR LOSS OF DATA, FOR ANY REASON WHATSOEVER, WHETHER -SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT -(INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR OTHERWISE, -EVEN IF ANY OF SAID PARTIES HAS BEEN WARNED OF THE -POSSIBILITY OF SUCH LOSS OR DAMAGES. - +Minpack Copyright Notice (1999) University of Chicago. All rights reserved + +Redistribution and use in source and binary forms, with or +without modification, are permitted provided that the +following conditions are met: + +1. Redistributions of source code must retain the above +copyright notice, this list of conditions and the following +disclaimer. + +2. Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following +disclaimer in the documentation and/or other materials +provided with the distribution. + +3. The end-user documentation included with the +redistribution, if any, must include the following +acknowledgment: + + "This product includes software developed by the + University of Chicago, as Operator of Argonne National + Laboratory. + +Alternately, this acknowledgment may appear in the software +itself, if and wherever such third-party acknowledgments +normally appear. + +4. WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS" +WITHOUT WARRANTY OF ANY KIND. THE COPYRIGHT HOLDER, THE +UNITED STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND +THEIR EMPLOYEES: (1) DISCLAIM ANY WARRANTIES, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE +OR NON-INFRINGEMENT, (2) DO NOT ASSUME ANY LEGAL LIABILITY +OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR +USEFULNESS OF THE SOFTWARE, (3) DO NOT REPRESENT THAT USE OF +THE SOFTWARE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS, (4) +DO NOT WARRANT THAT THE SOFTWARE WILL FUNCTION +UNINTERRUPTED, THAT IT IS ERROR-FREE OR THAT ANY ERRORS WILL +BE CORRECTED. + +5. LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT +HOLDER, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF +ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR ANY INDIRECT, +INCIDENTAL, CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF +ANY KIND OR NATURE, INCLUDING BUT NOT LIMITED TO LOSS OF +PROFITS OR LOSS OF DATA, FOR ANY REASON WHATSOEVER, WHETHER +SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT +(INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR OTHERWISE, +EVEN IF ANY OF SAID PARTIES HAS BEEN WARNED OF THE +POSSIBILITY OF SUCH LOSS OR DAMAGES. + ========== Eigen/COPYING.MPL2 ========== diff --git a/unity-examples/Assets/SpectacularAI/Plugins/Linux_Ubuntu_x86-64/libdepthai-core.so b/unity-examples/Assets/SpectacularAI/Plugins/Linux_Ubuntu_x86-64/libdepthai-core.so index 4081a877653036a2fce79af34262c271937b85b1..c1aeaf406af78cec138a733d913789b0768e6651 100644 GIT binary patch delta 771 zcmWN=2RqaO0LSsCk_aK4NaLcUbll$=IjXCy7HRKM$W7eLE!@g&+|C`$;ZEi$0LSr{k|-%$qU0(Pxw^adDUOPwkiDg7N*c&4`6(-9W;-&nr6`h;k&6C~ z`zO5T`+4u<80m9&uvRV_BUia;tlTwD9vZI+@|2e*%3G7r~J9_29}=Lw!<4QqLdbv#Y+4C~pzvpmQ1yugcWb5JG{$#yw3-8@F5?um5=#^Px*{(e9jkq$ya>MH+;)?Z0CD+u#+G7kzMTOCw^uR kzp$5I*~fl<;{d<&2Y>Px2l<;r9OelB@NbvhIhynDKL%Tb%K!iX diff --git a/unity-examples/Assets/SpectacularAI/Plugins/Linux_Ubuntu_x86-64/libdepthai-core.so.meta b/unity-examples/Assets/SpectacularAI/Plugins/Linux_Ubuntu_x86-64/libdepthai-core.so.meta index b04954e..f4a7886 100644 --- a/unity-examples/Assets/SpectacularAI/Plugins/Linux_Ubuntu_x86-64/libdepthai-core.so.meta +++ b/unity-examples/Assets/SpectacularAI/Plugins/Linux_Ubuntu_x86-64/libdepthai-core.so.meta @@ -1,27 +1,2 @@ fileFormatVersion: 2 -guid: bf823ae2b1c59db40b1a0db115a10ada -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - userData: - assetBundleName: - assetBundleVariant: +guid: bf823ae2b1c59db40b1a0db115a10ada \ No newline at end of file diff --git a/unity-examples/Assets/SpectacularAI/Plugins/Linux_Ubuntu_x86-64/libspectacularAI_depthaiPlugin.so b/unity-examples/Assets/SpectacularAI/Plugins/Linux_Ubuntu_x86-64/libspectacularAI_depthaiPlugin.so new file mode 120000 index 0000000..12e466d --- /dev/null +++ b/unity-examples/Assets/SpectacularAI/Plugins/Linux_Ubuntu_x86-64/libspectacularAI_depthaiPlugin.so @@ -0,0 +1 @@ +libspectacularAI_depthaiPlugin.so.1 \ No newline at end of file diff --git a/unity-examples/Assets/SpectacularAI/Plugins/Linux_Ubuntu_x86-64/libspectacularAI_depthaiPlugin.so.1 b/unity-examples/Assets/SpectacularAI/Plugins/Linux_Ubuntu_x86-64/libspectacularAI_depthaiPlugin.so.1 deleted file mode 100644 index 1749f53eae920cc28e257a248004ddd3097920f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26865088 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

=1k$9hYX&pp20Kq5AYzL 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