ошибка рендеринга с использованием помощников THREE.SkinnedMesh, THREE.js и переключения сцены рендерера во время выполнения - PullRequest
0 голосов
/ 23 октября 2018

Я не знаю, делаю ли я что-то не так или это может быть ошибкой:

У меня есть простой THREE.WebGLRenderer, который рендерит одну из двух созданных мною трех сцен.В одной из этих двух сцен у меня есть THREE.SkinnedMesh, загруженный с FBXLoader.Источник FBX можно найти здесь -> https://threejs.org/examples/webgl_loader_fbx.html. Вторая сцена содержит простой экземпляр THREE.Mesh, созданный из некоторой THREE.BoxBufferGeometry.

В обеих сценах у меня есть как минимум один THREE.GridHelper илиTHREE.CameraHelper.Ничего особенного.

Теперь проблема: во время выполнения я могу переключать сцены с помощью нажатия кнопки.Допустим, я сейчас рендерил первую сцену с помощью fbx, все в порядке и выглядит как положено (см. Изображение) enter image description here


Это мой код цикла рендеринга:

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
        );
    }

Как только я переключаю сцены, все становится странным ...


enter image description here

Мой кубик становитсяотображается правильно, но некоторые геометрические части из FBX, похоже, остаются и отображаются с материалом элемента LineSegment (например, вспомогательный экземпляр, так что я думаю, по крайней мере).Как только я удаляю всех помощников из сцен, проблема больше не присутствует.Я не думаю, что это вызвано самой FBX, так как это со страницы официальных примеров, и я также пробовал другие файлы FBX.Та же проблема.Я также могу подтвердить, что проблема кросс-браузерная.

Я целый день мучился и не смог ее исправить или получить дополнительную информацию о том, почему это происходит, так что вы, ребята, кажетесь моимпоследний шанс к настоящему времени.

...