From dbdb147e2ade5267878cd697efd7e395104f56f8 Mon Sep 17 00:00:00 2001 From: Masataka SUMI Date: Thu, 3 Nov 2022 18:27:13 +0900 Subject: [PATCH] Consider thumbnail image's mimeType when loading the vrm10 model. --- .../UniGLTF/IO/TextureIO/GltfTextureImporter.cs | 2 +- .../IO/Texture/Vrm10TextureDescriptorGenerator.cs | 11 +++-------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/TextureIO/GltfTextureImporter.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/TextureIO/GltfTextureImporter.cs index 753cecb1a..659288f37 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/IO/TextureIO/GltfTextureImporter.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/TextureIO/GltfTextureImporter.cs @@ -31,7 +31,7 @@ namespace UniGLTF () => { var imageBytes = data.GetBytesFromImage(imageIndex); - return Task.FromResult<(byte[], string)?>((ToArray(imageBytes?.binary ?? default), null)); + return Task.FromResult<(byte[], string)?>((ToArray(imageBytes?.binary ?? default), imageBytes?.mimeType)); }, default, default, default, default, default); return (texDesc.SubAssetKey, texDesc); diff --git a/Assets/VRM10/Runtime/IO/Texture/Vrm10TextureDescriptorGenerator.cs b/Assets/VRM10/Runtime/IO/Texture/Vrm10TextureDescriptorGenerator.cs index b6e55d56c..7a6db9e79 100644 --- a/Assets/VRM10/Runtime/IO/Texture/Vrm10TextureDescriptorGenerator.cs +++ b/Assets/VRM10/Runtime/IO/Texture/Vrm10TextureDescriptorGenerator.cs @@ -10,6 +10,8 @@ namespace UniVRM10 { public sealed class Vrm10TextureDescriptorGenerator : ITextureDescriptorGenerator { + public const string UniqueThumbnailName = "thumbnail__VRM10"; + private readonly GltfData m_data; private TextureDescriptorSet _textureDescriptorSet; @@ -69,8 +71,6 @@ namespace UniVRM10 } } - public const string THUMBNAIL_NAME = "__VRM10_thumbnail__"; - /// /// VRM-1 の thumbnail テクスチャー。gltf.textures ではなく gltf.images の参照であることに注意(sampler等の設定が無い) /// @@ -99,12 +99,7 @@ namespace UniVRM10 // data.GLTF.textures は前処理によりユニーク性がある // unique な名前を振り出す var used = new HashSet(data.GLTF.textures.Select(x => x.name)); - var imageName = gltfImage.name; - if (string.IsNullOrEmpty(imageName)) - { - imageName = THUMBNAIL_NAME; - } - var uniqueName = GlbLowLevelParser.FixNameUnique(used, imageName); + var uniqueName = GlbLowLevelParser.FixNameUnique(used, UniqueThumbnailName); value = GltfTextureImporter.CreateSrgbFromOnlyImage(data, imageIndex, uniqueName, gltfImage.uri); return true;