2014-10-18 1 views
0

Так что я пытаюсь экспортировать three.js сцены, используя SceneExporter, я просто делаю этоThree.js SceneExporter получать неперехваченную ошибку синтаксиса

var output = new THREE.SceneExporter().parse(scope.renderingEngine.scene);

При этом, я получаю сообщение об ошибке

Uncaught SyntaxError: Unexpected token u

Что происходит на линии 750 из SceneExporter.js (который является линия, где JSON получает разобраны; new THREE.SceneExporter().parse(scope.renderingEngine.scene);)

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

Теперь, если я изменю эту строку, чтобы просто вернуть output, тогда JSON.stringify(output) и сохраните этот файл, JSON файла не проверяет. Я получаю следующую ошибку

Parse error on line 1: 
"{ \n\t\"metadat 
^ 
Expecting '{', '[' 

А вот строки 1-10 из файла JSON

"{ 
    \n\t\"metadata\": { 
     \n\t\t\"formatVersion\": 3.2, 
     \n\t\t\"type\"\t\t: \"scene\", 
     \n\t\t\"generatedBy\"\t: \"SceneExporter\", 
     \n\t\t\"objects\": 153, 
     \n\t\t\"geometries\": 144, 
     \n\t\t\"materials\": 5, 
     \n\t\t\"textures\": 1\n\t 
    }, 
    \n\n\t\"urlBaseType\": \"relativeToScene\", 

Кто-нибудь еще с этим вопросом?

+0

У меня был успешный экспорт с ObjectExporter, возможно, лучше использовать это на данный момент –

ответ

1

Синтаксическая ошибка - это символ «Неожиданный токен: НЕЛЕГАЛЬНЫЙ», вероятно, с помощью использования «\ n \ t \ t» и других (escape-последовательностей) внешних строк. Я не знаю, чего вы пытаетесь достичь с помощью escape-последовательностей вне строк, и я даже не знаю, следует ли использовать специальные символы в JSON.

Кроме того, я вижу «\» в некоторых ваших строках. Вы не можете использовать «\». Вы можете, однако, использовать «\», то есть escape-последовательность для «\». Использование одного «\» внутри строки даст вам ошибку «Неожиданный токен: НЕЛЕГАЛЬНО». «\» всегда должен следовать символ, который делает допустимую escape-последовательность.

+0

Правильно, хм, я опубликую это как проблему в репозитории three.js github, так как это кажется ошибкой в way 'SceneExporter' создает свой вывод JSON. Я приму свой ответ, посмотрев еще немного, спасибо! –

+0

Эй, @RohanDeshpande Я столкнулся с той же проблемой и задавался вопросом, не нашли ли вы когда-нибудь решение. – Kahless

+0

Хм хорошо, я перестал использовать «SceneExporter», я думаю, что это все равно станет устаревшим. Вместо этого используйте «ObjectExporter». –

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