Rus | Eng
В этой проекте демонстрируется, как использовать Python с захватом изображений OpenCV для достижения:
* Обнаружение движения человека и распознавания;
* Последующей передачи данных в Unity в режиме реального времени;
* Анимирование персонажей при помощи полученных данных и IK Animation.
-
Motion Capture - эта часть предназначена для того, чтобы распознавали человека, обрабатывали значения и передавали их клиентам. Реализовано на
python
. В config.ini хранится информация о том, по какому ip адресу и порту должна передаваться информация и нужно ли отрисовать в реальном времени изображение с камеры с обработкой захвата точек. -
Body control 3D model - тут мы уже занимаемся получением данных о точках тела и дальнейшим использованием. Реализовано на
Unity
. В файле StreamingAssets/config.json хранится информация о том, по какому ip адресу и порту должна получаться информация информация.
Сначала должен запускаться Motion Capture
проект, а только потом Body control 3D model
иначе Unity зависает. При завершении сначала приостановите работу Body control 3D model
, а потом Motion Capture
.
При старте создаются сферы которые служат примером точек захвата, так же создаются линии которые соединяют определённые точки захватом, благодаря этому получается подобие человеческого тела.
Контроллер который получает данные по сокету, обрабатывает полученные данные и перемещает сферы согласно их позиции полученными из данных.
В данном примере используется готовая модель Unity-chan
. В модели настроены Rig рук, ног, головы, так же модель перемещается относительно позиции захватываемого человека по центру камеры.
Контроллер который получает данные по сокету, обрабатывает полученные данные и перебирает настроенные точки и перемещает их, каждая такая точка имеет информацию о её индексе и хранит Transform объекта. Так же происходит перемещение основного тела, вычисляется центр при помощи математических подсчётов и координат тела и ног.
- Кирилл Шутов (ShutovKS), Россия
MIT Лицензия