Что использовать для создания 3D конфигуратора стола?

Что использовать для создания 3D конфигуратора например стола?
Так что бы пользователь на сайте мог изменять параметры такие как: ширина, высота, глубина, толщина ножек, толщина столешницы, наличие/отсутствие скруглений, цвет итд.
А модель изменялась и что бы ее можно было крутить. И что бы это было кроссплатформенно.

Планируемые изделия имеют простые формы, которые по сути можно создать из примитивов призма, цилиндр... их сложением, вычитанием, пересечением.
613df498a8883102056010.png

Но потенциально хотелось бы создавать и более сложные поверхности:
613df4d7b5c4e477649254.png

Как я понимаю для этого подходит Three.js. Может есть более простой путь?
И еще очень важно что бы картинка была максимально реалистичной. Как например здесь:
пример1
пример2
пример3,
как стул справа здесь
  • Вопрос задан
  • 157 просмотров
Пригласить эксперта
Ответы на вопрос 1
Aleksandr-JS-Developer
@Aleksandr-JS-Developer
Лучше проще, чем никогда
У вас уже есть 3D модельки?
Если нет, то делаете/покупаете/находите/заказываете.

Дальше берете Babylon.js или Three.js.
В обоих есть лоадеры для моделек из проф программ для 3D. Например из Blender/3D Max.

Вывести не проблема, а вот добавить функционал...
Можете собирать товар из нескольких моделек. Например, стол. Столешница и ножки - это два независимых объекта. Просто подогнаны в один стол. Теперь отрисовать нужные ножки можно не трогая столешницу. Пользователь выбирает мононожку (в списке ножек под индексом, скажем, 2), в функцию рендера улетают такие параметры: {..., leg: legs[2], ...}.
В этом подходе надо, основная сложность - это сами модельки. Надо, чтобы они были чётко настроены. В одном стиле, под определенными координатами и т. д.

Ещё можно заранее подготовить все варианты моделек... Но это как-то уже не по-программистки что-ли..

P. S. реалистичность напрямую зависит от качества моделек. Но не переборщите, не надо кучу динамического освещения, бликов, отражений. Ресурсов весь этот праздник высасывает прилично.

P. P. S.
Линки:
Three.js example
Babylon.js example
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы