【发布时间】:2023-04-02 02:37:01
【问题描述】:
我有一个基于 AlteredQualia 的蒙皮示例成功加载的 JSON 模型。但是,我不想在模型完成加载之前显示它。正如您在此示例中看到的,模型首先出现,然后加载它们的纹理资源:http://alteredqualia.com/three/examples/webgl_animation_skinning_tf2.html
我在网页中添加了一个不透明的 div,然后使用 JSONloader.load() 函数的回调将那个 div 移开。不幸的是,当网格被添加到场景中时触发了这个回调,这似乎没有被仍在加载的蒙皮图像所阻挡,所以我最终“揭示”了一个不完整的场景。
我应该如何解决这个问题?我已经看到有一个函数 THREE.ImageUtils.loadTexture() 有一个回调函数,但它似乎没有涉及到这个网格被声明和定义的用例:
var mesh = new THREE.SkinnedMesh(geometry,new THREE.MeshFaceMaterial(materials));
//geometry and materials are both parameters of jsonloader.load callback
我查看了 MeshFaceMaterial 和 SkinnedMesh 的源代码,但在那里找不到解决方案。
感谢您提供的任何帮助。
【问题讨论】:
标签: javascript json callback three.js