Hi all!!!ALTHOUGH IS RECOMMENDABLE TO LEARN THE INDEED THEORY OF THIS TECHNIQUE
YOU CAN GO DIRECTLY TO THE VIDEO TUTORIAL WEBPAGE TO LEARN THIS STUFF IN A VIDEO TUTORIAL STYLE
There are some users that requested me more detailed explanations about how to translate the 3D rig concepts that I have developed in Anime Studio.
For me is very difficult to make a very detailed tutorial without the interaction of the people what is learning to do the stuff.
So if you have readed the 3D rig Tutorial and didn't understand nothing or want to start learning how did I do a 3D hand or a 3D eye or a WIP 3D leg or even a easy bouncing, please cooperate to help me to know what have you understood or not. Read the basics and let me know what you don't understand. I'll try to clarify it and modify the tutorial and concepts of this starting post.
ADVICE FOR READERS: you probably would notice that this post would change a lot. Also you can notice that some of the questions in the thread are explained in the first post. Don't think people is silly. I update every section of this post according to the suggestions and understanding of what readers post in the thread.
BASIC KNOWING LEVEL NEEDED:
3D Basics:
- Ortogonal coordinates of a point (x, y, z). they are scalars and represent the coordinates of a point in space.
- Ortogonal axis X, Y and Z. They are vectors and starting form the origin (0,0,0) represent a tree right handed coodinate system.
- Rotation of a point by an axis. If you rotate a point by an axis it describes a circunference around the rotation axis. The radious of rotation is the shortest distance of the point to the axis.
- Rotation of the coordinate system by an axis. If you rotate the coordinate system (X,Y,Z) by an axis you obtain a new coordinate system (for example a rotation by Y makes a new coordinate system (X,Y,Z) -> X', Y, Z') where Y is the same as the original and X' and Z' are the rotated axis.
-Projection of a point over a plane. Is the result point of tracing a perpendicular line from the 3D space point to the plane. The intersection is the projection. See Orthographic Projection for more information.
- FRONT view is the XY plane. SIDE is the ZY and TOP is the ZX plane.
Anime Studio / Moho basics:
- Select multiple bones
- Bone constraints.
- Copy and paste selected keyframes.
- Usage of Reparent Bone tool.
- Usage of Offset bone tool.
- Usage of Bone strength tool (numeric input).
- Usage of Move bone tool.
- Usage of scale bone tool (numeric input and drag mode)
- Usage of copy/paste bones script tool.
BASICS 3D CONCEPTS FOR THE PARTICUALR GENETE'S 3D RIG
(You probably would not understand points 7.) and 8.) for the moment. Be patient they will make sense later...)
1.) We are going to use the FRONT view in the animation.
2.) Every thing that exists in our virtual 3D space should be projected on the FRONT view. In the general case the camera view is the FRONT view and it is also the XY plane of the layer,
3.) We are going to have two main rotations. X and Y
4.) Any 3D point in space have a z coordinate. (if it is 0 no bone set up is neeed for this coordinte). But the z dimension is not visible in the XY projection so we need the SIDE view to calculate the z dimension.
5.) Lets start thinking on a X rotation. From the initial position, a X rotation should perform a vertical line in projection. The amount of the vertical traslation dependns on the amount of y and z of the point. In fact the radious of rotation is the square root of the sum of y*y + y*y (cartesian coordinates theory...). To know what is the real value of this rotation radious we go to the SIDE view.
6.) Imagine now that you are in the SIDE view. If you rotate the point by X it would perform a circle in the SIDE view projection. The circle can be achieved with a single bone but I need to separate the Z and Y coordinates of this rotation in two cinematic chains. Why? Because I want to make a poyection of the Z - SIDE projected rotation coordinate into the XY projection plane.
7.) To perform a rotation in the SIDE view I need two cinematic chains (springy chains) that gives me the Z and Y coordinates of the rotation circle independently but by a rotation of a single master bone (the Rot X master bone in the examples). But How can I project the Z coordinate of the rotation in the FRONT view?. I have invented a special variable springy cinematic chain that change its length with the rotation of another second master bone: The master Y rotation. So for the initial position of the point in the FRONT view, the lenght of the Z dimension of the SIDE rotation cinematic chain should be reduced to zero. Later if you perform a Y rotation, this springy cinematic chain would increase its length from zero to the final SIDE projected Z coordinate. It lets make different X rotation movement in the FRONT view from a line to a circle passing by an ellipse, only manipulating the Y rotation master bone. The SIDE view Y cinematic chain of rotation don't need to be modified in the FORNT projection because it have the same dimension in the SIDE and FRONT views
8.) Finally to complete the 3D rig it is needed to add a third springy cinematic chain to represent the X coordinate of the point. The X coordinate of the point is affected when a Y rotation is done and not by the X rotation.
This animation could help to understand the basics.
http://www.youtube.com/watch?v=GQvky02DVhk
and now the STEP BY STEP tutorial
A) THE SPRINGY MECHANISM
You should be able to create by your self a bone chain like this:
It is done by two aligned bones and a last one perpendicular to them. The first bone A and the second bone B must have the same length. Bone A angle can be 0, 90, -90 or 180 depending of the case. the last bone direction can be any one but I usually make it perpendicular to the other two. The tree bones have angle constraints to a called "master" bone in this way:
Bone A (root): same rotation than master
Bone B: -2 times the rotation of the master
Bone C: same rotation of the master.
Also it is very impotant the parentship and the relative position: B is a child of A and C is a child of B. And B is situated at the end of the length of A and C is at the end of the legnth of B.
With this bone set up you have a linear horizontal (vertical or what ever orientaion have the mechanism) oscilation of the final bone (C) controlled by a master bone rotation. If A length is "a" and B length is "b=a" then coodinate x of the final bone C is:
x= 2*a*cos (master.angle)
suposing that the master bone have its initial angle set to zero)
Please review the sample file and try to do the same but instead an horizonatal oscilation a vertical oscilation. Please start from scratch.
http://amanoalzada.iespana.es/3DTutorial/springy.anme
Did you do it? Congratulations!
The result shluod be more or less like this:
http://amanoalzada.iespana.es/3DTutoria ... -vert.anme
Tips for make easy this step.
- Make use of the ALT-click when adding bones. If you want to add a new root bone you shoud unselect all bones byclicking to no bone with the Select bone tool or by the faster way making a ALT-clic during the use of the Add Bone tool. It unselect all bones and let you add a new root one.
- Make use of the grid snap to quickly create the springy mechanism. In this way you don't have to make a SHIFT drag and also don't need to correct the length of the bone A and B to be exactly the same.
B) THE SPRINGY MECHANISM PLUS A TARGET BONE
Those three bones (A,B and C) are constrained bones (by master one) so they can be hidden in the animation mode other than the frame 0. Imagine that a final model would have 20 or 30 of those springy chains and all of them are over the vector layer... It could be a big mess... So I use another bone to be linked to the bone C (which is really who makes the final desired oscilation) what we can call bone D. The points of the model are controlled by bone D and not by bone C. With this I can have a clear model where the bones over the vector layer are minimum. Also I usually make the bone that moves the point as small as needed to try to avoid influence to other points. (We will see that this is not really needed because you can use the offset bone tool to avoid bone influence of the bone to other points if you want it). For the moment we are only going to make an oscilation of a point (a circle) in a horizontal direction.
Try to do this:
Open the springy file. Remove the letters. Zoom out (to make the springy chain smaller in relation to the visible area. Add a new bone (D) linked to bone C, far away of the springy mechanism and away of the master bone.
Create a circle over the bone D. Try the Manipulate bones tool and check out that the bone D moves horizontally with an stroke of double the length of A (or B).
Also is convenient remove any strength to all the bones that are not target bones (in this case master, A, B and C). To do it in one step you should select all of them (fazek modified select point/bone/shape tool is very useful for this due to its lasso mode) and select the Bone Strength tool. Then go to the numeric input and write 0 or drag with the right button of the mouse to the left). All the bones are modified at the same time. A lot of time saved!!!. I love this program!
Try it out before open this file.
Done? ... Congratulations! You have a rotating ball thru the Y axis!!!!
C) GIVING SENSE TO THE SPRINGY MECHANISM
Perhaps you didn't realize that the actual position of the white ball in the previous example file was tracing a projection of a point in space when makes a rotation trhu the Y axis.
Look this image and its corresponding file.
http://amanoalzada.iespana.es/3DTutoria ... -viwe.anme
In the image you can see that the initial position of the white ball is given by its coordinates (x,y,z). In this case its initial values are x=2*a; y=0 and z=0. Assuming thet length of bone A (equal to B) is a.
If you move the master bone increasing the angle (positive Y rotation) then the x coordinate of the ball decreases in the FRONT view. Also if you consider the TOP view you can see that ALSO the Z coordinate of the ball is modified when master bone rotates. It is due to the artifact that I have made for the TOP view to make you understand the 3D movement. The bone in the TOP view is not part of the 3D rig. Only for educational propouses.
Then, the z value of the target point goes from 0 to negative (-2*a) and again to 0 when master bone goes from 0 to 180.
You can see also that FRONT and TOP views are consistent in terms of Ortographic projection.
Now the excercise is not so simple.
Use the sample file and modify it to make the ball do a rotation along the X axis. Tips: you should rotate the springy mechanism, create the SIDE view and add the false bone for the side view to see the rotation working. The SIDE view would be on the left of the image from your point of view because I will use european projection system (first angle projection).
Have you tried it? Come on!!. Try and show me your results!
If you cannot wait here is the sample file.
-------------------------
Tutorial continues in a new post.
-------------------------
The content of this tutorial is under Creative Commons licence conditions.