? serious hierarchy problem

? serious hierarchy problem

Hi,

whenever I parent something to an object or folder the child object jumps to adopt the transform of the parent - for both position and scale. I cannot find a simple way to null this out.

It is a serious problem if you are trying to build any hierarchies for animation.

For example below I have made a simple mechanical creature that is designed to jump about like a wind up toy, but I cannot build the hierarchy to animate him/her because the model parts jump to new positions as you establish the parent child relationships.

Any help appreciated, Regards Rob

PS Please tell me this is something simple I have overlooked. Cheers Rob.
 

Attachments

  • test.jpg
    test.jpg
    29.5 KB · Views: 438
At the risk of talking to myself ...

you can stop the jumping using burn transform on your objects ... unfortunately this resets your object center back to 0,0,0 ... which makes animation impossible because all objects then revolve around the same point ... also you cannot do this with folders as they are polygon free and therefore will not burn transform.

Sadly this limits animation to camera fly-bys and spinning logos ... shame, because the f-curve editor is fantastic.

Objects need to be parentable in their current location ... also the center of transform needs to be independently modifiable (preferably with a set of limiters eg. hinge, ball-joint etc) ... otherwise you cannot build a professional hierarchy based rig ...

I'm sure all this will come with time ... but the render on cheetah is so good that I want to have my cake and eat now ... Cheers Rob.
 
If memory serves Skeletal Animation was one of the most requested major features to add to Cheetah 3D. I’m sure it’s on Martin’s very long To Do list. Probably close to the top. Stay tuned!

Best regards,
 
Hi,
you did a really nice model. I'm quite sure that it is possible to animate it with the current animation tools.
When you create on part of the model for example just model the shape in the global coordiante system. When you are done drop it into the hierarchy and position it. If you want the polygonal shape to rotate around another center just select all polygon of that object and move them so that the hinge is in the center of the local coordinate system. That's equivalent to adding a pivot point or something comparable.

I hope that helps.

By,
Martin
 
I'm sorry but the ability to define parent child relationships without each object jumping to a new location every time you begin to construct the hierarchy is one of the basic things an animation package does.

A lot of 3D packages do this ... I know because I've used a lot of packages .. if you cannot do it this way with the structure you've defined that is something else.

So lets look at a simple problem: upper arm, attached to lower arm, attached to simple hand object. All objects made at separate locations and then brought together. The simple mechanical way of animating this in most packages is to make the lower arm child of the upper arm and then make the hand child of the lower arm.

After this there are various solutions to controlling the rotation origin of each arm part.

Alternatively you normally set up the rotation origins, define joint types, define a preferred bend angle and then use IK.

However it appears from the above reply that Cheetah is not going to do this - so how are you going to accomplish complex mechanical type relationships.

Also if we skip on further to using bones with polygon skins - bones are generally constructed in groups in a single visible plane, then juggled into postion eg. bone group for legs, abdo, arms etc. You then parent-child the rig to establish the relationships before associating it with a polygon skin.
If your bone groups start jumping to new locations when they become a child group that pretty much screws up that rig - no animation.

And we are back to nice renders of spinning logos.

It would be interesting to here your roadmap for inclusion of complex animation in Cheetah if you do not plan to include a very straight forward method of establishing parent-child relationships and rotation origins. Please bare in mind that an object inside another object is self explanatory in terms of parent child relationships, that is why so many packages use it.

Regards Rob.
 
Sorry, the above response is actually a reply to two threads at once - would have been better in the other thread.

Regards Rob
 
hi, Rob.

I know it is very confusing problem with creating animation of hierarchy model. parent coordinate affects child coordinate. it is simple rule, but sometimes it cause unexpected effects.

As you wrote, function of burn transform for folder, or controlling pivot of object ( as other 3d animation software has ) will be so helpful to create hierarchy animation like arm robots. and I know it is possible with script. now I try to make it.

btw, Cheetah3D's parent-child coordinate system can make very interesting animation. please check attached file.

boxes.jas : all hierarchy boxes has same movements, rotate and scale.
arms.jas : each parts has very simple movements. the same name objects has same movements.

regards

tg_jp

p.s.. I can't wait your animation with the model.
 

Attachments

  • boxes.jas.zip
    8.4 KB · Views: 365
  • arms.jas.zip
    63.6 KB · Views: 344
Hi, thanks for the replies,

I do not think the parent child behavior is confusing it is just wrong if you intend to use it for animation ...

... child behavior should follow the parent AFTER parenting but not at the point of parenting ie. as the hierarchy is created (usually with a parenting command) everything stays still ... otherwise your model parts simply explode in different directions as the hierarchy is built ...

... the most rational pipeline for rigging is build model, make hierarchy, adjust object centers, animate ... not

... build model, build hierarchy, reposition objects, add folders for joint rotation, reposition objects several times, try to animate, bugger that joint isn't quite write, pull it part, reposition folders, reposition objects etc

Also repositioning all polygons to the desired center is not practical beyond a very simple complexity level.

One way forward would be to burn transform all objects then they do not jump on parenting, then include a separate tool to quickly drag object centers to a new location ... or the other way around.

Regards Rob.
 
Hi Rob,
you are talking about a completely different approach about organizing models which is not possible with Cheetah3D since Cheetah3D scene graph works with a true transformazion hirarchy like Cinema 4D (please correct me if I'm wrong) for example. It's true that jumps happen if you drop one object into another coordiante system but these jumps are very predictable so if you consider them in advance you can work without problems. Just wait with the positioning of the new object until it is at the right place in the transformation hierarchy. That's it.

Adding pivot points make some things a little bit easier but they won't add new functionality. At least not for polygon objects.

Once I add bones to Cheetah3D I will also write a "Create Bones" tool or something like that which will allow to drag a new bone out of the end of another bone. That will make creating a skeleton quite easy. By the way skeletons are nothing else that transformation hierarchies. So bones can be easily added with a modifier.

By,
Martin
 
Cinema 4D is very similar, however C4D has burn transform and a separate move object center tool. So, you can build stuff any way you like, burn transform it, build the hierarchy, then decide where you want stuff to pivot.

This make life very straight forward.

Regards Rob.
 
Hi,
I've checked out how C4D handels it again and you are right that there are some features which Cheetah3D is missing. But during my tests I also run into some problems which wouldn't be possible with Cheetah3D. So both approaches have weaknesses.
The main problem is mainly caused by scaled and rotated coordinate systems (pumping).
Even although I personally still prefer the way where the objects jump I'm considering a lets say "alt+drag" where the objects stays at it original global position. Then dragging a object into a parent object will modify the coordinates of the child object.

By,
Martin
 
Hi,

thanks for the reply - that sounds great to me.

In general I think the way Cheetah handles it at the moment works well if you've planned ahead and know how your model and joints are going to turn out.

I don't often work that way - I tend to have an idea then rough it out in 3D then keep tweaking it until I've got something I like - having the parent modify the child co-ords so that the child stays still would help a lot - mainly because I tend to puzzle out the animation hierarchy at the end.

Regards Rob
 
Hi,
I've put it onto my 3.x todo list. But I'm already working on a new feature which I first want to complete. It's not good to have to many open spots at the same time.

By,
Martin
 
Back
Top