mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-05-15 15:11:43 -05:00
Merge pull request #788 from ousttrue/fix/material_rename
fix material rename
This commit is contained in:
commit
5b80e2afec
|
|
@ -261,7 +261,7 @@ namespace UniGLTF
|
|||
{
|
||||
// rename
|
||||
var uname = lower + "_" + Guid.NewGuid().ToString("N");
|
||||
Debug.LogWarning($"same name: {lower} => {uname}");
|
||||
Debug.LogWarning($"texture.name: {lower} => {uname}");
|
||||
gltfTexture.name = uname;
|
||||
if (!used.Add(uname))
|
||||
{
|
||||
|
|
@ -274,12 +274,21 @@ namespace UniGLTF
|
|||
|
||||
public void FixMaterialNameUnique()
|
||||
{
|
||||
var used = new HashSet<string>();
|
||||
foreach (var material in GLTF.materials)
|
||||
{
|
||||
var originalName = material.name;
|
||||
int j = 2;
|
||||
while (GLTF.materials.Any(x => x != material && x.name == material.name))
|
||||
|
||||
while (true)
|
||||
{
|
||||
if (used.Add(material.name))
|
||||
{
|
||||
#if VRM_DEVELOP
|
||||
Debug.Log($"Material: {material.name}");
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
material.name = string.Format("{0}({1})", originalName, j++);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -178,17 +178,17 @@ namespace VRM
|
|||
return true;
|
||||
}
|
||||
|
||||
// if (assetPath.IsFileExists)
|
||||
// {
|
||||
// if (AvoidOverwriteAndLoad(assetPath, o))
|
||||
// {
|
||||
// #if VRM_DEVELOP
|
||||
// Debug.Log($"AvoidOverwriteAndLoad: {assetPath}");
|
||||
// #endif
|
||||
// // 上書きせずに既存のアセットからロードして置き換えた
|
||||
// return true;
|
||||
// }
|
||||
// }
|
||||
// if (assetPath.IsFileExists)
|
||||
// {
|
||||
// if (AvoidOverwriteAndLoad(assetPath, o))
|
||||
// {
|
||||
// #if VRM_DEVELOP
|
||||
// Debug.Log($"AvoidOverwriteAndLoad: {assetPath}");
|
||||
// #endif
|
||||
// // 上書きせずに既存のアセットからロードして置き換えた
|
||||
// return true;
|
||||
// }
|
||||
// }
|
||||
|
||||
// アセットとして書き込む
|
||||
assetPath.Parent.EnsureFolder();
|
||||
|
|
|
|||
|
|
@ -37,9 +37,9 @@ namespace VRM
|
|||
}
|
||||
else
|
||||
{
|
||||
// #if VRM_DEVELOP
|
||||
// Debug.LogWarningFormat("unknown shader {0}.", shaderName);
|
||||
// #endif
|
||||
// #if VRM_DEVELOP
|
||||
// Debug.LogWarningFormat("unknown shader {0}.", shaderName);
|
||||
// #endif
|
||||
}
|
||||
return await MaterialFactory.DefaultCreateMaterialAsync(awaitCaller, gltf, m_index, getTexture);
|
||||
}
|
||||
|
|
@ -48,7 +48,8 @@ namespace VRM
|
|||
// restore VRM material
|
||||
//
|
||||
var material = new Material(shader);
|
||||
material.name = item.name;
|
||||
// use material.name, because material name may renamed in GltfParser.
|
||||
material.name = gltf.materials[m_index].name;
|
||||
material.renderQueue = item.renderQueue;
|
||||
|
||||
foreach (var kv in item.floatProperties)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user