необходимо решить интересную задачу по генерации реалистичных теней, которые могут отбрасывать 2д обьекты на пол. На вход приходит 2д картинка без фона, параметры света, а на выходе надо получить 3D тень картинкой, и совместить с изначальной фоткой в растре.
Пример: надо генерировать релистичные (но упрощённые) тени с фото стула с ножками и поперечными перекладинами (фон уже вырезан), в зависимости от направления света на обьект. Тень должна реалистично начинаться от каждой ножки и так же видна тень от перекладин и сидения.
Из быстрых экспериментов стало ясно что сделать это вполне реально, как вариант: делаем 3D экструзию 2D контура (с вырезами) нашей картинки, далее размещаем на сцене и дальше просто крутим свет параметрами скрипта. Но возможно есть и другие варианты.
Проблема:
- сложная математика и 3D моделирование это не моя компетенция, сообенно если надо всё довести до уровня стабильных результатов. Всё остальное - деплой, обёртка и размещение на сервере - по моей части. В остальном задача точно решаемая.
Методы решения:
- моделирование в 3D
- все варианты с трансформациями копии обьекта в 2D уже пробовал - не получается сделать реализм никак. На сложных обьектах ломается либо тень нереалистичная.
Технологии:
- Blender - Python API
- Unity/WebGL/OpenGL - Web
- ThreeJS - Web
- Предпочитетельней быстрый Web, но и серверное решение тоже подходит
Требования:
- Полная автоматизация, то есть это должен быть скрипт которому скармливаем наше фото без фона и получаем тень обратно (реализовать локально под Win/Linux)
- Угол, направление и интенсивность света - параметры на вход
- Есть упрощения: так как тень у нас всё равно размытая это помогает срезать углы в скорости рендера и т.д. Нет необходимости идеально повторять обьект в 3д - достаточно повторить общую форму
- Должно работать быстро <3сек
Просьба писать только исполнителям с реальным опытом решения подобных задач. Если опыта нет - можете попробовать сделать демку чтобы отклик стал предметный.
По отклику могу дать больше информации и примеры.