Hello,
I have created a simple softbody animation where a cube falls onto a plane.
I set a spot which should track the cube during falling.
So I selected the spot, and then with Shift-RMB also the cube.
I used Strg-T and choosed ‘Old track’. If I move now the cube (GKEY) I can see that the spot follows the cube.
But if I start my animation (ALTA), the the spot keeps where it is, does not follow the cube.
I can also see that during animation (ALTA) the center (pink dot) of the cube keeps where it is as well
So what I am doing wrong? How to track the cube during falling onto the plane?
Hello RamboBaby,
thanks for reply, but it does not work. If I use a softbody then the spot does not follow anymore. If I move the cube by GKEY then the spot does follow.
I also do not know the differences in the three track options (TrackTo Constraint, LockTrack Constraint and Old Track). But none of the three does work
Also the settings you mentioned (F7 --> Anim settings ) do not change anything.
One idea, though not very efficient, is to create an empty, and insert keyframes where the cube is for every frame, and then parent the empty to the lamp. As far as I have figured out, the reason it dosen’t track to because the object isn’t moving, it’s more of a mesh deformation.
Well done CD38 !
I was going to answer that.
Vertex parent works fine on soft bodies.
The center of the mesh itself is used as reference for the animation, and it stay at the initial place while vertices move.
It is the same when you animate an armature in pose mode, or when you use the curve deform function to make a mesh follow a curve. The center of the object has a behaviour which is different from the object itself.
Vertex parenting is often the solution.
Philippe.
The vertex parenting does work but you can get jiggly tracking. Probably would be smoother if one set up a GOAL and parented empty to different weighted vertices. I will experiment.
This softbody should be the parent of the vertex/empty
Track now the spot to the vertex / empty instead of the softbody
Is this all? I mean does now the vertex / empty follow the softbody or do I have to create a key for each frame and move the empty accordingly to the softbody movement?
By the way, can anybody tell me why Blender does not treat softbodies as ‘normal’ objects which are able to be tracked? Will there be an improvement on this?
Mr Burns: here is how to “vertex parent” the empty to your softbody.
Create an empty; most likely the best position will be at or near the center of your softbody object.
In object mode, select the Empty then Shift-Select the softbody object.
Press Tab to go into edit mode.
Select exactly 3 vertices of the softbody mesh.
Press Ctrl-P. The only choice will be to create vertex parent.
Tab to object mode. Select the lamp, shift-select the Empty. Do Ctrl-T->Make Track To constraint. Run the softbody simulation and the lamp should track the mesh, more or less.
You will have to experiment with which vertices work best as parents of the Empty (use Alt-P to remove the parenting from the empty). You can use exactly 1 or exactly 3 vertices as parents.
Thanks CD38,
that works fine now, but still 2 questions:
WHY I have to do that? Why I cannot track the cube itself if is used as a softbody? If I deactivate the softnody on the cube it works fine! So it has juts to do with the softbody!
WHY I have to select exactly three vertices, as you mentioned?
Well, softbodies work this way because they need a reference point from which all the vertex displacements (jiggling and waving) will happen. Think of a model of a flag or curtain fixed to a rod and waving in a breeze - how would you define the positions of the fixed parts of such an object if the center were moving around? This is what bjornmose was referring to. No special case is made for a falling softbody object; just the mesh moves.
Vertex parenting is done on either 1 or 3 vertices because individual vertices of a deformed mesh don’t rotate, they just translate in space. So if you want your child object to just follow a vertex’s position, you give it one vertex as a parent. If you want child object to follow also the rotation of the mesh you parent it with 3 vertices, since at any given frame 3 non-collinear vertices define a plane which can rotate.