【问题标题】:Shaders not loading in web based viewers着色器未加载到基于 Web 的查看器中
【发布时间】:2021-06-23 05:37:00
【问题描述】:

我有一个 fbx,我使用 fbx2gltf npm 包将其转换为 glb,然后使用压缩它

gltf-pipeline -i model.glb -o modelDraco.glb -d

(最终的glb可以在这里下载:https://drive.google.com/file/d/1E9Y7DbZCxoWiFJlhjlx8WDm2nbNhJRHT/view?usp=sharing。) 该文件出现在带有着色器等的搅拌机中,如下所示 但不在https://gltf-viewer.donmccurdy.com/https://sandbox.babylonjs.com/ 中,它显示如下,没有所有着色器。

【问题讨论】:

    标签: three.js gltf


    【解决方案1】:

    问题是您的资产是使用未点亮的材质导出的。这意味着它们对照明没有反应。检查 glTF 资产时,您可以看到所有材质都使用了KHR_materials_unlit 扩展名。

    three.js 中导入资产时,尽管场景中没有灯光,但汽车仍按上述方式渲染。检查材料时,您会看到它们都是MeshBasicMaterial 类型。所以three.js(和 BabylonJS 也是)正确地解析和渲染资产。

    【讨论】:

    • 好的,非常感谢,我尝试更换材料,现在有了一些改进,但玻璃仍然不透明。 postimg.cc/hJ9RLHx7
    • 抱歉,如果你只分享截图,我无法提供反馈。
    • 对不起,这是我转换压缩后得到的文件,在转换过程中删除了--khr-materials-unlit drive.google.com/file/d/16Xw03HRlZzjUrIUFzjsiNDwafK9eMJAr/…
    • 我认为 alpha 混合没有发生
    • 是的。检查前玻璃的材料后,我可以说transparent 属性仍然设置为false。所以导出还没有正确发生。
    猜你喜欢
    • 2013-03-19
    • 2020-04-10
    • 2018-01-30
    • 1970-01-01
    • 1970-01-01
    • 2019-03-27
    • 2012-02-09
    • 2018-07-26
    • 1970-01-01
    相关资源
    最近更新 更多