2014-11-12 2 views
0

Я использую SceneLoader для загрузки объектов, экспортированных из Blender. Каждый объект экспортируется как собственная сцена, поскольку каждый из них имеет несколько сеток и материал для каждой сетки. Когда я тестировал SceneLoader с одним экспонатом Blender, он работал нормально. Однако, когда я использую SceneLoader несколько раз для нескольких экспорта, иногда я получаю следующее сообщение об ошибке:Three.js - Проблемы с загрузкой нескольких сцен с помощью SceneLoader

Uncaught TypeError: Cannot read property 'opacity' of undefined SceneLoader.js:1122 

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

Любые идеи, почему это может произойти?

+0

Похоже, это проблема Chrome. Chrome кэшировал запрос AJAX, поэтому он загружал старую версию моего экспорта Blender. Любой способ заставить SceneLoader загружать файл, даже если Chrome его кэшировал? – Justin

ответ

1

Там два способа, чтобы отключить кэширование, которое сообщается, проблема в комментарии:

  1. Используйте режим инкогнито (это не кэш)

  2. В разработчика Chrome инструменты (вещь с консолью и т. д.) есть возможность отключить кеширование, когда консоль открыта.

Обычно мы используем режим инкогнито для работы при выполнении команды three.js. Я полагаю, что более надежный, поскольку я по крайней мере иногда закрываю &, снова открывайте devtools, но при этом сохраняем одно и то же окно. Режим инкогнито выглядит по-другому, поэтому не делайте ошибок, чтобы случайно начать работу в кешированной настройке.

Смежные вопросы