From 4fca7ae7143849883163ebafb927b2b51bb28670 Mon Sep 17 00:00:00 2001 From: ousttrue Date: Fri, 14 Nov 2025 12:47:25 +0900 Subject: [PATCH 1/3] fix sample copy dst path --- Packages/VRM/Editor/Format/VRMSampleCopy.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Packages/VRM/Editor/Format/VRMSampleCopy.cs b/Packages/VRM/Editor/Format/VRMSampleCopy.cs index b08ad4796..c47731e78 100644 --- a/Packages/VRM/Editor/Format/VRMSampleCopy.cs +++ b/Packages/VRM/Editor/Format/VRMSampleCopy.cs @@ -21,9 +21,9 @@ namespace VRM } static CopyInfo[] CopyList = new CopyInfo[]{ - new CopyInfo(Path.Combine(Application.dataPath, "VRM_Samples"), Path.Combine(Application.dataPath, "VRM/Samples~")), - new CopyInfo(Path.Combine(Application.dataPath, "VRM10_Samples"), Path.Combine(Application.dataPath, "VRM10/Samples~")), - new CopyInfo(Path.Combine(Application.dataPath, "UniGLTF_Samples"), Path.Combine(Application.dataPath, "UniGLTF/Samples~")), + new CopyInfo(Path.Combine(Application.dataPath, "VRM_Samples"), Path.Combine(Application.dataPath, "../Packages/VRM/Samples~")), + new CopyInfo(Path.Combine(Application.dataPath, "VRM10_Samples"), Path.Combine(Application.dataPath, "../Packages/VRM10/Samples~")), + new CopyInfo(Path.Combine(Application.dataPath, "UniGLTF_Samples"), Path.Combine(Application.dataPath, "../Packages/UniGLTF/Samples~")), }; /// From 43e8699f6683c7cf8670288694817609e80a885f Mon Sep 17 00:00:00 2001 From: ousttrue Date: Fri, 14 Nov 2025 12:49:24 +0900 Subject: [PATCH 2/3] fix git rev-parse path --- Packages/VRM/Editor/VRMExportUnityPackage.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Packages/VRM/Editor/VRMExportUnityPackage.cs b/Packages/VRM/Editor/VRMExportUnityPackage.cs index 132a7c785..729dd2641 100644 --- a/Packages/VRM/Editor/VRMExportUnityPackage.cs +++ b/Packages/VRM/Editor/VRMExportUnityPackage.cs @@ -79,7 +79,7 @@ namespace VRM.DevOnly.PackageExporter folder, prefix, UniGLTF.PackageVersion.VERSION, - GetGitHash(Application.dataPath + "/VRM").Substring(0, 4) + GetGitHash(Application.dataPath + "/../Packages/VRM").Substring(0, 4) ).Replace("\\", "/"); return path; From 7bde3dcc2dc28245c10ed1631aa56e78d8ce1e90 Mon Sep 17 00:00:00 2001 From: ousttrue Date: Fri, 14 Nov 2025 13:16:35 +0900 Subject: [PATCH 3/3] convert Packages/DIR(UniGLTF etc) to Packages/PKG_ID(com.vrmc.gltf etc) --- Packages/VRM/Editor/VRMExportUnityPackage.cs | 57 ++++++++++++-------- 1 file changed, 36 insertions(+), 21 deletions(-) diff --git a/Packages/VRM/Editor/VRMExportUnityPackage.cs b/Packages/VRM/Editor/VRMExportUnityPackage.cs index 729dd2641..ac5434e5c 100644 --- a/Packages/VRM/Editor/VRMExportUnityPackage.cs +++ b/Packages/VRM/Editor/VRMExportUnityPackage.cs @@ -221,32 +221,16 @@ namespace VRM.DevOnly.PackageExporter new PackageInfo("UniVRM") { List = new []{ - new GlobList("Assets/VRMShaders"), - new GlobList("Assets/UniGLTF"), - new GlobList("Assets/VRM"), - } - }, - // VRM_Samples - new PackageInfo("UniVRM_Samples") - { - List = new []{ - new GlobList("Assets/VRM_Samples"), + new GlobList("Packages/UniGLTF"), + new GlobList("Packages/VRM"), } }, // VRM-1.0 new PackageInfo("VRM") { List = new []{ - new GlobList("Assets/VRMShaders"), - new GlobList("Assets/UniGLTF"), - new GlobList("Assets/VRM10"), - } - }, - // VRM-1.0_Samples - new PackageInfo("VRM_Samples") - { - List = new []{ - new GlobList("Assets/VRM10_Samples"), + new GlobList("Packages/UniGLTF"), + new GlobList("Packages/VRM10"), } }, }; @@ -257,12 +241,43 @@ namespace VRM.DevOnly.PackageExporter } } + static readonly Dictionary PkgMap = new Dictionary + { + {"UniGLTF", "com.vrmc.gltf"}, + {"VRM", "com.vrmc.univrm"}, + {"VRM10", "com.vrmc.vrm"}, + }; + + /// + /// Packages/DIR_NAME/path/to/asset を + /// Packages/PKG_ID/path/to/asset に変換する。 + /// + private static string FilePathToPackage(string src) + { + var items = src.Split("/"); + if (items[0] != "Packages") + { + throw new ArgumentException(src); + } + if (PkgMap.TryGetValue(items[1], out var pkg)) + { + items[1] = pkg; + return string.Join("/", items); + } + else + { + throw new ArgumentException(src); + } + } + private static void CreateUnityPackage( string outputDir, PackageInfo package ) { - var targetFileNames = package.List.SelectMany(x => x.Files).ToArray(); + var targetFileNames = package.List.SelectMany(x => x.Files) + .Select(FilePathToPackage) + .ToArray(); UniGLTFLogger.Log($"Package '{package.Name}' will include {targetFileNames.Count()} files..."); UniGLTFLogger.Log($"{string.Join("", targetFileNames.Select((x, i) => string.Format("[{0:##0}] {1}\n", i, x)).ToArray())}");