From da375017e1e18d5d9b5ef5c26f4bc789504eaaa3 Mon Sep 17 00:00:00 2001 From: connan Date: Wed, 18 Dec 2024 17:53:48 +0800 Subject: [PATCH] =?UTF-8?q?vrr=20=E6=97=A0=E6=B3=95=E9=9B=86=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Mac/libGfxPluginNativeRender.dylib | Bin 56672 -> 57728 bytes Assets/Settings/Mobile/Mobile_High.asset | 6 +- .../Mobile/Mobile_High_Renderer.asset | 4 +- NativeRenderPlugin/RenderAPI.h | 3 +- NativeRenderPlugin/RenderAPI_D3D11.cpp | 1 + NativeRenderPlugin/RenderAPI_D3D12.cpp | 7 +- NativeRenderPlugin/RenderAPI_Metal.mm | 55 +++- NativeRenderPlugin/RenderAPI_OpenGLCoreES.cpp | 5 +- NativeRenderPlugin/RenderAPI_Vulkan.cpp | 9 +- NativeRenderPlugin/RenderingPlugin.cpp | 2 +- NativeRenderPlugin/xmake.lua | 3 + .../Runtime/Passes/DrawObjectsPass.cs | 66 +++- .../NatvieHelper/RenderingPlugin.cs | 3 +- .../SuperRendering/SR/Scripts/MetalFx.cs | 13 + UserSettings/Layouts/default-2022.dwlt | 290 +++++------------- 15 files changed, 229 insertions(+), 238 deletions(-) diff --git a/Assets/Plugins/Mac/libGfxPluginNativeRender.dylib b/Assets/Plugins/Mac/libGfxPluginNativeRender.dylib index 902a34055092c1c80ae05c57c6277626ff8165a1..1a65721d15b5cade5ebfdb6e835335e9ce08e70f 100755 GIT binary patch literal 57728 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 R(=Yy0n`@!{Ppf4c|3BRrAF%)c delta 6666 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 x^Fv#{jek7O8M!LNmUd_Fn$Wq2?p#a$#mGet(); m_Device = d3d->GetDevice(); + initSupportFeature(); break; } case kUnityGfxDeviceEventShutdown: diff --git a/NativeRenderPlugin/RenderAPI_D3D12.cpp b/NativeRenderPlugin/RenderAPI_D3D12.cpp index f03de76..b8e3793 100644 --- a/NativeRenderPlugin/RenderAPI_D3D12.cpp +++ b/NativeRenderPlugin/RenderAPI_D3D12.cpp @@ -94,7 +94,7 @@ public: virtual unsigned int getBackbufferHeight() override; - virtual void enableVRS(int vrsEnum) override; + virtual void enableVRS(void* data) override; virtual void disableVRS() override; virtual void initSupportFeature() override; @@ -207,15 +207,16 @@ static D3D12_SHADING_RATE vrs_argment_size_table[] = { D3D12_SHADING_RATE_4X4 }; -void RenderAPI_D3D12::enableVRS(int vrsEnum) +void RenderAPI_D3D12::enableVRS(void* data) { + int vrs_enum = *(int*) data; UnityGraphicsD3D12RecordingState recordingState; if (!s_d3d12->CommandRecordingState(&recordingState)) { return; } ID3D12GraphicsCommandList* cmdLst = recordingState.commandList; - reinterpret_cast(cmdLst)->RSSetShadingRate(vrs_argment_size_table[vrsEnum], nullptr); + reinterpret_cast(cmdLst)->RSSetShadingRate(vrs_argment_size_table[vrs_enum], nullptr); } void RenderAPI_D3D12::disableVRS() diff --git a/NativeRenderPlugin/RenderAPI_Metal.mm b/NativeRenderPlugin/RenderAPI_Metal.mm index a568a65..3190309 100644 --- a/NativeRenderPlugin/RenderAPI_Metal.mm +++ b/NativeRenderPlugin/RenderAPI_Metal.mm @@ -27,7 +27,11 @@ public: virtual void initSupportFeature(); - virtual void spatialUpScale(void*data); + virtual void spatialUpScale(void*data) override; + + virtual void enableVRS(void* data) override; + virtual void disableVRS() override; + private: id mfx_spatial_scaler; id commandQueue; @@ -50,6 +54,7 @@ void RenderAPI_Metal::processDeviceEvent(UnityGfxDeviceEventType type, IUnityInt if (type == kUnityGfxDeviceEventInitialize) { metal_graphics = interfaces->Get(); + initSupportFeature(); } else if (type == kUnityGfxDeviceEventShutdown) { @@ -62,6 +67,11 @@ void RenderAPI_Metal::initSupportFeature() { support_features[GraphicsFeature::METAL_FX_SPATIAL_SR] = true; support_features[GraphicsFeature::METAL_FX_TEMPORAL_SR] = true; + id device = metal_graphics->MetalDevice(); + if(device) + { + support_features[GraphicsFeature::METAL_VRR] = [device supportsRasterizationRateMapWithLayerCount:1]; + } } } @@ -80,7 +90,7 @@ void RenderAPI_Metal::spatialUpScale(void* data) id srctex = (__bridge id)data_pack->src; id dsttex = (__bridge id)data_pack->dst; - id _device = metal_graphics->MetalDevice(); + id device = metal_graphics->MetalDevice(); id cmd = (id)metal_graphics->CurrentCommandBuffer(); // metal_graphics->EndCurrentCommandEncoder(); cmd.label = @"Upscale Command Buffer"; @@ -97,8 +107,8 @@ void RenderAPI_Metal::spatialUpScale(void* data) desc.outputTextureFormat = [dsttex pixelFormat]; desc.colorProcessingMode = MTLFXSpatialScalerColorProcessingModeLinear; - mfx_spatial_scaler = [desc newSpatialScalerWithDevice:_device]; - commandQueue = [_device newCommandQueue]; + mfx_spatial_scaler = [desc newSpatialScalerWithDevice:device]; + commandQueue = [device newCommandQueue]; } if (mfx_spatial_scaler == nil || commandQueue == nil) @@ -123,5 +133,42 @@ void RenderAPI_Metal::spatialUpScale(void* data) } } +void RenderAPI_Metal::enableVRS(void* data) +{ + struct DataPack + { + float width; + float height; + float ratex; + float ratey; + bool cfgChange; + }; + id device = metal_graphics->MetalDevice(); + DataPack* data_pack = static_cast(data); + + MTLRasterizationRateMapDescriptor *descriptor = [[MTLRasterizationRateMapDescriptor alloc] init]; + descriptor.label = @"raster rate map"; + descriptor.screenSize = MTLSizeMake(data_pack->width, data_pack->height, 1); + MTLSize zone_counts = MTLSizeMake(8, 4, 1); + MTLRasterizationRateLayerDescriptor *layer_descriptor = [[MTLRasterizationRateLayerDescriptor alloc] initWithSampleCount:zone_counts]; + for (int row = 0; row < zone_counts.height; row++) + { + layer_descriptor.verticalSampleStorage[row] = data_pack->ratey; + } + for (int column = 0; column < zone_counts.width; column++) + { + layer_descriptor.horizontalSampleStorage[column] = data_pack->ratex; + } + + [descriptor setLayer:layer_descriptor atIndex:0]; + id rate_map = [device newRasterizationRateMapWithDescriptor: descriptor]; + MTLRenderPassDescriptor* current_pass_descriptor= metal_graphics->CurrentRenderPassDescriptor(); + current_pass_descriptor.rasterizationRateMap = rate_map; +} + +void RenderAPI_Metal::disableVRS() +{ + +} #endif // #if SUPPORT_METAL diff --git a/NativeRenderPlugin/RenderAPI_OpenGLCoreES.cpp b/NativeRenderPlugin/RenderAPI_OpenGLCoreES.cpp index 60a299d..930a4aa 100644 --- a/NativeRenderPlugin/RenderAPI_OpenGLCoreES.cpp +++ b/NativeRenderPlugin/RenderAPI_OpenGLCoreES.cpp @@ -65,7 +65,7 @@ public: virtual bool getUsesReverseZ() override { return false; } - virtual void enableVRS(int vrsEnum) override; + virtual void enableVRS(void* data) override; virtual void disableVRS() override; virtual void enableFGExtrapolation(void* data) override; @@ -229,8 +229,9 @@ void RenderAPI_OpenGLCoreES::initSupportFeature() } -void RenderAPI_OpenGLCoreES::enableVRS(int vrs_enum) +void RenderAPI_OpenGLCoreES::enableVRS(void* data) { + int vrs_enum = *(int*) data; gl_shadingrate_fn(vrs_argment_size_table[vrs_enum]); } diff --git a/NativeRenderPlugin/RenderAPI_Vulkan.cpp b/NativeRenderPlugin/RenderAPI_Vulkan.cpp index d8f549d..8d23789 100644 --- a/NativeRenderPlugin/RenderAPI_Vulkan.cpp +++ b/NativeRenderPlugin/RenderAPI_Vulkan.cpp @@ -270,7 +270,7 @@ public: virtual void processDeviceEvent(UnityGfxDeviceEventType type, IUnityInterfaces *interfaces) override; virtual bool getUsesReverseZ() override { return true; } - virtual void enableVRS(int vrsEnum) override; + virtual void enableVRS(void* data) override; virtual void disableVRS() override; virtual void enableFGExtrapolation(void* data) override; @@ -510,10 +510,11 @@ void RenderAPI_Vulkan::initSupportFeature() // unityLog(buf); } -void RenderAPI_Vulkan::enableVRS(int vrsEnum) +void RenderAPI_Vulkan::enableVRS(void* data) { - curVrsIndex = vrsEnum; - vrs_fragment_size = vrs_argment_size_table[vrsEnum]; + int vrs_enum = *(int*) data; + curVrsIndex = vrs_enum; + vrs_fragment_size = vrs_argment_size_table[vrs_enum]; vrs_enable = true; } diff --git a/NativeRenderPlugin/RenderingPlugin.cpp b/NativeRenderPlugin/RenderingPlugin.cpp index 1a786cb..d6c5ead 100644 --- a/NativeRenderPlugin/RenderingPlugin.cpp +++ b/NativeRenderPlugin/RenderingPlugin.cpp @@ -122,7 +122,7 @@ static void UNITY_INTERFACE_API OnRenderEventAndData(int eventID, void *data) { case NativeRenderingEvent::EnableVRS: { - s_current_api->enableVRS(*(int *)data); + s_current_api->enableVRS(data); break; } case NativeRenderingEvent::DisableVRS: diff --git a/NativeRenderPlugin/xmake.lua b/NativeRenderPlugin/xmake.lua index a6d97aa..be9569a 100644 --- a/NativeRenderPlugin/xmake.lua +++ b/NativeRenderPlugin/xmake.lua @@ -72,6 +72,8 @@ target("GfxPluginNativeRender") add_shflags("--target=" .. target) end end + -- xmake config -p macosx --use_gles=false --use_vulkan=false -a arm64 --use_metal=true --toolchain=xcode + -- xmake config -p iphoneos --use_gles=false --use_vulkan=false -a arm64 --use_metal=true if has_config("use_metal") then add_defines("SUPPORT_METAL=1") add_ldflags("-fPIE", "-fPIC") @@ -84,6 +86,7 @@ target("GfxPluginNativeRender") add_defines("UNITY_OSX=1") end add_files("./*.mm") + add_frameworks("Metal") add_frameworks("MetalKit") add_frameworks("MetalFX") end diff --git a/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/Passes/DrawObjectsPass.cs b/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/Passes/DrawObjectsPass.cs index bc7f4cd..555e79d 100644 --- a/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/Passes/DrawObjectsPass.cs +++ b/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/Passes/DrawObjectsPass.cs @@ -172,7 +172,16 @@ namespace UnityEngine.Rendering.Universal.Internal } } - static IntPtr p = Marshal.AllocHGlobal(Marshal.SizeOf()); + static IntPtr vrsEnumPtr = Marshal.AllocHGlobal(Marshal.SizeOf()); + static IntPtr vrsDataPackPtr = Marshal.AllocHGlobal(Marshal.SizeOf()); + struct DataPack + { + public float width; + public float height; + public float ratex; + public float ratey; + public bool cfgChange; + }; private static unsafe void ExecutePass(ScriptableRenderContext context, PassData data, ref RenderingData renderingData, bool yFlip) { @@ -244,18 +253,61 @@ namespace UnityEngine.Rendering.Universal.Internal var asset = UniversalRenderPipeline.asset; if(asset.VRSRate != RenderingPlugin.VRSPluginShadingRate.X1_PER_PIXEL) { - *(int*)p.ToPointer() = (int)asset.VRSRate; - cmd.IssuePluginEventAndData(RenderingPlugin.GetRenderEventAndDataFunc(), (int)RenderingPlugin.NativeRenderingEvent.EnableVRS, p); +#if PLATFORM_IOS || UNITY_STANDALONE_OSX + DataPack* ptr = (DataPack*)vrsDataPackPtr.ToPointer(); + ptr->width = renderingData.cameraData.cameraTargetDescriptor.width; + ptr->height = renderingData.cameraData.cameraTargetDescriptor.height; + ptr->cfgChange = true; + switch (asset.VRSRate) + { + case RenderingPlugin.VRSPluginShadingRate.X1_PER_PIXEL: + ptr->ratex = 1.0f; + ptr->ratey = 1.0f; + break; + case RenderingPlugin.VRSPluginShadingRate.X1_PER_2X1_PIXELS: + ptr->ratex = 0.5f; + ptr->ratey = 1.0f; + break; + case RenderingPlugin.VRSPluginShadingRate.X1_PER_1X2_PIXELS: + ptr->ratex = 0.5f; + ptr->ratey = 1.0f; + break; + case RenderingPlugin.VRSPluginShadingRate.X1_PER_2X2_PIXELS: + ptr->ratex = 0.5f; + ptr->ratey = 0.5f; + break; + case RenderingPlugin.VRSPluginShadingRate.X1_PER_4X2_PIXELS: + ptr->ratex = 0.25f; + ptr->ratey = 0.5f; + break; + case RenderingPlugin.VRSPluginShadingRate.X1_PER_2X4_PIXELS: + ptr->ratex = 0.5f; + ptr->ratey = 0.25f; + break; + case RenderingPlugin.VRSPluginShadingRate.X1_PER_4X4_PIXELS: + ptr->ratex = 0.25f; + ptr->ratey = 0.25f; + break; + default: + break; + } + cmd.BeginSample("EnableVrs"); + cmd.IssuePluginEventAndData(RenderingPlugin.GetRenderEventAndDataFunc(), (int)RenderingPlugin.NativeRenderingEvent.EnableVRS, vrsDataPackPtr); +#else + *(int*)vrsEnumPtr.ToPointer() = (int)asset.VRSRate; + cmd.IssuePluginEventAndData(RenderingPlugin.GetRenderEventAndDataFunc(), (int)RenderingPlugin.NativeRenderingEvent.EnableVRS, vrsEnumPtr); context.ExecuteCommandBuffer(cmd); cmd.Clear(); - -#if DX12 +#endif + cmd.EndSample("EnableVrs"); + +#if DX12 // DX12 下会 context.DrawRenderers 重新设置 view port 和 scissor rect cmd.SetViewport(camera.pixelRect); cmd.EnableScissorRect(camera.pixelRect); #endif } -#if DX12 +#if DX12 || UNITY_STANDALONE_OSX RendererUtils.RendererListDesc rendererListDesc = new (data.m_ShaderTagIdList.ToArray(), renderingData.cullResults,camera); rendererListDesc.layerMask = camera.cullingMask; rendererListDesc.sortingCriteria = sortFlags; @@ -271,7 +323,9 @@ namespace UnityEngine.Rendering.Universal.Internal if (asset.VRSRate != RenderingPlugin.VRSPluginShadingRate.X1_PER_PIXEL) { + cmd.BeginSample("DisableVrs"); cmd.IssuePluginEventAndData(RenderingPlugin.GetRenderEventAndDataFunc(), (int)RenderingPlugin.NativeRenderingEvent.DisableVRS, IntPtr.Zero); + cmd.EndSample("DisableVrs"); } // Render objects that did not match any shader pass with error shader diff --git a/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/NatvieHelper/RenderingPlugin.cs b/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/NatvieHelper/RenderingPlugin.cs index aabc709..1f4f627 100644 --- a/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/NatvieHelper/RenderingPlugin.cs +++ b/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/NatvieHelper/RenderingPlugin.cs @@ -75,6 +75,7 @@ namespace X.Rendering.Feature VRS_PRIMITIVE, VRS_ATTACHMENT, HW_SPATIAL_SR, + METAL_VRR, HW_AISR, HW_ADAPTIVE_VRS, HW_FG_INTERPOLATE, @@ -92,7 +93,7 @@ namespace X.Rendering.Feature public static void InitSupportFeatures() { featureSupports = new(); - UnityEngine.Debug.Log(UnityEngine.SystemInfo.graphicsDeviceType); + UnityEngine.Debug.Log(SystemInfo.graphicsDeviceType); for (int i = 0; i < (int)GraphicsFeature.MAX_CNT; ++i) { featureSupports[(GraphicsFeature)i] = GetFeatureSupport(i); diff --git a/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/SR/Scripts/MetalFx.cs b/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/SR/Scripts/MetalFx.cs index e264c00..9553b45 100644 --- a/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/SR/Scripts/MetalFx.cs +++ b/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/SR/Scripts/MetalFx.cs @@ -91,6 +91,19 @@ namespace X.Rendering.Feature public void SetSR(ESuperResolution resolution) { + switch (resolution) + { + case ESuperResolution.METAL_FX_SPATIAL_SR: + { + SetActive(true); + } + break; + default: + { + SetActive(false); + } + break; + } } } } diff --git a/UserSettings/Layouts/default-2022.dwlt b/UserSettings/Layouts/default-2022.dwlt index 6c6d2c7..82eac18 100644 --- a/UserSettings/Layouts/default-2022.dwlt +++ b/UserSettings/Layouts/default-2022.dwlt @@ -1,30 +1,6 @@ %YAML 1.1 %TAG !u! tag:yousandi.cn,2023: --- !u!114 &1 -MonoBehaviour: - m_ObjectHideFlags: 52 - 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: 12004, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_PixelRect: - serializedVersion: 2 - x: 392 - y: 65 - width: 1328 - height: 954 - m_ShowMode: 0 - m_Title: Frame Debugger - m_RootView: {fileID: 4} - m_MinSize: {x: 1000, y: 521} - m_MaxSize: {x: 4000, y: 4021} - m_Maximized: 0 ---- !u!114 &2 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -43,63 +19,12 @@ MonoBehaviour: width: 1920 height: 954 m_ShowMode: 4 - m_Title: Console - m_RootView: {fileID: 13} + m_Title: Inspector + m_RootView: {fileID: 10} m_MinSize: {x: 875, y: 321} m_MaxSize: {x: 10000, y: 10000} m_Maximized: 1 ---- !u!114 &3 -MonoBehaviour: - m_ObjectHideFlags: 52 - 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: 12006, guid: 0000000000000000e000000000000000, type: 0} - m_Name: FrameDebuggerWindow - m_EditorClassIdentifier: - m_Children: [] - m_Position: - serializedVersion: 2 - x: 0 - y: 0 - width: 1328 - height: 954 - m_MinSize: {x: 1000, y: 521} - m_MaxSize: {x: 4000, y: 4021} - m_ActualView: {fileID: 17} - m_Panes: - - {fileID: 17} - m_Selected: 0 - m_LastSelected: 0 ---- !u!114 &4 -MonoBehaviour: - m_ObjectHideFlags: 52 - 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: 12010, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_Children: - - {fileID: 3} - m_Position: - serializedVersion: 2 - x: 0 - y: 0 - width: 1328 - height: 954 - m_MinSize: {x: 1000, y: 521} - m_MaxSize: {x: 4000, y: 4021} - vertical: 0 - controlID: 2635 - draggingID: 0 ---- !u!114 &5 +--- !u!114 &2 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -120,13 +45,13 @@ MonoBehaviour: height: 536 m_MinSize: {x: 202, y: 221} m_MaxSize: {x: 4002, y: 4021} - m_ActualView: {fileID: 22} + m_ActualView: {fileID: 18} m_Panes: + - {fileID: 14} - {fileID: 18} - - {fileID: 22} m_Selected: 1 m_LastSelected: 0 ---- !u!114 &6 +--- !u!114 &3 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -139,8 +64,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Children: - - {fileID: 11} - - {fileID: 5} + - {fileID: 8} + - {fileID: 2} m_Position: serializedVersion: 2 x: 0 @@ -150,9 +75,9 @@ MonoBehaviour: m_MinSize: {x: 200, y: 50} m_MaxSize: {x: 16192, y: 8096} vertical: 0 - controlID: 57 + controlID: 18 draggingID: 0 ---- !u!114 &7 +--- !u!114 &4 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -173,12 +98,12 @@ MonoBehaviour: height: 368 m_MinSize: {x: 102, y: 121} m_MaxSize: {x: 4002, y: 4021} - m_ActualView: {fileID: 23} + m_ActualView: {fileID: 19} m_Panes: - - {fileID: 23} + - {fileID: 19} m_Selected: 0 m_LastSelected: 0 ---- !u!114 &8 +--- !u!114 &5 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -191,8 +116,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Children: - - {fileID: 12} - - {fileID: 7} + - {fileID: 9} + - {fileID: 4} m_Position: serializedVersion: 2 x: 0 @@ -202,9 +127,9 @@ MonoBehaviour: m_MinSize: {x: 200, y: 50} m_MaxSize: {x: 16192, y: 8096} vertical: 0 - controlID: 160 + controlID: 65 draggingID: 0 ---- !u!114 &9 +--- !u!114 &6 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -217,8 +142,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Children: - - {fileID: 16} - - {fileID: 10} + - {fileID: 13} + - {fileID: 7} m_Position: serializedVersion: 2 x: 0 @@ -228,9 +153,9 @@ MonoBehaviour: m_MinSize: {x: 300, y: 100} m_MaxSize: {x: 24288, y: 16192} vertical: 0 - controlID: 55 + controlID: 16 draggingID: 0 ---- !u!114 &10 +--- !u!114 &7 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -249,14 +174,14 @@ MonoBehaviour: y: 0 width: 523 height: 904 - m_MinSize: {x: 276, y: 71} - m_MaxSize: {x: 4001, y: 4021} - m_ActualView: {fileID: 20} + m_MinSize: {x: 275, y: 50} + m_MaxSize: {x: 4000, y: 4000} + m_ActualView: {fileID: 16} m_Panes: - - {fileID: 20} + - {fileID: 16} m_Selected: 0 m_LastSelected: 0 ---- !u!114 &11 +--- !u!114 &8 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -275,14 +200,14 @@ MonoBehaviour: y: 0 width: 293 height: 536 - m_MinSize: {x: 201, y: 221} - m_MaxSize: {x: 4001, y: 4021} - m_ActualView: {fileID: 21} + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_ActualView: {fileID: 17} m_Panes: - - {fileID: 21} + - {fileID: 17} m_Selected: 0 m_LastSelected: 0 ---- !u!114 &12 +--- !u!114 &9 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -303,12 +228,12 @@ MonoBehaviour: height: 368 m_MinSize: {x: 231, y: 271} m_MaxSize: {x: 10001, y: 10021} - m_ActualView: {fileID: 19} + m_ActualView: {fileID: 15} m_Panes: - - {fileID: 19} + - {fileID: 15} m_Selected: 0 m_LastSelected: 0 ---- !u!114 &13 +--- !u!114 &10 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -321,9 +246,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Children: - - {fileID: 14} - - {fileID: 9} - - {fileID: 15} + - {fileID: 11} + - {fileID: 6} + - {fileID: 12} m_Position: serializedVersion: 2 x: 0 @@ -336,7 +261,7 @@ MonoBehaviour: m_TopViewHeight: 30 m_UseBottomView: 1 m_BottomViewHeight: 20 ---- !u!114 &14 +--- !u!114 &11 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -358,7 +283,7 @@ MonoBehaviour: m_MinSize: {x: 0, y: 0} m_MaxSize: {x: 0, y: 0} m_LastLoadedLayoutName: ---- !u!114 &15 +--- !u!114 &12 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -379,7 +304,7 @@ MonoBehaviour: height: 20 m_MinSize: {x: 0, y: 0} m_MaxSize: {x: 0, y: 0} ---- !u!114 &16 +--- !u!114 &13 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -392,8 +317,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Children: - - {fileID: 6} - - {fileID: 8} + - {fileID: 3} + - {fileID: 5} m_Position: serializedVersion: 2 x: 0 @@ -403,66 +328,9 @@ MonoBehaviour: m_MinSize: {x: 200, y: 100} m_MaxSize: {x: 16192, y: 16192} vertical: 1 - controlID: 56 + controlID: 17 draggingID: 0 ---- !u!114 &17 -MonoBehaviour: - m_ObjectHideFlags: 52 - 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: 13202, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_MinSize: {x: 1000, y: 500} - m_MaxSize: {x: 4000, y: 4000} - m_TitleContent: - m_Text: Frame Debugger - m_Image: {fileID: 0} - m_Tooltip: - m_Pos: - serializedVersion: 2 - x: 392 - y: 65 - width: 1328 - height: 933 - m_SerializedDataModeController: - m_DataMode: 0 - m_PreferredDataMode: 0 - m_SupportedDataModes: - isAutomatic: 1 - m_ViewDataDictionary: {fileID: 0} - m_OverlayCanvas: - m_LastAppliedPresetName: Default - m_SaveData: [] - m_OverlaysVisible: 1 - m_TreeWidth: 337.92 - m_TreeViewState: - scrollPos: {x: 0, y: 0} - m_SelectedIDs: - m_LastClickedID: 0 - m_ExpandedIDs: - m_RenameOverlay: - m_UserAcceptedRename: 0 - m_Name: - m_OriginalName: - m_EditFieldRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 0 - height: 0 - m_UserData: 0 - m_IsWaitingForDelay: 0 - m_IsRenaming: 0 - m_OriginalEventType: 11 - m_IsRenamingFilename: 0 - m_ClientGUIView: {fileID: 0} - m_SearchString: ---- !u!114 &18 +--- !u!114 &14 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -482,10 +350,10 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: 391 - y: 73 - width: 1470 - height: 749 + x: 293 + y: 83 + width: 1102 + height: 515 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -501,7 +369,7 @@ MonoBehaviour: collapsed: 0 displayed: 1 snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: -179, y: -26} + snapOffsetDelta: {x: -174, y: -26} snapCorner: 3 id: Tool Settings index: 0 @@ -818,9 +686,9 @@ MonoBehaviour: m_PlayAudio: 0 m_AudioPlay: 0 m_Position: - m_Target: {x: -33.845665, y: -11.687641, z: -27.991777} + m_Target: {x: 5.276779, y: 3.233207, z: -160.97272} speed: 2 - m_Value: {x: -33.845665, y: -11.687641, z: -27.991777} + m_Value: {x: 5.276779, y: 3.233207, z: -160.97272} m_RenderMode: 0 m_CameraMode: drawMode: 0 @@ -870,9 +738,9 @@ MonoBehaviour: speed: 2 m_Value: {x: -0.06818082, y: 0.9243392, z: -0.19731495, w: -0.3193987} m_Size: - m_Target: 28.653723 + m_Target: 46.612152 speed: 2 - m_Value: 28.653723 + m_Value: 46.612152 m_Ortho: m_Target: 0 speed: 2 @@ -899,7 +767,7 @@ MonoBehaviour: m_SceneVisActive: 1 m_LastLockedObject: {fileID: 0} m_ViewIsLockedToObject: 0 ---- !u!114 &19 +--- !u!114 &15 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -958,10 +826,10 @@ MonoBehaviour: m_LockTracker: m_IsLocked: 0 m_FolderTreeState: - scrollPos: {x: 0, y: 79} - m_SelectedIDs: 0a080000 - m_LastClickedID: 2058 - m_ExpandedIDs: 00000000360600008e0600009a060000ce06000000ca9a3bffffff7f + scrollPos: {x: 0, y: 37} + m_SelectedIDs: e0ba0000 + m_LastClickedID: 47840 + m_ExpandedIDs: 000000006eb700006aba00006eba000000ca9a3bffffff7f m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -977,7 +845,7 @@ MonoBehaviour: m_IsRenaming: 0 m_OriginalEventType: 11 m_IsRenamingFilename: 1 - m_ClientGUIView: {fileID: 12} + m_ClientGUIView: {fileID: 9} m_SearchString: m_CreateAssetUtility: m_EndAction: {fileID: 0} @@ -989,7 +857,7 @@ MonoBehaviour: scrollPos: {x: 0, y: 0} m_SelectedIDs: m_LastClickedID: 0 - m_ExpandedIDs: + m_ExpandedIDs: 000000006eb70000 m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -1033,7 +901,7 @@ MonoBehaviour: m_IsRenaming: 0 m_OriginalEventType: 11 m_IsRenamingFilename: 1 - m_ClientGUIView: {fileID: 12} + m_ClientGUIView: {fileID: 9} m_CreateAssetUtility: m_EndAction: {fileID: 0} m_InstanceID: 0 @@ -1045,7 +913,7 @@ MonoBehaviour: m_GridSize: 16 m_SkipHiddenPackages: 0 m_DirectoriesAreaWidth: 207 ---- !u!114 &20 +--- !u!114 &16 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -1092,7 +960,7 @@ MonoBehaviour: m_LockTracker: m_IsLocked: 0 m_PreviewWindow: {fileID: 0} ---- !u!114 &21 +--- !u!114 &17 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -1129,9 +997,9 @@ MonoBehaviour: m_SceneHierarchy: m_TreeViewState: scrollPos: {x: 0, y: 0} - m_SelectedIDs: 12000000 + m_SelectedIDs: 46030000 m_LastClickedID: 0 - m_ExpandedIDs: 8221fdff5630fdfffe93fdff + m_ExpandedIDs: 40faffff m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -1147,7 +1015,7 @@ MonoBehaviour: m_IsRenaming: 0 m_OriginalEventType: 11 m_IsRenamingFilename: 0 - m_ClientGUIView: {fileID: 11} + m_ClientGUIView: {fileID: 8} m_SearchString: m_ExpandedScenes: [] m_CurrenRootInstanceID: 0 @@ -1155,7 +1023,7 @@ MonoBehaviour: m_IsLocked: 0 m_CurrentSortingName: TransformSorting m_WindowGUID: 4c969a2b90040154d917609493e03593 ---- !u!114 &22 +--- !u!114 &18 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -1195,7 +1063,7 @@ MonoBehaviour: m_ShowGizmos: 0 m_TargetDisplay: 0 m_ClearColor: {r: 0, g: 0, b: 0, a: 0} - m_TargetSize: {x: 1102, y: 494} + m_TargetSize: {x: 2560, y: 1440} m_TextureFilterMode: 0 m_TextureHideFlags: 61 m_RenderIMGUI: 1 @@ -1210,10 +1078,10 @@ MonoBehaviour: m_VRangeLocked: 0 hZoomLockedByDefault: 0 vZoomLockedByDefault: 0 - m_HBaseRangeMin: -551 - m_HBaseRangeMax: 551 - m_VBaseRangeMin: -247 - m_VBaseRangeMax: 247 + m_HBaseRangeMin: -1280 + m_HBaseRangeMax: 1280 + m_VBaseRangeMin: -720 + m_VBaseRangeMax: 720 m_HAllowExceedBaseRangeMin: 1 m_HAllowExceedBaseRangeMax: 1 m_VAllowExceedBaseRangeMin: 1 @@ -1233,7 +1101,7 @@ MonoBehaviour: y: 21 width: 1102 height: 494 - m_Scale: {x: 1, y: 1} + m_Scale: {x: 0.34305555, y: 0.34305555} m_Translation: {x: 551, y: 247} m_MarginLeft: 0 m_MarginRight: 0 @@ -1241,19 +1109,19 @@ MonoBehaviour: m_MarginBottom: 0 m_LastShownAreaInsideMargins: serializedVersion: 2 - x: -551 - y: -247 - width: 1102 - height: 494 + x: -1606.1539 + y: -720 + width: 3212.3079 + height: 1440 m_MinimalGUI: 1 - m_defaultScale: 1 + m_defaultScale: 0.34305555 m_LastWindowPixelSize: {x: 1102, y: 515} m_ClearInEditMode: 1 m_NoCameraWarning: 1 m_LowResolutionForAspectRatios: 01000001000000000000 m_XRRenderMode: 0 m_RenderTexture: {fileID: 0} ---- !u!114 &23 +--- !u!114 &19 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0}