mtuttle
Hello again, here are a few more things I feel would be useful to maya:

An actual animatable "xform" node or transform that can be used for dynamic parenting where the child's parent can be constrained by multiple objects, but still maintain the child's current position/orientation so there's no jumping when you change the weighting influences of the constraint.

How about a hybrid spline/joint-based deformer system? Basically what that means is you have a joint chain which generates a nurbs curve which drives the deformation of a mesh. I feel that would make it easier to have smoother bending and even "rubbery" setups with fewer joints. You already can come real close to achieving this using the pointOnCurve deformer and pointOnCurveInfo nodes, but it doesn't account for twisting and it takes a very long time to build. I know that the muscle system already has a spline deformer but it flips on you at 180 degrees. So I feel we need a new, more powerful and flexible solution.

I also think it'd be nice to have some sort of animator-specified representation of extreme, key, and breakdown keyframes in Maya. Maybe there could be a annotation-like locator that is attached to a camera that shows the current frame and also draws another shape that represents what type of key it is. The animator of course can swap out and animate what the shape is over time. There could also be a shelf that has buttons which allow the animator to skip back and forth to their specified extreme/key/breakdown poses based off the shape attribute of that locator and the current frame. I don't have a solution to when the scene is complex with multiple characters/objects being animated on their own "charts," but this at least would make animating basic scenes much easier to organize and control. I've already made such a locator and if you want could add that code to SoUP's toolset.

I hope these are viable candidates for inclusion in SoUP's next release...


-K
Quote 0 0
pshipkov
"An actual animatable "xform" node or transform that can be used for dynamic parenting where the child's parent can be constrained by multiple objects, but still maintain the child's current position/orientation so there's no jumping when you change the weighting influences of the constraint."

This is more a constraint thing than transform node problem.
Actually the parent constraint works exactly like that. Also there is an "update" button in its AE panel than further simplifies the setting of offsets.
For the rest of the constraints we have to manually enter the current T/R/S values with opposite sign in their "offset" attributes. Sometimes it requires simple "-" operation.
I think we can easily hijack the constraints AE template scripts and add the same "update" button to all of them.
Not sure this is a SOuP thing tho, but totally doable.

"
How about a hybrid spline/joint-based deformer system? Basically what that means is you have a joint chain which generates a nurbs curve which drives the deformation of a mesh. I feel that would make it easier to have smoother bending and even "rubbery" setups with fewer joints. You already can come real close to achieving this using the pointOnCurve deformer and pointOnCurveInfo nodes, but it doesn't account for twisting and it takes a very long time to build. I know that the muscle system already has a spline deformer but it flips on you at 180 degrees. So I feel we need a new, more powerful and flexible solution."

I often do it this way. Basically drive curves that deform the geometry through wire deformers. This is especially useful for facial rigs and for post-skinCluster deformations that only add deltas, but not double deform the points.
Or maybe i miss your point here ?

"
I also think it'd be nice to have some sort of animator-specified representation of extreme, key, and breakdown keyframes in Maya. Maybe there could be a annotation-like locator that is attached to a camera that shows the current frame and also draws another shape that represents what type of key it is. The animator of course can swap out and animate what the shape is over time. There could also be a shelf that has buttons which allow the animator to skip back and forth to their specified extreme/key/breakdown poses based off the shape attribute of that locator and the current frame. I don't have a solution to when the scene is complex with multiple characters/objects being animated on their own "charts," but this at least would make animating basic scenes much easier to organize and control. I've already made such a locator and if you want could add that code to SoUP's toolset."

Do you know the tool "grease pencil" script ?
There you can draw your block poses on the camera's overlay plane and can flip them when scrubbing the timeline.
Are you talking about something like that but instead of using drawn shapes you want to be able to use scene objects like snapshot of deforming geometry at given time or other objects ?
If that's what you mean - i like the idea. Actually you can do that some of that right now using the timeOffset node. It allows you to cook parts of the graph at alternative time - basically displaying block poses on screen (check the example scenes if you want - there i animate the time offset, but we can set static values for the key poses only). What can be improved there is to control opacity and other visual properties of the time shifted geometry so for example when the current frame is "far" from given pose its geometry becomes transparent, or differently colored. When the current frame starts getting close to some pose we start making the geometry more opaque or change its color.
This is actually pretty easy to do i think.
Quote 0 0
mtuttle
Hi Peter, thanks for replying.

I just discovered that the multi-way constraint does exactly what I was wanting, and the source code for it was also available. I'm thinking of converting it to a python plugin so that it's available for any version of Maya without any operating system issues.

What I meant with the spline-based joint system was not having two deformation systems working at once, but having a joint chain that was spline based instead of linear. For example: currently a joint chain is like a degree 1 curve, but what if we could have a degree 3 joint chain or higher? Another way of putting it is that it would be like a procedural joint chain that you could "smooth out" without adding more joints in between the chain. Does that make sense?

I've attached screenshots of the locator I made demonstrating the keyframe concept. The frame number, circle, square, and underline are all OpenGL generated shapes in the locator. The frame number updates in real time to the current time of the scene, both when you scrub or play through the timeline. The other shapes are interchangeable with a custom keyframe-able attribute on the locator shape. That means the animator can have a visual representation of which keys are their extreme, breakdown, or inbetween poses without having to label or mark them. The only thing this tool needs is a way to jump to the next pose in the timeline specified by the locator, and a way of managing these locators if there are multiple ones in the scene. It may still be easy to do, but I haven't had time yet to completing the in yet.

Thanks again,
-K
Quote 0 0
pshipkov
Regarding your second idea - i get it now.
In Maya2012 we can use bezier splines to control the spline IK chains. Take a look at it - it is much better than any nurbs curves - we have in/out tangent controls for each point of the spline.

Let me meditate a bit on the pose locator thing.

Quote 0 0
mtuttle
Ik splines still require a lot of joints. I'm talking about using three, maybe four joints to produce the same results as would seven+ joints in a ik spline chain. The cMuscleSpline deformer already works that way, but as I said you can't twist any of the handles very far, nor can you attach a ik handle to it. I should have just requested for a better cMuscleSpline deformer....
Quote 0 0
pshipkov
I see what you mean. Yeah, this is not really that trivial. Keep me posted on your progress.
Quote 0 0

Add a Website Forum to your website.