fused said:
Wow this sounds really interesting, is it for a show reel?
No, it's for my own art, made in my spare time, which I'd be happy to distribute if I achieve the kind of results that I wish. But, no, I'm not creating a demo reel, because I'm not interested in getting a job in the animation industry (ten years ago I dreamt of working in the industry, but that's not the case anymore, and I wouldn't like to change my job at all).
fused said:
Is mouse mocap the same as manually keying a frame?
Andrew
No, what I understand by "mouse mocap" is to record the motion of your mouse, and use such recorded motion for automatically creating animation of different parameters, without needing to manually define the animation curves.
In few words, the goal is to get as close as possible to how a puppeteer does his job. You know, puppeteers can express feelings and tell stories with just the motion of their hands, and "in real time". They don't need to work with bezier curves. So, in my opinion, their "traditional technology" is more advanced than our computer tools, because they can create animated art "in real time", while we can't.
Of course, a mouse has only 2 freedoms of motion (X and Y), so it's more limited than the controls of a puppet (which often have many wires). However, there's a workaround for this, and it's to do the job "in layers".
When I say "layers" I mean that you don't need to capture every parameter at the same time. Instead, you can record the motion of a few things, while you see the already created animation playing (this means that mouse mocap has to work in a way similar to what we know as "full duplex mode" in audio editing applications, ie: record while you play previously recorded material).
For example, imagine that we want a character to sit down in a sofa, and then change her expression into deep sadness, while the camera changes from an american shot to a close-up, staring at her face and we see a moving light lighting her face (the lights coming from a car outside, which is leaving the house).
If I had the "software that I need", I'd do this scene in the following way:
1 ) Create keyframes for the action of sitting down. This will mean to manually adjust the skeleton, perhaps using IK. In this moment, the animation between keyframes isn't important, just the poses are important.
NOTE: Whenever I say "keyframe" in this post, I'm referring to a keyframe which we don't know when will happen (ie: a keyframe whose position in time is still unknown).
2 ) Define "2D zones" over the viewport, and associate each zone to each of the poses that we created.
3 ) Adjust the camera so that it has a good general view of the character and the sofa.
4 ) Press the "Rec button for mouse mocap". This is like if the director said "Action!". Then, depending on the distance from the mouse to each 2D zone in the viewport, a mix of the poses of the nearest 2D zones is assigned to the skeleton. This is like if you were animating a puppet.
(more than one "take" can be recorded, like in a real movie, and you can choose later the "good takes" and discard the bad ones)
5 ) For maximum expressivity, I suppose that it should be possible to correct the mouse motion as a "mass with inertia", so that it stabilizes your manual motion for avoiding undesired shaking and getting smooth motion instead (although it should be adjustable because other times you might wish the natural shakiness).
6 ) Now we create keyframes for the camera, because the camera will move with the character during the action, and will end with a close-up of the character face.
7 ) Assign 2D zones to each of the keyframes of the camera.
8 ) Press "Rec mouse mocap". Now there's a difference, because the animation begins to play the action of sitting in the sofa that we just recorded (actually we'll need to first select the "good take" if we recorded several takes).
9 ) While the character sits, we move the mouse, and depending to the distance to the 2D zone of each of the camera keyframes, the camera position is calculated as a mix of the nearest zones.
(we can record several takes, of course, and compare the results)
10 ) Now, if we play the animation, we see the both motion of the character and of the camera
11 ) Now, the lights of the car (we don't see the car, but the moving shadow of the window frame on the character's face).
12 ) Create a couple of keyframes for the light, and assign 2D zones for them. This step needs some care because we need to make sure that the shadow of the frame is projected on the character.
13 ) Press "Rec mouse mocap" again, but make sure that the current camera is the camera that we recorded the motion for.
14 ) The animation plays, and now we see our character moving, and the camera moving too.
15 ) Don't move the mouse until the camera arrives to the final position of the close-up of the face. Then, move the mouse so that the lights move from the initial keyframe to the last one (NOTE: For this step to be really successful, the OpenGL preview should support real-time shadows, because otherwise it would be a bit difficult to imagine the real position of the shadow).
16 ) Finally, the facial expression. It has to change into deep sadness. We select some expression morphs, and assign them to 2D zones.
17 ) Press "Rec mouse mocap" again. When the animation plays, it's almost finished, we have everything except the facial expression, which we're creating now when we move the mouse as the animation plays.
18 ) Voila, work done! Let's go to the next scene!
Now try to do all this work with the techniques that current 3D apps use (which, btw, are techniques from the 80s, and haven't improved since then)
ces