Figures as Deformers
I'd love for someone to say, "But this is already available!" - I'd be on my way waving money right now .
One of the biggest frustrations is sitting figures on chairs, laying them on cushions or beds, and there is no compression of the item beneath them. For a long time, I've wanted the figure itself - or maybe clone it as a piece on invisible geometry - to act similarly to a deformer. Maybe even the ability to spawn a deformer from whatever portion of the figure is actually on the surface that you want to be deformed, so that other hard surfaces of the same object are left alone. So if your figure sits in a chair, you define the hip and thighs as a deformer, set the angle of deformation (vertically, in this case, but if the figure is leaning back against a cushion or the seatback, horizontally - the angle would be based on the orientation of the figure body part and able to rotate). You would be able to dial up the strength of the deformer to push the cushion surface just to the edge of the surface of the body part, as well as dial the 'spread,' so that a figure sitting on a seat compresses the seat cushion beneath them, and the spread defines how gradual the deformation fades to the sides - so the body doesn't just impress a perfect mold of the hip and thighs into the cushion, but the impression curves gradually from the default location of the cushion surface to the underside of the figure, as in real life. In the case mentioned, even the hip and thighs might be separately adjustable for spread, since the hip would normally support more weight than the thighs and affect the cushion more deeply. Of course, the affected object - cushion, mattress, etc. - would need to have enough geometry to allow it, or be subdivisible.
Something like this would make renders much more realistic, without figures sitting on chairs that look like their cusions are made of concrete.
Comments
Just add to your chair/Cushion/Anything a "Smoothing Modifier" from Edit -> Object -> Geometry and slect as Collision your Char...
It should do the trick!
I'd sure like to get this working, but I'm having poor results with it.
I've attached some pictures. In two of them I show Takeshi sitting on the couch that's part of the Living Room Props object in the Studio Type Apartment set. You can see that before the modifier, the couch looks like a couch; after the modifier, it's a mess. In this case, it makes no difference whether the Smoothing Type is "Generic" or "Base Shape Matching."
In the other pic, I've put Darrin on the bed from the Euro Bedroom set and added the smoothing modifier to the mattress. I had to set the Smoothing Type to "Generic," because "Base Shape Matching" deforms the entire bed,not just the area Darrin's mesh intersects. I moved the camera so it is showing both inside and outside the mattress, to reveal how the smoothing modifier makes the mattress deform around the figure's buttocks--following their outline too closely without the spread Ptrope and I were hoping for--but the feet are all wrong.There's no deformation around the right foot, and the surface of the matress actually crawls up the left foot instead of deforming below it.
My screenshots don't show how I've played with the smoothing and collision iteration settings, but I found that the default settings give the best results. You'd think that increasing the iterations would make the results more accurate, but instead the results just get more crazy.
Am I doing something wrong?
How much resolution do the models have? You can see the wireframes by switching to to one of the viewport styles with wire in the name - it's only the bolder lines that count, the feint lines (if the model is SubDed) don't help.
In my experience you are usually better off adding a d-former on the cushion and dialing it by hand, with MAYBE a little extra collision from the figure.
More precise.