A rotoscope is animation is a technique that was very abusive, especially with the mocap ( 3D-moving cap) but also has very good results, I love Bety Boop dances in which animators as well as using the rotoscope created delirious animations on top of it.
The rotoscope serves for two things, an animating difficult thing, as in the previous example, a dance is hard to cheer, look at any 2D animation and turn dances into simple repetitions of a single movement.
Another reason is to save time, in my case I think that a good interpretation of gestures can save me a lot of time of animation in synchro-labiales. That’s why I started this project.
Quinema rotoscopio tries to imitate great features what the person who interprets the character, leaving the synchro-labial for other programs. Movements instead of being exact copies try to be simple and caricaturists versions.
Download and Install
pip install opencv-python dlib imutils numpy sys pickle tk
chmod +x quinema-rotoscopio
Now we can prove it, we should see our face and moving it by changing the red spots of place.
Pressing the 0 to 9 keys we can store the expression and save it with “s”, open the file with “o” and help is with “h”.
Another option is to capture the movements of a video face
python quinema-rotoscopio video.webm
Conect to Blender
Now we need to connect it to a program, I use Blender
That’s why we need the supplement AddRoutes that will receive the positions of the face through OSC, an amazing free format to interconnect programs and devices.
The data are passed through the internal network with the “/quinema/p” address for the position, “/quinema/r” for rotation and “/quinema/e” for the expression number.
Once installed we only have to configure the rotation and position of the object we want to move using the Add-on.
You can lower my example.
Once connected and if you respond in real time, we can record our performances in front of the camera.
Pressing the recording button and playing start capturing our movements.
Tip: In case of wanting to capture less data you can separate the x,y,z in using the AddRouters filter.