【问题标题】:Wrong normals when blender export object file to WebGL搅拌器将对象文件导出到 WebGL 时的法线错误
【发布时间】:2016-02-28 13:26:21
【问题描述】:

我有一个使用搅拌机创建的对象,我使用ctrl+n 正确设置了所有正常值。我确信所有法线都在搅拌机中正确设置。但是,当我使用“写入正常”选项将对象导出为 .obj 格式并导出到 WebGL 时,我的一半网格消失了,似乎正常导出不正确。

消失的网格是使用镜像修改器和 LoopTools-bridge 生成的。

当我禁用“正常写入”选项时,对象显示正确,但我无法在对象上放灯。

可能的问题是什么,我从搅拌机导出文件时错过了哪一步?

它应该是一个类似球体的物体,但它失去了一半的网格

【问题讨论】:

    标签: webgl blender


    【解决方案1】:

    我刚刚发现 WebGL 只支持 16 位顶点缓冲区,如果我的对象 包括法线。我必须将我的顶点数下采样到 16bit/3。和 问题已解决。


    编辑-

    我通过减少我的顶点数来解决这个问题

    【讨论】:

    • WebGL 支持 32 位顶点缓冲区就好了。也许您的意思是 16 位索引缓冲区?尽管几乎所有的 GPU 都通过启用 OES_element_index_uint 来支持 32 位索引缓冲区,根据 webglstats.com 的说法,这包括 > 97% 的所有设备。限制在您使用的任何库中,而不是 WebGL。您应该编辑您的问题以显示您使用的库,因为这不是 WebGL 问题。这是您的图书馆的问题。
    • 抱歉,我是 WebGL 新手。我不知道是哪个库导致了这个错误,我项目中唯一的库导入是 webgl-obj-loader.js(这个库帮助我将 .obj 导入到我的项目中)。这是问题导致我的问题吗?
    • 如果您指的是webgl-obj-loader,那么它使用 32 位 int 数组作为 VBO 信息,使用 16 位作为数组元素索引。
    猜你喜欢
    • 1970-01-01
    • 2015-03-20
    • 2014-05-27
    • 1970-01-01
    • 2021-10-20
    • 2015-11-23
    • 2015-08-16
    • 2018-05-27
    • 2017-07-08
    相关资源
    最近更新 更多