diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfTextureEnumerator.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfTextureEnumerator.cs index 074816122..15147905b 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfTextureEnumerator.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfTextureEnumerator.cs @@ -52,11 +52,14 @@ namespace UniGLTF public static IEnumerable Enumerate(glTF gltf) { + var used = new HashSet(); foreach (var material in gltf.materials) { foreach (var textureInfo in EnumerateTextures(gltf, material)) { - yield return textureInfo; + if(used.Add(textureInfo)){ + yield return textureInfo; + } } } } diff --git a/Assets/UniGLTF/Tests/UniGLTF/GltfLoadTests.cs b/Assets/UniGLTF/Tests/UniGLTF/GltfLoadTests.cs index 7f10c96f8..e27914c53 100644 --- a/Assets/UniGLTF/Tests/UniGLTF/GltfLoadTests.cs +++ b/Assets/UniGLTF/Tests/UniGLTF/GltfLoadTests.cs @@ -101,10 +101,6 @@ namespace UniGLTF // should unique var gltfTextures = GltfTextureEnumerator.Enumerate(parser.GLTF); var distinct = gltfTextures.Distinct().ToArray(); - if (!gltfTextures.SequenceEqual(distinct)) - { - var a = 0; - } Assert.True(gltfTextures.SequenceEqual(distinct)); }