Welcome to od|forum

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

Atom

Avoid Rig Self Intersection?

Hi All,

I have a rig that is being driven by a mocap file. At certain points the rig actually intersects with itself. Is there an automatic way to cause the rig to not self-intersect? I have tweaked the length of the collar bones in the rig to allow for shoulder more range but I still get intersections.

The arm is clearly going through the breast in this image.

Untitled-1.jpg

Edited by Atom

Share this post


Link to post
Share on other sites

Perhaps there's difference between mocap actress and your 3d model. Thinner figure allows wider angles of arm's movement. Animation layers system is tool for adjusting these offsets, where is needed.

Share this post


Link to post
Share on other sites

I was thinking the same thing. Consider the bones as a garment and the weft and warp are off, it is a mis-matched fit for the mesh. I created an offset system, inside of CHOP, for the rotational animated values but I am not exactly sure how to fit the bones to the mesh. They seem like a good match in t-pose.

I watched a brief introduction to Animation Layers. I'm not sure exactly how I would populate the layers.

Would I have to select each bone then scope a bunch of parameters, make changes and then blend it back together?

I played around with trying to turn the mesh into a cloth or solid object but once I added an AutoDopNetwork the .bclip refused to animate the mesh.

Share this post


Link to post
Share on other sites
18 minutes ago, Atom said:

 

Would I have to select each bone then scope a bunch of parameters, make changes and then blend it back together?

 

Honestly don't know how exactly this works in H, tried once while ago and it worked. Generally, purpose of animation layer, it is an offset on top of mocap animation or such, such layers system somehow comes together with mocap system - zero value is no offset, something else is additive. I think there is no need to bake it back to original, as long you're in H.

Share this post


Link to post
Share on other sites

this is to be expected when you use mocap from one 'actor' to drive the deformation of another 'actor'

the only real solution is to adjust the motion to properly deform the mesh to avoid these intersections and adjust the weights to better deform the mesh.

I don't know of any application that will solve this automatically.

if the mesh was FEM or something that could detect self collisions then you could have, in this case, the arm and chest press against each other rather than intersecting - but even that may not look right. 

Share this post


Link to post
Share on other sites

I wouldn't expect a rig with three bones to hold up a wide range of movement of a character. This is field of rigging, there are many different approaches to try to solve these problems, you can add bones and corrective shapes to fix interpenetrations. Adjusting the weights anyway is a start, just by looking at the crease in the shoulder I can tell it needs some work. 

I knkow is not very helpful, but there are tons of threads in internet about rigging, self intersection, shoulders, corrective shapes, pose space deformation, blendshapes and bones... you might find inspiration and ideas to port some of those in houdini.

Share this post


Link to post
Share on other sites

Thanks for the feedback.

@Michael: I did try the FEM approach. I turned my mesh into a Solid and Organic tissue (I tried both). However, when I did that the AutoDopNetwork drives the mesh and I lose all of my mocap animation.

Is there a way to combine both? (i.e FEM and Mocap)

Share this post


Link to post
Share on other sites

you'll need to make your mesh into tets, then capture the central tets of the mesh with bones, the rest of the tets will then be simulated.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now