THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 09/06/2005 at 20:59, xxxxxxxx wrote:
Cinema 4D Version: 8.207
Platform: Windows ; Mac ; Mac OSX ;
Language(s) : C++ ;
An idea that is being considered to do post-corrective deformation in combination with selections relies on one thing - knowing when the bones are being rotated.
The post-corrective deformation will probably be implemented through a tag attached to the base geometry. When bone rotations change, the tag will need an indication that this has occurred (and possibly which bones were affected) in order to do its thing.
I'll be looking into this myself, but want to get on the fast track if anyone has answers to save time in R&D.;
On 10/06/2005 at 20:54, xxxxxxxx wrote:
Let me qualify this and add to it.
When I say "know when bones rotate", is there another way besides just comparing all of the bones rotation values against their previous values?
Additionally, if I wanted to replace (add a new) deformation method to C4D bones, how would it be done? Can it be done? In other words, what is the linkage for CB maps, Vertex maps, and other skinning selections and how can others be made?
On 12/06/2005 at 08:29, xxxxxxxx wrote:
No, comparing values would be the most robust way to do it. Depending on what behaviour you like you could either identify the stored values with base links, preserving bone identity, or with the hierarchical relation to the parent.
There's no simple way to add a new deformation mode to the current bones. You would have to create your own bone object, and implement support for CB, VM etc. yourself.
On 12/06/2005 at 10:05, xxxxxxxx wrote:
Instead of making my own bone object, could I not just set the bone strength to 0 and do my own skinning deformations after the fact (as it were)? I realize that this is the hard way to do it, but C4D's current bone deformation options will not suffice for my purposes. And, of course, since I cannot get at a standard polygon object's GetVirtualObject(), there might need to be a deformer object to 'catch' the bone rotations and perform the necessary GetVirtualObjects(). Sound reasonable?
On 12/06/2005 at 16:48, xxxxxxxx wrote:
Here's my proposed layout:
// Bone Hierarchy
The Deformer will get the Bone rotations down the hierarchy tree and perform the required deformation of the mesh.
My question is this: Should the Deformer Object be a Generator or a Modifier? For deformations, the docs lean towards Modifier.
On 16/06/2005 at 00:15, xxxxxxxx wrote:
Ah, nevermind on that mess. It can be made to work, sort of, but it has complexities that I surely don't want to deal with.
I don't know if you remember my hairbrained scheme of using axial weights fed into a dummy vertexmap tag. Well, I have finally a solution that works using this scheme. And, yes, rotations of each axis differentiate the amount of deformation as prescribed by the axial weights. It was supposed to be the first stage of research before trying other ideas, but no solution was apparent. Well, one appeared today ... and it works! I now have bone deformations (through vertex weightings) that work dynamically with the amount of rotation on any axis.
Needless to say, I'm a very happy camper!
On 17/06/2005 at 09:01, xxxxxxxx wrote:
On the subject of bones ... I'm a newish C4D9 user and am illustrating an owl. The body and initial part of the wings are one object, with about 20 individual feathers attached to the back of each wing to complete the wing. The bone setup is very simple ... just two bones within each wing to form the shape in flight.
However, I can't get the feathers to stay with the wing when it moves (When the bones are activated). Whatever I try they just lay in their original positions.
I'm sure the solution is simple so can anyone help.
On 17/06/2005 at 10:44, xxxxxxxx wrote:
Best to ask this question at CGTalk or Renderosity or PostForum. This is strictly SDK development here.
As a hint - you will need to add the feathers as restrictions to or put them under (as children of) the appropriate bones.