Getting some unexpected results, Collide is turned off for every marker (is that the same as self-collide on the group?), Group Self Collide is also off.
I’ve pinned the root of the body and all four feet with a Constrained version of the Pin Constraint (can’t tell the difference between Constrained and Animated btw).
So when I playback I’m expecting the character to slump down evenly, but instead it kind of jolts to one side despite the symmetry of the markers and no collision on. I can’t figure out why it’d have this behavior:
Try setting all limits to 0.
Next, try disabling half of the Markers, via their Enabled
attribute. If the problem is still there, keep disabling half. Once you find which half, you should have a better idea of where the problem is at.
You can also visualise contacts via the Solver → Draw Contacts attribute, under the Visibility tab of the Attribute Editor.
As a side-note, you’ll likely want to reduce the density of that tail, since it is mostly air given that it’s likely furry. A value of 0.1 or 0.01 should behave more like a furry tail.
Thanks for the quick reply, it was the limits.
Though, they were broad enough that they shouldn’t have limited it in a way to create asymmetry but guess they mess something up there. I’m leaving them off I guess.
(I could not see the limits in my channel box as you screenshot, they’re only visible in the attribute editor.)
Draw contacts made nothing appear.
Should I turn back on Collisions for each marker? I’m not clear what its referring to colliding with what, if self collisions are off, does the marker Collisions refer to other groups? Or is the group Self Collide an override for the marker Collision attr?
Tails density was reduced in this example, each section less than its parent down to like .05 seemed to work okay. But thanks for calling that out as well. Anything else I should consider? Are Pin Constraints Constrained the right way to go for following the world position? I put both T and R stiffness to like 100 for those to make sure it follows as close as possible but allowing for colliding with environment to get contacts right.
To see them, you can either use the Channel Control UI to unhide them, or tick this box when assigning Markers.
A collision is a force being applied between two Markers, pushing them away from each other. The simulation considers every Marker independently for contacts. Contacts can be ignored via the Collide
attribute on each Marker, contacts are also ignored between a parent and child like the upper and lower arm. Setting Self Collide
to off
on a group is identical to assigning the same Overlap Group
value to each Marker, or assigning a Collision Group
node to them. They will ignore contacts with each other, but not other things like the ground.
Pin Constraints are an unrealistic force. There is nothing in the real world that does what they do, but they give you worldspace control over Markers. Whether it is the right approach depends on your goal. A real squirrel has nothing but Marker stiffness and damping to play with.
100 is a huge value. I expect you can achieve a similar but more reliable results with a value < 10 and a lower damping value, such as 0.1 or 0.01.
Amazing, thanks!
I think I’ll have to reread the collision thing a few times to wrap my head around it.
I was thinking pin constraints (constrained and animated seem to give same results) for the example of a squirrel climbing a tree.
Re: Collisions -
When I turn collisions on it appears that ignoring the parent/child relationship isn’t working
The upper arm and belly are not parent/child, that’s child and its grand-parent. Those contacts are still active. Same goes for thigh and belly, and likely parts of the tail. Ensure there is overlap only between parent and child and you should see a less nervous squirrel.
AH! Thank you for spotting that, I get it now
It’s very common, it’s the main reason self-collide is off per default. We haven’t figured out a better way to communicate this to the animator though, because it isn’t obvious until you know. Hard stuff!
Yea I think I get too focus on the joint intersections and not the entire collision mesh because somehow my brains thinking, ‘well self collisions is off so that can’t be it’ without really thinking too deeply that’s limited to only parent/child. Wonder if there’s a debug that captures that? Because when I turned on Draw Contacts it didn’t show me anything (maybe user error and needs retesting now that I know more).