Varying Restrictions & Execution pipeline



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 05/10/2004 at 17:28, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   8.503 
    Platform:   Windows  ;   
    Language(s) :     C++  ;

    ---------
    This is related to my previous question.

    Here's the hypothetical situation (not attempted yet) : I have three separate vertex weight maps per bone on the geometry. Each bone has a Restriction tag with all three weight maps set to it at 100% initially and are using Absolute Vertex Map mode. I want to make a tag or expression that changes the Restriction Tag influence depending upon which axes are rotated (sets the 100% values to different values - 0% for no rotation on an axis, combined to 100% for multiple axis rotations) BEFORE the bone is actually rotated.

    1. Which is better: a tag, expression tag, or XPresso expression? Can XPresso be generalized to look at the bone or bones being rotated so that only one is needed on the geometry?

    2. Will varying the Restriction Tag values have any influence at all (or are they fixed with the bones, per se)? Remember, I haven't actually attempted this yet - especially since, altogether, it is non-trivial to apply this entire concept all over my existing plugin code.

    3. What is the best way to determine if a particular axis is being rotated? Currently, for my other approach, I'm using obj->GetRot() and checking changes in values from a saved previous vector.

    4. How do I ensure that the changes in Restriction tag influences from each vertex map occur BEFORE the rotation/display update? Code or steps would be helpful.

    5. (Bonus question!) How would one go about applying 'bulges' (i.e: muscle bulges) to geometry that are determined by bone deformation?

    Even partial answers would be of great help!

    Thanks,
    Robert



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 08/10/2004 at 10:05, xxxxxxxx wrote:

    I'll answer some of my own questions, just for posterity:

    1. Expression tag

    2. Yes, but not a good approach. Although there are three influences on each bone, they overlap and this seems to cause problems if one of them is set to 0%.

    3. Seems that GetRot() is the best so far.

    4. Set Expression tag priority to CYCLE_INITIAL and a low priority.

    5. Still waiting... :)

    Robert



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 12/10/2004 at 08:42, xxxxxxxx wrote:

    Perhaps you could use an FFD for 5?



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 12/10/2004 at 10:24, xxxxxxxx wrote:

    Still debating between FFDs and morphs. The FFDs certainly would be more economical memory-wise, but would the clutter be too much? I also have to consider tapering and 'smooth' scaling on each bone-related geometry area. So, the result would be, for instance, 36 bones on the geometry with 3*36 deformers on top of that. Whether or not they can be tucked away in a Null object child to the geometry may be a determining factor.

    Thanks!

    Robert


Log in to reply