Merge pull request #2750 from ousttrue/fix/Pckages_PKG_ID

fix asset path under Packages
This commit is contained in:
ousttrue 2025-11-17 14:56:09 +09:00 committed by GitHub
commit 7066009559
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 40 additions and 25 deletions

View File

@ -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~")),
};
/// <summary>

View File

@ -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;
@ -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<string, string> PkgMap = new Dictionary<string, string>
{
{"UniGLTF", "com.vrmc.gltf"},
{"VRM", "com.vrmc.univrm"},
{"VRM10", "com.vrmc.vrm"},
};
/// <summary>
/// Packages/DIR_NAME/path/to/asset を
/// Packages/PKG_ID/path/to/asset に変換する。
/// </summary>
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())}");