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

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

2 ответа

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

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

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

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

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

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

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

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

Я хочу поместить объект в (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);
Другие вопросы по тегам