From 76d3c669f2dee8fe90bd9ab61a7144d54233404e Mon Sep 17 00:00:00 2001 From: connan Date: Fri, 20 Dec 2024 13:38:57 +0800 Subject: [PATCH] test metal fx --- Assets/Plugins/Mac/MetalFX.swift | 70 +++++ Assets/Plugins/Mac/MetalFX.swift.meta | 78 +++++ .../Mac/libGfxPluginNativeRender.dylib | Bin 57728 -> 57792 bytes .../Mac/libGfxPluginNativeRender.dylib.meta | 40 --- Assets/Plugins/iOS/libGfxPluginNativeRender.a | Bin 24688 -> 28872 bytes Assets/Scenes/Oasis/OasisScene.scene | 35 ++- Assets/Scenes/Test.cs | 20 +- Assets/Settings/Mobile/Mobile_High.asset | 6 +- .../Mobile/Mobile_High_Renderer.asset | 4 +- Assets/Settings/PC/PC_High.asset | 5 +- Assets/Settings/PC/PC_High_Renderer.asset | 45 ++- NativeRenderPlugin/RenderAPI.h | 2 +- NativeRenderPlugin/RenderAPI_Metal.mm | 52 +++- .../Runtime/Passes/PostProcessPass.cs | 13 +- .../NatvieHelper/RenderingPlugin.cs | 15 +- .../SuperRendering/SR/Scripts/MetalFx.cs | 53 ++-- .../Runtime/SuperRendering/SR/Scripts/SR.cs | 1 + .../Runtime/SuperRendering/SRSettings.cs | 4 +- ProjectSettings/EditorBuildSettings.asset | 12 - ProjectSettings/ProjectSettings.asset | 6 +- UserSettings/Layouts/default-2022.dwlt | 267 +++++++++++++----- 21 files changed, 527 insertions(+), 201 deletions(-) create mode 100644 Assets/Plugins/Mac/MetalFX.swift create mode 100644 Assets/Plugins/Mac/MetalFX.swift.meta diff --git a/Assets/Plugins/Mac/MetalFX.swift b/Assets/Plugins/Mac/MetalFX.swift new file mode 100644 index 0000000..048289e --- /dev/null +++ b/Assets/Plugins/Mac/MetalFX.swift @@ -0,0 +1,70 @@ +import Metal +import MetalFX + +final class MTLHelper { + private static var mfxSpatialScaler: MTLFXSpatialScaler? = nil + private static var commandQueue: MTLCommandQueue? = nil + static var currentFrameUpscaledColor: MTLTexture! + + public static func callSpatialScaling(_ srcTexture: MTLTexture, _ dstTexture: MTLTexture) { + + let width = srcTexture.width + let height = srcTexture.height + if mfxSpatialScaler == nil { + let desc = MTLFXSpatialScalerDescriptor() + desc.inputWidth = width + desc.inputHeight = height + desc.outputWidth = dstTexture.width + desc.outputHeight = dstTexture.height + desc.colorTextureFormat = srcTexture.pixelFormat + desc.outputTextureFormat = dstTexture.pixelFormat + desc.colorProcessingMode = .linear + + let mtlDevice = MTLCreateSystemDefaultDevice()! + guard let spatialScaler = desc.makeSpatialScaler(device: mtlDevice) else { + print("The spatial scaler effect is not usable") + return + } + let desc1 = MTLTextureDescriptor() + desc1.width = dstTexture.width + desc1.height = dstTexture.height + desc1.storageMode = .private + desc1.pixelFormat = dstTexture.pixelFormat + desc1.usage = [ .renderTarget, .shaderRead, .shaderWrite ] + currentFrameUpscaledColor = mtlDevice.makeTexture(descriptor: desc1)!; + mfxSpatialScaler = spatialScaler + commandQueue = mtlDevice.makeCommandQueue() + } + + guard let spatialScaler = mfxSpatialScaler, + let commandQueue = commandQueue, + let commandBuffer = commandQueue.makeCommandBuffer() + else { + print("Error in make CommandBuffer") + return + } + + spatialScaler.colorTexture = srcTexture + spatialScaler.outputTexture = currentFrameUpscaledColor + spatialScaler.encode(commandBuffer: commandBuffer) + let blitEncoder = commandBuffer.makeBlitCommandEncoder(); + blitEncoder?.copy(from: currentFrameUpscaledColor, to: dstTexture) + blitEncoder?.endEncoding() + commandBuffer.commit() + } +} + +@_cdecl("callMetalFX_SpatialScaling") +func callMetalFX_SpatialScaling(_ srcTexturePtr: UnsafeRawPointer?, _ dstTexturePtr: UnsafeRawPointer?) { + + guard let srcTexturePtr = srcTexturePtr, + let dstTexturePtr = dstTexturePtr + else { + return + } + + let srcTexture: MTLTexture = Unmanaged.fromOpaque(srcTexturePtr).takeUnretainedValue() + let dstTexture: MTLTexture = Unmanaged.fromOpaque(dstTexturePtr).takeUnretainedValue() + + MTLHelper.callSpatialScaling(srcTexture, dstTexture) +} diff --git a/Assets/Plugins/Mac/MetalFX.swift.meta b/Assets/Plugins/Mac/MetalFX.swift.meta new file mode 100644 index 0000000..bbc5c2f --- /dev/null +++ b/Assets/Plugins/Mac/MetalFX.swift.meta @@ -0,0 +1,78 @@ +fileFormatVersion: 2 +guid: XSwctyOuUi5e8vo1FC1TvohNJQv3y7dKjVgiFt4zcpHYPc0SwU/5aw8= +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 1 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Editor: 1 + Exclude Linux64: 0 + Exclude OSXUniversal: 0 + Exclude Win: 0 + Exclude Win64: 0 + Exclude iOS: 0 + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + - first: + Standalone: Linux64 + second: + enabled: 1 + settings: + CPU: AnyCPU + - first: + Standalone: OSXUniversal + second: + enabled: 1 + settings: + CPU: AnyCPU + - first: + Standalone: Win + second: + enabled: 1 + settings: + CPU: AnyCPU + - first: + Standalone: Win64 + second: + enabled: 1 + settings: + CPU: AnyCPU + - first: + iPhone: iOS + second: + enabled: 1 + settings: + AddToEmbeddedBinaries: false + CPU: AnyCPU + CompileFlags: + FrameworkDependencies: Metal;MetalKit; + - first: + tvOS: tvOS + second: + enabled: 1 + settings: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Mac/libGfxPluginNativeRender.dylib b/Assets/Plugins/Mac/libGfxPluginNativeRender.dylib index 1a65721d15b5cade5ebfdb6e835335e9ce08e70f..5c1cd01f54d5e7b134c1a144edd73f1e9a26bd7e 100755 GIT binary patch delta 7721 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 delta 6697 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 mfx_spatial_scaler; id commandQueue; + id outTexture; IUnityGraphicsMetal* metal_graphics; }; @@ -92,43 +93,70 @@ void RenderAPI_Metal::spatialUpScale(void* data) id device = metal_graphics->MetalDevice(); id cmd = (id)metal_graphics->CurrentCommandBuffer(); - // metal_graphics->EndCurrentCommandEncoder(); + metal_graphics->EndCurrentCommandEncoder(); cmd.label = @"Upscale Command Buffer"; - if (mfx_spatial_scaler == nil || data_pack->qulityChange) + if (mfx_spatial_scaler == nil ) { MTLFXSpatialScalerDescriptor* desc = [[MTLFXSpatialScalerDescriptor alloc]init]; desc.inputWidth = [srctex width]; desc.inputHeight = [srctex height]; desc.outputWidth = [dsttex width]; desc.outputHeight = [dsttex height]; - desc.colorTextureFormat = [srctex pixelFormat]; desc.outputTextureFormat = [dsttex pixelFormat]; desc.colorProcessingMode = MTLFXSpatialScalerColorProcessingModeLinear; mfx_spatial_scaler = [desc newSpatialScalerWithDevice:device]; commandQueue = [device newCommandQueue]; + + MTLTextureDescriptor *texdesc = [[MTLTextureDescriptor alloc] init]; + texdesc.width = (int)desc.outputWidth; + texdesc.height = (int)desc.outputHeight; + texdesc.storageMode = MTLStorageModePrivate; + texdesc.usage = MTLTextureUsageRenderTarget | MTLTextureUsageShaderRead | MTLTextureUsageShaderWrite; + texdesc.pixelFormat = desc.outputTextureFormat; + outTexture = [device newTextureWithDescriptor:texdesc]; } if (mfx_spatial_scaler == nil || commandQueue == nil) { return; } - - mfx_spatial_scaler.colorTexture = srctex; - mfx_spatial_scaler.outputTexture = dsttex; - // if(!cmd) + if(!(srctex && dsttex)) { - id upscaleCommandBuffer = [commandQueue commandBuffer]; - upscaleCommandBuffer.label = @"Upscale Command Buffer"; - [mfx_spatial_scaler encodeToCommandBuffer:upscaleCommandBuffer]; - [upscaleCommandBuffer commit]; + return; } + mfx_spatial_scaler.colorTexture = srctex; + mfx_spatial_scaler.outputTexture = outTexture; + + mfx_spatial_scaler.inputContentWidth = [srctex width]; + mfx_spatial_scaler.inputContentHeight = [srctex height]; + // if(!cmd) + // { + // id upscaleCommandBuffer = [commandQueue commandBuffer]; + // upscaleCommandBuffer.label = @"Upscale Command Buffer"; + // [mfx_spatial_scaler encodeToCommandBuffer:upscaleCommandBuffer]; + // [upscaleCommandBuffer commit]; + + // id textureCommandBuffer = [commandQueue commandBuffer]; + // id _mfxSpatialEncoder =[textureCommandBuffer blitCommandEncoder]; + + // [_mfxSpatialEncoder copyFromTexture: outTexture toTexture: dsttex]; + // [_mfxSpatialEncoder endEncoding]; + // [textureCommandBuffer commit]; + // } // else { - // [mfx_spatial_scaler encodeToCommandBuffer:cmd]; + [mfx_spatial_scaler encodeToCommandBuffer:cmd]; // [cmd commit]; + + // id textureCommandBuffer = [commandQueue commandBuffer]; + id _mfxSpatialEncoder =[textureCommandBuffer blitCommandEncoder]; + + [_mfxSpatialEncoder copyFromTexture: outTexture toTexture: dsttex]; + [_mfxSpatialEncoder endEncoding]; + // [textureCommandBuffer commit]; } } diff --git a/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/Passes/PostProcessPass.cs b/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/Passes/PostProcessPass.cs index daf7c55..535f16f 100644 --- a/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/Passes/PostProcessPass.cs +++ b/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/Passes/PostProcessPass.cs @@ -302,6 +302,7 @@ namespace UnityEngine.Rendering.Universal { // Start by pre-fetching all builtin effect settings we need // Some of the color-grading settings are only used in the color grading lut pass + SuperResolutionParamSets.Instance.RenderContext = context; var stack = VolumeManager.instance.stack; m_DepthOfField = stack.GetComponent(); m_MotionBlur = stack.GetComponent(); @@ -504,12 +505,12 @@ namespace UnityEngine.Rendering.Universal ref var colorDescriptor = ref cameraData.cameraTargetDescriptor; colorDescriptor.width = cameraData.camera.pixelWidth; colorDescriptor.height = cameraData.camera.pixelHeight; - if (asset.SuperResolution == ESuperResolution.XESS13 - || asset.SuperResolution == ESuperResolution.GSR2 - || asset.SuperResolution == ESuperResolution.METAL_FX_SPATIAL_SR) + // if (asset.SuperResolution == ESuperResolution.XESS13 + // || asset.SuperResolution == ESuperResolution.GSR2 + // ) { - colorDescriptor.graphicsFormat = GraphicsFormat.R16G16B16A16_SFloat; - colorDescriptor.enableRandomWrite = true; // + // colorDescriptor.graphicsFormat = GraphicsFormat.R16G16B16A16_SFloat; + // colorDescriptor.enableRandomWrite = true; // } renderer.m_ColorBufferSystem.SetCameraSettings(colorDescriptor, FilterMode.Bilinear); @@ -530,7 +531,7 @@ namespace UnityEngine.Rendering.Universal } } } - + destination = renderer.GetCameraColorFrontBuffer(cmd); source = renderer.GetCameraColorBackBuffer(cmd); } 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 8a0e33d..078d597 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 @@ -7,35 +7,28 @@ namespace X.Rendering.Feature { public static class RenderingPlugin { -#if (PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_BRATWURST || UNITY_STANDALONE_OSX ) && !UNITY_EDITOR - [DllImport("__Internal")] -#else - [DllImport("GfxPluginNativeRender")] -#endif - public static extern void SetTimeFromUnity(float t); - -#if (PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_BRATWURST || UNITY_STANDALONE_OSX ) && !UNITY_EDITOR +#if (PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_BRATWURST ) && !UNITY_EDITOR [DllImport("__Internal")] #else [DllImport("GfxPluginNativeRender")] #endif public static extern IntPtr GetRenderEventAndDataFunc(); -#if (PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_BRATWURST || UNITY_STANDALONE_OSX ) && !UNITY_EDITOR +#if (PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_BRATWURST ) && !UNITY_EDITOR [DllImport("__Internal")] #else [DllImport("GfxPluginNativeRender")] #endif private static extern bool GetFeatureSupport(int feature); -#if (PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_BRATWURST || UNITY_STANDALONE_OSX ) && !UNITY_EDITOR +#if (PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_BRATWURST ) && !UNITY_EDITOR [DllImport("__Internal")] #else [DllImport("GfxPluginNativeRender")] #endif public static extern bool GetInputResolution(int outw, int outh, int quality, ref int width, ref int height); - //#if (PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_BRATWURST || UNITY_STANDALONE_OSX) && !UNITY_EDITOR + //#if (PLATFORM_IOS || PLATFORM_TVOS || PLATFORM_BRATWURST ) && !UNITY_EDITOR // [DllImport("__Internal")] //#else // [DllImport("GfxPluginNativeRender")] 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 9553b45..166db1c 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 @@ -17,6 +17,7 @@ namespace X.Rendering.Feature SrQuality lastQuality; bool updateSrNextFrame = false; + [StructLayout(LayoutKind.Sequential)] struct DataPack { public IntPtr src; @@ -46,25 +47,42 @@ namespace X.Rendering.Feature { return; } + var cameraTargetDescriptor = renderingData.cameraData.cameraTargetDescriptor; + cameraTargetDescriptor.depthBufferBits = 0; + + //var cmd = CommandBufferPool.Get("DoSR"); + //cmd.Clear(); + { + using var scp = new ProfilingScope(cmd, profiler); + DataPack* ptr = (DataPack*)dataPtr.ToPointer(); + ptr->src = source.rt.GetNativeTexturePtr(); - using var scp = new ProfilingScope(cmd, profiler); - DataPack * ptr = (DataPack*) dataPtr.ToPointer(); - ptr->src = source.rt.GetNativeTexturePtr(); - // XXX: output argb16/32, copy output -> dst - ptr->dst = destination.rt.GetNativeTexturePtr(); - ptr->qulityChange = updateSrNextFrame; - if(updateSrNextFrame) - { - updateSrNextFrame = false; + ptr->qulityChange = updateSrNextFrame; + if (updateSrNextFrame) + { + updateSrNextFrame = false; + } + if (lastQuality != quality) + { + updateSrNextFrame = true; + UniversalRenderPipeline.asset.renderScale = GetRenderScale(); + lastQuality = quality; + } + ptr->dst = destination.rt.GetNativeTexturePtr(); + [DllImport("__Internal", EntryPoint = "callMetalFX_SpatialScaling")] + static extern void CallNativeMethod(IntPtr srcTexture, IntPtr dstTexture); + // cmd.SetRenderTarget(destination, RenderBufferLoadAction.DontCare, RenderBufferStoreAction.Store, RenderBufferLoadAction.DontCare, RenderBufferStoreAction.DontCare); + // ネイティブ側にてscalingした結果を`dst`に書き込む + CallNativeMethod(source.rt.GetNativeTexturePtr(), destination.rt.GetNativeTexturePtr()); + //cmd.Blit(dstRT, destination); + //cmd.IssuePluginEventAndData(RenderingPlugin.GetRenderEventAndDataFunc(), (int)RenderingPlugin.NativeRenderingEvent.SpatialUpScale, dataPtr); + //cmd.Blit(dstRT, destination); } - if (lastQuality != quality) - { - updateSrNextFrame = true; - UniversalRenderPipeline.asset.renderScale = GetRenderScale(); - lastQuality = quality; - } - - cmd.IssuePluginEventAndData(RenderingPlugin.GetRenderEventAndDataFunc(), (int)RenderingPlugin.NativeRenderingEvent.SpatialUpScale, dataPtr); + + //cmd.SetRenderTarget(destination, RenderBufferLoadAction.DontCare, RenderBufferStoreAction.Store); + //cmd.IssuePluginEventAndData(RenderingPlugin.GetRenderEventAndDataFunc(), (int)RenderingPlugin.NativeRenderingEvent.SpatialUpScale, dataPtr); + //SuperResolutionParamSets.Instance.RenderContext.ExecuteCommandBuffer(cmd); + //CommandBufferPool.Release(cmd); } public float GetRenderScale() @@ -96,6 +114,7 @@ namespace X.Rendering.Feature case ESuperResolution.METAL_FX_SPATIAL_SR: { SetActive(true); + updateSrNextFrame = true; } break; default: diff --git a/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/SR/Scripts/SR.cs b/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/SR/Scripts/SR.cs index 597acb5..c74b34a 100644 --- a/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/SR/Scripts/SR.cs +++ b/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/SR/Scripts/SR.cs @@ -56,6 +56,7 @@ namespace X.Rendering.Feature } } + public ScriptableRenderContext RenderContext; Dictionary boolMap = new (); Dictionary intMap = new (); diff --git a/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/SRSettings.cs b/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/SRSettings.cs index ce0bed2..992079d 100644 --- a/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/SRSettings.cs +++ b/Packages/com.unity.render-pipelines.universal@14.0.11/Runtime/SuperRendering/SRSettings.cs @@ -5,7 +5,7 @@ namespace UnityEngine.Rendering.Universal public partial class UniversalRenderPipelineAsset { [SerializeField] - private ESuperResolution superResolution; + public ESuperResolution superResolution; public ESuperResolution SuperResolution => superResolution; @@ -14,7 +14,7 @@ namespace UnityEngine.Rendering.Universal [SerializeField] private RenderingPlugin.VRSPluginShadingRate vrsRate; - private void UpdateSSSettings() + public void UpdateSSSettings() { var renderer = GetRenderer(this.m_DefaultRendererIndex); var renderScale = 1.0f; diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index 9337e06..bbd0358 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -5,21 +5,9 @@ EditorBuildSettings: m_ObjectHideFlags: 0 serializedVersion: 2 m_Scenes: - - enabled: 1 - path: Assets/Scenes/Terminal/TerminalScene.scene - guid: 4496a3dbb8d263043a4460bac5382ac5 - enabled: 1 path: Assets/Scenes/Oasis/OasisScene.scene guid: 9fa2ba603a3424f9bafa4119f837f2bc - - enabled: 1 - path: Assets/Scenes/Garden/GardenScene.scene - guid: 81e71078978223e4c8ffbf973484c9c5 - - enabled: 1 - path: Assets/Scenes/Cockpit/CockpitScene.scene - guid: b78a0ca5d851e4ddf993dcc6feab56d0 - - enabled: 1 - path: Assets/SharedAssets/Benchmark/BenchmarkScene.scene - guid: d1335b3b949d2e646b481776723757a2 m_configObjects: Unity.XR.Oculus.Settings: {fileID: 11400000, guid: 290a6e6411d135049940bec2237b8938, type: 2} com.unity.input.settings: {fileID: 11400000, guid: 9e7be553448fa2546aea5752021cbcf7, type: 2} diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 23b83af..3a895e1 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -290,7 +290,7 @@ PlayerSettings: Android: com.DefaultCompany.TJURP OpenHarmony: com.DefaultCompany.TJURP Standalone: com.DefaultCompany.TJURP - iPhone: com.unity.template.urp-sample + iPhone: com.DefaultCompany.TJURP buildNumber: Standalone: 0 VisionOS: 0 @@ -314,7 +314,7 @@ PlayerSettings: strictShaderVariantMatching: 0 VertexChannelCompressionMask: 4054 iPhoneSdkVersion: 988 - iOSTargetOSVersionString: 12.0 + iOSTargetOSVersionString: 16.0 tvOSSdkVersion: 0 tvOSRequireExtendedGameController: 0 tvOSTargetOSVersionString: 12.0 @@ -816,7 +816,7 @@ PlayerSettings: locationUsageDescription: microphoneUsageDescription: bluetoothUsageDescription: - macOSTargetOSVersion: 10.13.0 + macOSTargetOSVersion: 13.0 switchNMETAOverride: switchNetLibKey: switchSocketMemoryPoolSize: 6144 diff --git a/UserSettings/Layouts/default-2022.dwlt b/UserSettings/Layouts/default-2022.dwlt index 82eac18..616fda4 100644 --- a/UserSettings/Layouts/default-2022.dwlt +++ b/UserSettings/Layouts/default-2022.dwlt @@ -1,6 +1,30 @@ %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: 807 + y: 175 + width: 823 + height: 603 + m_ShowMode: 0 + m_Title: Build Settings + m_RootView: {fileID: 4} + m_MinSize: {x: 640, y: 601} + m_MaxSize: {x: 4000, y: 4021} + m_Maximized: 0 +--- !u!114 &2 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -19,12 +43,63 @@ MonoBehaviour: width: 1920 height: 954 m_ShowMode: 4 - m_Title: Inspector - m_RootView: {fileID: 10} + m_Title: Console + m_RootView: {fileID: 13} m_MinSize: {x: 875, y: 321} m_MaxSize: {x: 10000, y: 10000} m_Maximized: 1 ---- !u!114 &2 +--- !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: BuildPlayerWindow + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 823 + height: 603 + m_MinSize: {x: 640, y: 580} + m_MaxSize: {x: 4000, y: 4000} + 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: 823 + height: 603 + m_MinSize: {x: 640, y: 601} + m_MaxSize: {x: 4000, y: 4021} + vertical: 0 + controlID: 2099 + draggingID: 0 +--- !u!114 &5 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -45,13 +120,13 @@ MonoBehaviour: height: 536 m_MinSize: {x: 202, y: 221} m_MaxSize: {x: 4002, y: 4021} - m_ActualView: {fileID: 18} + m_ActualView: {fileID: 22} m_Panes: - - {fileID: 14} - {fileID: 18} + - {fileID: 22} m_Selected: 1 m_LastSelected: 0 ---- !u!114 &3 +--- !u!114 &6 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -64,8 +139,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Children: - - {fileID: 8} - - {fileID: 2} + - {fileID: 11} + - {fileID: 5} m_Position: serializedVersion: 2 x: 0 @@ -77,7 +152,7 @@ MonoBehaviour: vertical: 0 controlID: 18 draggingID: 0 ---- !u!114 &4 +--- !u!114 &7 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -98,12 +173,12 @@ MonoBehaviour: height: 368 m_MinSize: {x: 102, y: 121} m_MaxSize: {x: 4002, y: 4021} - m_ActualView: {fileID: 19} + m_ActualView: {fileID: 23} m_Panes: - - {fileID: 19} + - {fileID: 23} m_Selected: 0 m_LastSelected: 0 ---- !u!114 &5 +--- !u!114 &8 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -116,8 +191,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Children: - - {fileID: 9} - - {fileID: 4} + - {fileID: 12} + - {fileID: 7} m_Position: serializedVersion: 2 x: 0 @@ -127,9 +202,9 @@ MonoBehaviour: m_MinSize: {x: 200, y: 50} m_MaxSize: {x: 16192, y: 8096} vertical: 0 - controlID: 65 + controlID: 120 draggingID: 0 ---- !u!114 &6 +--- !u!114 &9 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -142,8 +217,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Children: - - {fileID: 13} - - {fileID: 7} + - {fileID: 16} + - {fileID: 10} m_Position: serializedVersion: 2 x: 0 @@ -155,7 +230,7 @@ MonoBehaviour: vertical: 0 controlID: 16 draggingID: 0 ---- !u!114 &7 +--- !u!114 &10 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -174,14 +249,14 @@ MonoBehaviour: y: 0 width: 523 height: 904 - m_MinSize: {x: 275, y: 50} - m_MaxSize: {x: 4000, y: 4000} - m_ActualView: {fileID: 16} + m_MinSize: {x: 276, y: 71} + m_MaxSize: {x: 4001, y: 4021} + m_ActualView: {fileID: 20} m_Panes: - - {fileID: 16} + - {fileID: 20} m_Selected: 0 m_LastSelected: 0 ---- !u!114 &8 +--- !u!114 &11 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -200,14 +275,14 @@ MonoBehaviour: y: 0 width: 293 height: 536 - m_MinSize: {x: 200, y: 200} - m_MaxSize: {x: 4000, y: 4000} - m_ActualView: {fileID: 17} + m_MinSize: {x: 201, y: 221} + m_MaxSize: {x: 4001, y: 4021} + m_ActualView: {fileID: 21} m_Panes: - - {fileID: 17} + - {fileID: 21} m_Selected: 0 m_LastSelected: 0 ---- !u!114 &9 +--- !u!114 &12 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -228,12 +303,12 @@ MonoBehaviour: height: 368 m_MinSize: {x: 231, y: 271} m_MaxSize: {x: 10001, y: 10021} - m_ActualView: {fileID: 15} + m_ActualView: {fileID: 19} m_Panes: - - {fileID: 15} + - {fileID: 19} m_Selected: 0 m_LastSelected: 0 ---- !u!114 &10 +--- !u!114 &13 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -246,9 +321,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Children: - - {fileID: 11} - - {fileID: 6} - - {fileID: 12} + - {fileID: 14} + - {fileID: 9} + - {fileID: 15} m_Position: serializedVersion: 2 x: 0 @@ -261,7 +336,7 @@ MonoBehaviour: m_TopViewHeight: 30 m_UseBottomView: 1 m_BottomViewHeight: 20 ---- !u!114 &11 +--- !u!114 &14 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -283,7 +358,7 @@ MonoBehaviour: m_MinSize: {x: 0, y: 0} m_MaxSize: {x: 0, y: 0} m_LastLoadedLayoutName: ---- !u!114 &12 +--- !u!114 &15 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -304,7 +379,7 @@ MonoBehaviour: height: 20 m_MinSize: {x: 0, y: 0} m_MaxSize: {x: 0, y: 0} ---- !u!114 &13 +--- !u!114 &16 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -317,8 +392,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Children: - - {fileID: 3} - - {fileID: 5} + - {fileID: 6} + - {fileID: 8} m_Position: serializedVersion: 2 x: 0 @@ -330,7 +405,63 @@ MonoBehaviour: vertical: 1 controlID: 17 draggingID: 0 ---- !u!114 &14 +--- !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: 12043, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 640, y: 580} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Build Settings + m_Image: {fileID: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 807 + y: 175 + width: 823 + height: 582 + 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_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 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -767,7 +898,7 @@ MonoBehaviour: m_SceneVisActive: 1 m_LastLockedObject: {fileID: 0} m_ViewIsLockedToObject: 0 ---- !u!114 &15 +--- !u!114 &19 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -812,7 +943,7 @@ MonoBehaviour: m_SkipHidden: 0 m_SearchArea: 1 m_Folders: - - Assets/Settings/Mobile + - Assets/Plugins/iOS m_Globs: [] m_OriginalText: m_ImportLogFlags: 0 @@ -820,16 +951,16 @@ MonoBehaviour: m_ViewMode: 1 m_StartGridSize: 16 m_LastFolders: - - Assets/Settings/Mobile + - Assets/Plugins/iOS m_LastFoldersGridSize: 16 m_LastProjectPath: /Users/jkstudio/Desktop/repo/unity_native_render m_LockTracker: m_IsLocked: 0 m_FolderTreeState: scrollPos: {x: 0, y: 37} - m_SelectedIDs: e0ba0000 - m_LastClickedID: 47840 - m_ExpandedIDs: 000000006eb700006aba00006eba000000ca9a3bffffff7f + m_SelectedIDs: 76ba0000 + m_LastClickedID: 47734 + m_ExpandedIDs: 0000000074b7000076b7000078b7000000ca9a3bffffff7f m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -845,7 +976,7 @@ MonoBehaviour: m_IsRenaming: 0 m_OriginalEventType: 11 m_IsRenamingFilename: 1 - m_ClientGUIView: {fileID: 9} + m_ClientGUIView: {fileID: 12} m_SearchString: m_CreateAssetUtility: m_EndAction: {fileID: 0} @@ -857,7 +988,7 @@ MonoBehaviour: scrollPos: {x: 0, y: 0} m_SelectedIDs: m_LastClickedID: 0 - m_ExpandedIDs: 000000006eb70000 + m_ExpandedIDs: 0000000074b7000076b7000078b70000 m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -901,7 +1032,7 @@ MonoBehaviour: m_IsRenaming: 0 m_OriginalEventType: 11 m_IsRenamingFilename: 1 - m_ClientGUIView: {fileID: 9} + m_ClientGUIView: {fileID: 12} m_CreateAssetUtility: m_EndAction: {fileID: 0} m_InstanceID: 0 @@ -913,7 +1044,7 @@ MonoBehaviour: m_GridSize: 16 m_SkipHiddenPackages: 0 m_DirectoriesAreaWidth: 207 ---- !u!114 &16 +--- !u!114 &20 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -960,7 +1091,7 @@ MonoBehaviour: m_LockTracker: m_IsLocked: 0 m_PreviewWindow: {fileID: 0} ---- !u!114 &17 +--- !u!114 &21 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -997,9 +1128,9 @@ MonoBehaviour: m_SceneHierarchy: m_TreeViewState: scrollPos: {x: 0, y: 0} - m_SelectedIDs: 46030000 + m_SelectedIDs: m_LastClickedID: 0 - m_ExpandedIDs: 40faffff + m_ExpandedIDs: f263feff9264feff72d6feffb6ecfeff56edfeff365fffff4cfaffff m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -1015,7 +1146,7 @@ MonoBehaviour: m_IsRenaming: 0 m_OriginalEventType: 11 m_IsRenamingFilename: 0 - m_ClientGUIView: {fileID: 8} + m_ClientGUIView: {fileID: 11} m_SearchString: m_ExpandedScenes: [] m_CurrenRootInstanceID: 0 @@ -1023,7 +1154,7 @@ MonoBehaviour: m_IsLocked: 0 m_CurrentSortingName: TransformSorting m_WindowGUID: 4c969a2b90040154d917609493e03593 ---- !u!114 &18 +--- !u!114 &22 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0} @@ -1063,7 +1194,7 @@ MonoBehaviour: m_ShowGizmos: 0 m_TargetDisplay: 0 m_ClearColor: {r: 0, g: 0, b: 0, a: 0} - m_TargetSize: {x: 2560, y: 1440} + m_TargetSize: {x: 1102, y: 494} m_TextureFilterMode: 0 m_TextureHideFlags: 61 m_RenderIMGUI: 1 @@ -1078,10 +1209,10 @@ MonoBehaviour: m_VRangeLocked: 0 hZoomLockedByDefault: 0 vZoomLockedByDefault: 0 - m_HBaseRangeMin: -1280 - m_HBaseRangeMax: 1280 - m_VBaseRangeMin: -720 - m_VBaseRangeMax: 720 + m_HBaseRangeMin: -551 + m_HBaseRangeMax: 551 + m_VBaseRangeMin: -247 + m_VBaseRangeMax: 247 m_HAllowExceedBaseRangeMin: 1 m_HAllowExceedBaseRangeMax: 1 m_VAllowExceedBaseRangeMin: 1 @@ -1101,7 +1232,7 @@ MonoBehaviour: y: 21 width: 1102 height: 494 - m_Scale: {x: 0.34305555, y: 0.34305555} + m_Scale: {x: 1, y: 1} m_Translation: {x: 551, y: 247} m_MarginLeft: 0 m_MarginRight: 0 @@ -1109,19 +1240,19 @@ MonoBehaviour: m_MarginBottom: 0 m_LastShownAreaInsideMargins: serializedVersion: 2 - x: -1606.1539 - y: -720 - width: 3212.3079 - height: 1440 + x: -551 + y: -247 + width: 1102 + height: 494 m_MinimalGUI: 1 - m_defaultScale: 0.34305555 + m_defaultScale: 1 m_LastWindowPixelSize: {x: 1102, y: 515} m_ClearInEditMode: 1 m_NoCameraWarning: 1 m_LowResolutionForAspectRatios: 01000001000000000000 m_XRRenderMode: 0 m_RenderTexture: {fileID: 0} ---- !u!114 &19 +--- !u!114 &23 MonoBehaviour: m_ObjectHideFlags: 52 m_CorrespondingSourceObject: {fileID: 0}