Как осуществить 3d редактор модели человека в браузере?

Здравствуйте.
Есть заказчик, который хочет создать социальную сеть в которой нужно будет сделать 3D редактор моделей пользователей (что-то типа как в Sims-ах: выбираешь и настраиваешь пользователя). Идеальным вариантом было б создать что-то такого плана: (видео о том как можно настроить свой персонаж в игре Saints Row).
Поскольку сами понимаете что задача крайне не простая, подскажите пожалуйста: какие пути для реализации задуманного вы видите?
Мои мысли по поводу языка:
1) html5 (canvas) - наверняка будут большые проблемы с производительностью, если вообще возможностей этого языка хватит для этой задачи. Из плюсов, 100% будет работать на Android/iOS
2) Flash - умирает, плюс да и не любим мы все его)
3) Java - мало знаю об этом языке, но если в нем все это можно беспроблемно осуществить, то почему бы и нет. Как с ним обстоят дела на моб. устройствах?
4) Silverlight - крайне мало популярен. Да и тяжело будет заставить пользователей поставить его (не в сравнении с java)
5) Может что-то упустил.
Мои мысли по поводу архитектуры:
Повторюсь, в идеале хотелось бы сделать такой 3d редактор как на видео (если это возможно). Если же это невозможно, то я думаю придется это делать так: сгенерировать по 1000 моделей тел/голов/рук/ног/и т.д., и при изменении какого либо параметра, подгружать уже другую 3d модель (определенного куска тела) с сервера.
Как это все хранить в бд, также как и какую БД выбрать - вообще без понятия.

Пока все это на стадии обсуждения, так что скорее всего заказчика можно уломать на что-то другое (мож. быть на более простую реализацию/идею).

В общем есть очень много вопросов связанных с выбором языка, реализацией и архитектурой. Очень жду совета от Вас, дорогие хабровчане!
  • Вопрос задан
  • 3703 просмотра
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Единственный пожалуй нормальный вариант: WebGL + полифилы для легаси браузеров или фэлбэк для flash.

По поводу же мобильных устройств - то либо писать нативные клиенты либо просто забить.

Вообще задача интересная, но сложная (учитывая, я так понимаю, что с 3D графикой и анимацией вы не работали) и кропотливая. Можно взять three.js, к которому есть массы статей и по скелетной анимации персонажей, и вообще по деформации объектов.
Ответ написан
Комментировать
ghaiklor
@ghaiklor
NodeJS TechLead
Вижу только один возможный вариант.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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