How do you as a creator handle collision between actors?

Omega

Well-known member
Messages
71
Reactions
295
Points
53
Patreon
OmegaVAM
Hey all, I'm an up and coming creator and whilst I believe I have learnt a lot and found my own ways of handling things - there is still a lot for me to learn. My number one thing that has always been really puzzling is collision.

I have seen some absolutely incredible animations from VAM with hands and fingers touching and sliding on top of skin, basically exactly how you'd expect real life hands and fingers to collide with another human. So my question is, to other creators out there, how do you individually deal with collisions between actors like this? Is there some secret technique, formula, recipe, etc that I still need to learn?
 
Collision in VaM is way to imprecise, since the character shape is approximated by using sphere and capsule shapes. There is simple no smooth continuous surface. The physical shape is not the actual body shape you see...it looks like this:
1715253261297.png


This will mismatch especially when using lots of morphs, so the body deviates even more. To some degree you can edit the shapes using AcidBubbles Collider Editor, but that only helps if you need good collision in a particular spot.

The trick is actually to NOT rely on collision too much. A better approach I use in my scenes is relative animation. Part of the animation for one character A is setup relative to the character B they are supposed to touch. Since character B will probably also have animation, meaning the touched body part will likely always also move at least slightly. Especially with all the randomized animations I'm doing in my scenes, where there are hundreds of possible combinations, it would be very hard to animate in a traditional way. However, if the animation of A is actually relative to the movement of B, it will still align. Of course that has limits and only works to correct minor misalignments. But usually it is good enough to cover like 10 or 20cm movement of the other character.

Example from the IdlePoser tutorial using it's "anchoring feature". That is exactly this. One of the States for the hand animation of the right girl character is anchored to the rThigh of the left girl. So, even though left girl is moving randomly, including through some physics feedback from a handjob animation, the hand will still touch properly.
1715253701078.png


The screenshot is from my DoubleTrouble scene.

Note that Timeline has a similar feature, called parenting there, I think. Have not used it myself, so can give advice there. However, as I understand in Timeline you can only either parent the entire animation or not. In IdlePoser you can control anchoring for each individual state/control point or even blend between two anchors. That allows to go smoothly in and out of anchoring, like from a character hand touching themselves smoothly to touching another character.


My workflow when animating a hand with IdlePoser so it will touch another character is usually to bring the hand nearby with a State. Then animate the finger morphs to create minimal skin contact (but no pressure!). Sometimes you have to go back and forth a bit between positioning the hands and finger morphs. For nearby control points you overextend the fingers a bit back, so you get a gripping animation.

In this case, it's self-touching, but same principle. Two IdlePoser states (blue), two control points (grey):
 
Last edited:
Thank you for your very detailed reply, I appreciate the effort you put into it. It definitely helped me understand a few things quite a bit more, especially the part about the collisions mismatching with many morphs in use! That's very important for me to keep in mind in the future, thank you for that. I've used Timeline a lot so I can say that it does in fact support per control parenting, it does a pretty good job of it too but it gets a bit messy if you over complicate your animation. You can technically parent and unparent a control to another control/body part midway through an animation which is handy but also, like I said, messy.

I've toyed around with IdlePoser as well and from what I saw it was definitely very powerful and I actually created two duplicate animations, one with Timeline and one with IdlePoser, to compare between them to see which one would work best for my current project. It's kind of infuriating because both excelled in ways that the other didn't, but it's also really difficult and messy to use both in tandem... due to my already fairly extensive experience in Timeline I chose to stick with that for now. But I plan on creating some smaller scenes using only IdlePoser so I can wrap my head around it more.

But from what I've seen, the best way to handle collisions it to fake it until you make it. Like you were saying with animating finger morphs so their close enough to touch but no physical pressure is applied, it's all an illusion. Smoke and mirrors. But hey if it works, it works.
 
Back
Top Bottom