From f7de18725ec9c9af934fb50e2c65986102253cfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A0=95=EC=98=81=EB=AF=BC?= <117150306+jym04@users.noreply.github.com> Date: Wed, 11 Jun 2025 14:26:20 +0900 Subject: [PATCH] =?UTF-8?q?Resource=20=ED=8F=B4=EB=8D=94=20=EB=82=B4?= =?UTF-8?q?=EC=9D=98=20AssetInfo=20=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Editor/WI/ResourcesFileSizeExporter.cs | 45 +++++++++++++++ .../WI/ResourcesFileSizeExporter.cs.meta | 2 + ...faultUniversal Render Pipeline Asset.asset | 56 +++++++++---------- ...niversalRenderPipelineGlobalSettings.asset | 12 +++- Assets/Resources/FileSizes.json | 1 + Assets/Resources/FileSizes.json.meta | 7 +++ .../Scripts/Studio/Managers/AssetManager.cs | 20 ++++++- .../Scripts/Studio/Managers/FBXFileManager.cs | 6 +- 8 files changed, 116 insertions(+), 33 deletions(-) create mode 100644 Assets/Editor/WI/ResourcesFileSizeExporter.cs create mode 100644 Assets/Editor/WI/ResourcesFileSizeExporter.cs.meta create mode 100644 Assets/Resources/FileSizes.json create mode 100644 Assets/Resources/FileSizes.json.meta diff --git a/Assets/Editor/WI/ResourcesFileSizeExporter.cs b/Assets/Editor/WI/ResourcesFileSizeExporter.cs new file mode 100644 index 00000000..06d967d2 --- /dev/null +++ b/Assets/Editor/WI/ResourcesFileSizeExporter.cs @@ -0,0 +1,45 @@ +using UnityEditor; +using UnityEngine; +using System.IO; +using System.Collections.Generic; +using Newtonsoft.Json; +using Studio.Manage; + +public class ResourcesFileSizeExporter +{ + [MenuItem("Tools/Export Resources File Sizes to JSON")] + public static void ExportFileSizes() + { + string resourcesPath = Application.dataPath + "/Resources"; + var sampleAssetPaths = Application.dataPath + "/Resources/Sample"; + var fileSizeListWrapper = new FileSizeListWrapper(); + if (!Directory.Exists(sampleAssetPaths)) + { + return; + } + + Dictionary fileSizes = new Dictionary(); + + string[] files = Directory.GetFiles(sampleAssetPaths, "*.prefab", SearchOption.AllDirectories); + foreach (string filePath in files) + { + var fileEntry = new FileSizeEntry(); + + long fileByteSize = new FileInfo(filePath).Length; + string fileName = Path.GetFileNameWithoutExtension(filePath); + + fileEntry.name = fileName; + fileEntry.size = fileByteSize; + + fileSizeListWrapper.files.Add(fileEntry); + } + + string json = JsonConvert.SerializeObject(fileSizeListWrapper); + + string outputPath = Path.Combine(resourcesPath, "FileSizes.json"); + File.WriteAllText(outputPath, json); + + Debug.Log($"ÆÄÀÏ À̸§/Å©±â Á¤º¸°¡ ÀúÀåµÇ¾ú½À´Ï´Ù: {outputPath}"); + AssetDatabase.Refresh(); + } +} \ No newline at end of file diff --git a/Assets/Editor/WI/ResourcesFileSizeExporter.cs.meta b/Assets/Editor/WI/ResourcesFileSizeExporter.cs.meta new file mode 100644 index 00000000..c12f826b --- /dev/null +++ b/Assets/Editor/WI/ResourcesFileSizeExporter.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 5f5ead7d05f396848bdd5d3a16b3587f \ No newline at end of file diff --git a/Assets/ProjectSetting/DefaultUniversal Render Pipeline Asset.asset b/Assets/ProjectSetting/DefaultUniversal Render Pipeline Asset.asset index 6fc52fe4..d50809aa 100644 --- a/Assets/ProjectSetting/DefaultUniversal Render Pipeline Asset.asset +++ b/Assets/ProjectSetting/DefaultUniversal Render Pipeline Asset.asset @@ -99,35 +99,35 @@ MonoBehaviour: obsoleteHasProbeVolumes: m_Keys: [] m_Values: - m_PrefilteringModeMainLightShadows: 1 - m_PrefilteringModeAdditionalLight: 4 - m_PrefilteringModeAdditionalLightShadows: 1 - m_PrefilterXRKeywords: 0 - m_PrefilteringModeForwardPlus: 1 - m_PrefilteringModeDeferredRendering: 1 - m_PrefilteringModeScreenSpaceOcclusion: 1 - m_PrefilterDebugKeywords: 0 - m_PrefilterWriteRenderingLayers: 0 - m_PrefilterHDROutput: 0 - m_PrefilterAlphaOutput: 0 - m_PrefilterSSAODepthNormals: 0 - m_PrefilterSSAOSourceDepthLow: 0 - m_PrefilterSSAOSourceDepthMedium: 0 - m_PrefilterSSAOSourceDepthHigh: 0 - m_PrefilterSSAOInterleaved: 0 - m_PrefilterSSAOBlueNoise: 0 - m_PrefilterSSAOSampleCountLow: 0 - m_PrefilterSSAOSampleCountMedium: 0 - m_PrefilterSSAOSampleCountHigh: 0 - m_PrefilterDBufferMRT1: 0 - m_PrefilterDBufferMRT2: 0 - m_PrefilterDBufferMRT3: 0 - m_PrefilterSoftShadowsQualityLow: 0 - m_PrefilterSoftShadowsQualityMedium: 0 - m_PrefilterSoftShadowsQualityHigh: 0 + m_PrefilteringModeMainLightShadows: 3 + m_PrefilteringModeAdditionalLight: 3 + m_PrefilteringModeAdditionalLightShadows: 0 + m_PrefilterXRKeywords: 1 + m_PrefilteringModeForwardPlus: 0 + m_PrefilteringModeDeferredRendering: 0 + m_PrefilteringModeScreenSpaceOcclusion: 0 + m_PrefilterDebugKeywords: 1 + m_PrefilterWriteRenderingLayers: 1 + m_PrefilterHDROutput: 1 + m_PrefilterAlphaOutput: 1 + m_PrefilterSSAODepthNormals: 1 + m_PrefilterSSAOSourceDepthLow: 1 + m_PrefilterSSAOSourceDepthMedium: 1 + m_PrefilterSSAOSourceDepthHigh: 1 + m_PrefilterSSAOInterleaved: 1 + m_PrefilterSSAOBlueNoise: 1 + m_PrefilterSSAOSampleCountLow: 1 + m_PrefilterSSAOSampleCountMedium: 1 + m_PrefilterSSAOSampleCountHigh: 1 + m_PrefilterDBufferMRT1: 1 + m_PrefilterDBufferMRT2: 1 + m_PrefilterDBufferMRT3: 1 + m_PrefilterSoftShadowsQualityLow: 1 + m_PrefilterSoftShadowsQualityMedium: 1 + m_PrefilterSoftShadowsQualityHigh: 1 m_PrefilterSoftShadows: 0 - m_PrefilterScreenCoord: 0 - m_PrefilterNativeRenderPass: 0 + m_PrefilterScreenCoord: 1 + m_PrefilterNativeRenderPass: 1 m_PrefilterUseLegacyLightmaps: 0 m_ShaderVariantLogLevel: 0 m_ShadowCascades: 0 diff --git a/Assets/ProjectSetting/DefaultUniversalRenderPipelineGlobalSettings.asset b/Assets/ProjectSetting/DefaultUniversalRenderPipelineGlobalSettings.asset index cd8f115b..05549c19 100644 --- a/Assets/ProjectSetting/DefaultUniversalRenderPipelineGlobalSettings.asset +++ b/Assets/ProjectSetting/DefaultUniversalRenderPipelineGlobalSettings.asset @@ -56,7 +56,17 @@ MonoBehaviour: - rid: 8640070351411478628 - rid: 8640070351411478629 m_RuntimeSettings: - m_List: [] + m_List: + - rid: 8640070351411478610 + - rid: 8640070351411478612 + - rid: 8640070351411478614 + - rid: 8640070351411478615 + - rid: 8640070351411478616 + - rid: 8640070351411478617 + - rid: 8640070351411478619 + - rid: 8640070351411478621 + - rid: 8640070351411478625 + - rid: 8640070351411478628 m_AssetVersion: 8 m_ObsoleteDefaultVolumeProfile: {fileID: 0} m_RenderingLayerNames: diff --git a/Assets/Resources/FileSizes.json b/Assets/Resources/FileSizes.json new file mode 100644 index 00000000..32a2ec2a --- /dev/null +++ b/Assets/Resources/FileSizes.json @@ -0,0 +1 @@ +{"files":[{"name":"18TH","size":6262},{"name":"AGV","size":6227},{"name":"Floor","size":2656},{"name":"MPL","size":38590},{"name":"Port","size":14275},{"name":"RKG","size":5389},{"name":"Stacker","size":2675971},{"name":"StackerCrane","size":16296},{"name":"Wall","size":3205}]} \ No newline at end of file diff --git a/Assets/Resources/FileSizes.json.meta b/Assets/Resources/FileSizes.json.meta new file mode 100644 index 00000000..8b44aabc --- /dev/null +++ b/Assets/Resources/FileSizes.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: de84ca4c6a26d104ebef9819b6530248 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Studio/Managers/AssetManager.cs b/Assets/Scripts/Studio/Managers/AssetManager.cs index 500495b6..37ed6bf8 100644 --- a/Assets/Scripts/Studio/Managers/AssetManager.cs +++ b/Assets/Scripts/Studio/Managers/AssetManager.cs @@ -1,4 +1,5 @@ -using Studio.AssetTool; +using Newtonsoft.Json; +using Studio.AssetTool; using Studio.Command; using Studio.HierarchyTree; using Studio.Services; @@ -11,6 +12,18 @@ using UnityEngine; namespace Studio.Manage { + [System.Serializable] + public class FileSizeEntry + { + public string name; + public long size; + } + + [System.Serializable] + public class FileSizeListWrapper + { + public List files = new List(); + } public class AssetManager : Manager { public List localAssetPaths = new List(); @@ -93,8 +106,11 @@ namespace Studio.Manage public void InitRessourceAsset() { var assets = Resources.LoadAll("Sample"); + var filesSize = Resources.Load("FileSizes").text; + var fileSizeData = JsonConvert.DeserializeObject(filesSize); + var fbxFileManager = ManagerHub.instance.Get(); - fbxFileManager.LoadResource(assets); + fbxFileManager.LoadResource(assets, fileSizeData); } diff --git a/Assets/Scripts/Studio/Managers/FBXFileManager.cs b/Assets/Scripts/Studio/Managers/FBXFileManager.cs index d69963b2..1a360852 100644 --- a/Assets/Scripts/Studio/Managers/FBXFileManager.cs +++ b/Assets/Scripts/Studio/Managers/FBXFileManager.cs @@ -55,7 +55,7 @@ namespace Studio.AssetTool filePaths.Clear(); } - public void LoadResource(GameObject[] assets) + public void LoadResource(GameObject[] assets, FileSizeListWrapper fileSizeListWrapper) { foreach (var asset in assets) { @@ -71,7 +71,9 @@ namespace Studio.AssetTool CustomAssetData assetData = newObject.AddComponent(); assetData.assetName = assetName; assetData.folderName = "Base Library"; - assetData.assetSize = Profiler.GetRuntimeMemorySizeLong(asset); + + var fileSzie = fileSizeListWrapper.files.Find(item => item.name == assetName); + assetData.assetSize = fileSzie.size; assetData.isLoading = true; assetData.isLoadComplete = true;