首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Draco压缩后的UV坐标失调

Draco压缩后的UV坐标失调
EN

Stack Overflow用户
提问于 2020-06-04 20:27:14
回答 1查看 189关注 0票数 1

在使用Blender内置的Draco压缩导出到glTF之后,所有扩展属性在资产中的第一个原语之后都被错误地对齐。

第一个是好的,但第二个是错对齐的,这会导致错误。

代码语言:javascript
复制
            "extensions" : {
                "KHR_draco_mesh_compression" : {
                    "bufferView" : 0,
                    "attributes" : {
                        "POSITION" : 0,
                        "NORMAL" : 1,
                        "TEXCOORD_0" : 2,
                        "TEXCOORD_1" : 3
                    }
                }
            },
            "indices" : 4,
            "material" : 0,
            "mode" : 4
        },
        {
            "attributes" : {
                "POSITION" : 5,
                "NORMAL" : 6,
                "TEXCOORD_0" : 7,
                "TEXCOORD_1" : 8
            },
            "extensions" : {
                "KHR_draco_mesh_compression" : {
                    "bufferView" : 4,
                    "attributes" : {
                        "POSITION" : 0,
                        "NORMAL" : 1,
                        "TEXCOORD_0" : 7,
                        "TEXCOORD_1" : 8
                    }
                }
            },
            "indices" : 9,
            "material" : 1,
            "mode" : 4
        },
        {
            "attributes" : {
                "POSITION" : 10,
                "NORMAL" : 11,
                "TEXCOORD_0" : 12,
                "TEXCOORD_1" : 13
            },
            "extensions" : {
                "KHR_draco_mesh_compression" : {
                    "bufferView" : 5,
                    "attributes" : {
                        "POSITION" : 0,
                        "NORMAL" : 1,
                        "TEXCOORD_0" : 12,
                        "TEXCOORD_1" : 13
                    }
                }
            },

我了解到,一种解决方案可能是更改第二个原语和进一步原语的extensions中的属性,以便它们遵循增量顺序。然而,当处理大量的对象时,这个手动过程可能会导致一些问题,因为它需要大量的手工工作,这可能会导致错误和结果错误。

我的问题是,最新版本的DracoThree.js修复了这些bug吗?我们的应用程序目前正在上运行?

EN

回答 1

Stack Overflow用户

发布于 2020-06-04 20:54:35

解决方案第1部分:是的,您应该手动更新extensions._compression.attributes,以便它们遵循数字顺序,至少是直到修复了这个错误报告

但是,我几乎可以肯定,您仍然遇到此问题的原因是因为您使用的是Three.js r107。我这么说是因为GLTF支持KHR_Mesh_Quantization 添加到r111上,这是Blender的DRACO压缩使用的。此外,在r107和r117之间,DRACO和GLTF都有很大的改进。你可以请参阅“变更日志”中的此内容

更新到最新版本时,不要忘记更新dracoLoader.setDecoderPath() 如文档中所述的文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62203564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档