WedX - журнал о программировании и компьютерных науках

Как экспортировать модели SketchUp в файл three.js?

Я создал модель в Google SketchUp и хочу экспортировать ее в three.js, чтобы сэкономить время. Поскольку я думаю, что использовать SketchUp проще, чем three.js. Тогда может кто-нибудь сказать мне, как это сделать? Большое спасибо!

05.06.2013

Ответы:


1

Вы можете экспортировать колладу (.DAE) из SketcUp. Затем используйте Three.js ColladaLoader. Я думаю, что бесплатная версия SketchUp может не поддерживать экспорт коллады, но в любом случае вы можете экспортировать в Google Earth (.KMZ), переименовать его в .ZIP, открыть его в любой программе архивации, вы должны найти там .DAE.

Это не пуленепробиваемый, но в основном работает. Некоторые советы:

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

  • После этого вам может понадобиться изменить размер файлов текстур, чтобы они были не в степени двойки (например, 256x512).

  • Рекомендуется взорвать/разгруппировать ВСЕ ваши компоненты и группы, чтобы избежать проблем с ColladaLoader. Выделить все (Ctrl+A), взорвать из контекстного меню. Повторяйте до тех пор, пока взрываться нечему. Или используйте для этого подключаемый модуль, например https://www.smustard.com/script/Bomb. У самого SketchUp есть проблемы. взрывает очень сложные модели и может казаться зависшим. Это очень прискорбно, и вы мало что можете сделать, кроме как удалить более сложные части из вашей модели. Или подождите, это может занять от 1 секунды до нескольких дней.

  • На стороне Three.js вы МОЖЕТЕ захотеть пройтись по импортированному объекту и установить материалы на DoubleSide.

  • SketchUp использует дюймовые единицы измерения при экспорте (даже если пользовательский интерфейс или проект настроен на метрический масштаб), поэтому вы можете соответствующим образом масштабировать импортированную модель. Three.js не имеет такого предопределенного масштаба, но, например, если вы считаете, что 1,0 Three.js составляет 1,0 метр, вам нужно установить obj.scale.x = obj.scale.y = obj.scale.z = 0,02539999969303608;

05.06.2013
  • Большое спасибо! Я успешно экспортировал пример! 12.06.2013
  • @quanpower рад помочь! если это отвечает на ваш вопрос, пожалуйста, отметьте ответ как принятый 13.06.2013
  • Я могу экспортировать только с триангулированными гранями, что делает его бесполезным в блендере. есть ли способ избежать триангуляции в блендере перед экспортом? 20.09.2013
  • Бесплатная версия SketchUp поддерживает экспорт .DAE. 03.04.2015
  • Спасибо за эти советы - выручили меня без конца! Для информации, чтобы расчленить модель в Sketchup, перейдите в Меню › Правка › Компонент › Разнести 22.03.2019

  • 2

    в threejs, если вы хотите поместить объект, загруженный из файловой коллады, в определенную точку, вы должны правильно преобразовать смещение в единицы, например:

    Я хочу разместить объект в (600, 1800, 0) мм, а файл экспортируется в дюймах

    var dae; 
    dae = collada.scene; 
    ... 
    ... 
    
    var x = 600; 
    var y = 1800; 
    var z = 0; 
    
    convertedX var = x * 0.0393700787 * dae.scale.x; 
    convertedY var = y * 0.0393700787 * dae.scale.y; 
    convertedZ var = z * 0.0393700787 * dae.scale.z; 
    
    dae.position.set (convertedX, convertedY, convertedZ);
    
    07.05.2014
    Новые материалы

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

    ИИ в аэрокосмической отрасли
    Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


    Для любых предложений по сайту: [email protected]