我不知道我做错了还是这可能是一个错误:
我有一个简单的THREE.WebGLRenderer,它呈现了我创建的两个THREE.Scenes之一。在这两个场景之一中,我有一个THREE.SkinnedMesh加载了FBXLoader。可以在这里找到FBX的源-> https://threejs.org/examples/webgl_loader_fbx.html。第二个场景包含一个从THREE.BoxBufferGeometry创建的简单THREE.Mesh实例。
在两个场景中,我至少都有一个THREE.GridHelper或THREE.CameraHelper。没什么。
现在是问题: 在运行时,我可以通过单击按钮切换场景。假设我当前正在使用fbx渲染第一个场景,一切都很好,并且看起来像预期的一样(请参见图片)
这是我的渲染循环代码:
render() {
requestAnimationFrame(this.render);
// update some stuff
...
// render Renderer.CURRENT_SCENE
// Renderere.CURRENT_SCENE gets overwitten as soon as I change value via gui or button
this.renderer.render(
Renderer.CURRENT_SCENE,
Renderer.CAMERA
);
}
当我切换场景时,事情开始变得怪异...
我的多维数据集可以正确渲染,但是FBX中的某些几何图形零件似乎被保留了下来,并使用LineSegment元素的材质(例如,辅助实例,因此我猜至少是这样)渲染了。一旦我从场景中删除所有帮助者,问题就不复存在了。我认为它不是由FBX本身引起的,因为它来自官方示例页面,并且我还尝试了其他FBX文件。同样的问题。我还可以确认问题是跨浏览器的问题。
我整天都在烦恼,无法修复它,或者无法获得有关为什么这样做的更多信息,所以到目前为止,你们似乎是我的最后机会。