Fixed (1.20.1.6) Mouth opens up and other problems

clevenger

Member
Messages
29
Reactions
10
Points
8
Was messing around with "giantess" characters and noticed a few weird problems.

To reproduce, load default scene, set hand and elbow controllers to "off", tilt the character's head back so she's looking almost straight up.

Everything should look normal at this point.

Now go in and scale the character up to 10x normal.

Notice three things have happened.
1. The character's mouth has opened up really wide.
2. The character's hair has become super frizzy
3. The character's arms have raised up and moved out from the body.

#1 doesn't seem to have a work around, I thought it might be some collision related issue but I've tried turning all the collision and physics switches off and the problem remains. You will notice if you tilt the head forward the mouth slowly closes. The behavior seems to happen any time the head joint is tilted back, regardless of how the rest of the body is oriented. This is a big problem because it means you simply can't put the scaled up characters in certain poses. For example leaning forward and looking straight ahead will make the mouth fly open.

#2a This seems to be because "curl scale" is being scaled up with the "rescaleObject" value. ie: if you make a 10x bigger character and pull curl-scale back to 1/10th the original value, it sorta looks right again. The workaround is manually changing curl scale, easy enough but it's a nuisance to have to do every time you change character scale or load a different style.
#2b Even after fixing "curl scale" the hair still looks a little odd, may be some other parameters about the hair aren't animated right, not sure about this.

#3 You can work around this by fixing the character's hands in place (turning the atom "ON") or animating them. This problem also does NOT appear to be physics or collision based and still happens with all the physics and collision OFF. Not sure if it effects any other objects or characters nearby.

Hope you can find a fix or work-around for #1 at least.

You've got a great app here, really anticipating what 2.0 is going to be like!
 
I was able to repeat all of these issues using Saves/scenes/MeshedVR/default.json when scaling above 6 (#2 is issue for all scale levels though).

#1 I'm not sure on, but I'll try my best to fix.
#2 I had fixed this issue in the past, but I must have broken it again at some point. This is definitely fixable.
#3 This appears to be an issue with Comply not taking into account scale. This is also fixable.
 
I have fixed #2 and #3 outright.

#1 unfortunately is an issue with Physx that can only be solved by doing a lot more solver iterations which is costly performance wise. To solve, I have added a new High Quality Physics user preference that is off by default. If you turn it on, it fixes this issue and can make physics more stable in many other situations as well (joint jitter, complex collision resolution). It can decrease performance by 10-20% though so I suggest only using it when needed. The original iterations setting was set based on a lot of experimentation to find best balance of performance and accuracy which works for 99% of VaM usage. This option just basically makes the 1% extreme more stable.

All of these fixes will be in the next release.
 
> To solve, I have added a new High Quality Physics user preference that is off by default

@meshedvr I don't know what this setting will do exactly, but you seem to imply it's an iteration count similar to hair physics. If that's the case, can it be a slider instead of an on/off switch so it can be adjusted depending on hardware?
 
I am glad this issue will still be fixed in V1.x. I didn't have expedted it. This issue works the other way around, too. If you do a very small figure like a pixie, you will get similar errors IMHO. But you don't have to go this extreme... even if you do a Japanese woman with 1,50m for instance or an German woman with 1,80m hight, you can see the beginning of some of those issues IMHO. I really like the new physics switch and I will most likely use it a lot when it comes to quality and not quantity. Thanks!
 
@via5 This doesn't effect hair physics at all. Only regular physics. A slider doesn't make sense here because I made it so the high quality iteration multiplier is the minimum it takes to fix the issue reported here. Turning it on costs roughly 20% physics performance or roughly 10% overall performance for most scenes, so it is off by default. I put the high quality physics in mainly to fix this issue reported, but as a side benefit it can make the figure a lot more stable in complex collision situations. If you ever see joints bounce around or do weird things, this high quality setting should remove or greatly reduce that physics imperfection. I'm personally going to leave it off because 1.X performance is already not great.

@TToby You may also be experiencing issues with auto colliders not working well with all morphs or size changes. This is something that will be improved in 2.X.
 
> This doesn't effect hair physics at all

I understand that, it was just an example of an "iteration" setting that already exists as a slider instead of an on/off. I was just wondering whether a slider would allow for more control over quality/performance, that's all.
 
1. The character's mouth has opened up really wide.
2. The character's hair has become super frizzy
3. The character's arms have raised up and moved out from the body.

Here's some workarounds for you:

1. Adjust the mouth in the Misc Physics Tab. Decrease Jaw Hold Dampening to Minimum. And increase Jaw Hold Spring until it looks right.

2. As you said you have to decrease the curl scale proportionally. 10x character requires 1/10th the curl scale. Also increase the max spread and the gravity multiplier in physics until it looks right.

3. This one is a pain but you can reduce the Joint Drive Spring in each shoulder, elbow and leg and knee joint again by 1/10th. This also helps a lot with tiny 1/10th scale characters as the joint positions are way off and cause a lot of distortion.
 
Something else I have run into that I didn't post earlier because I can't reproduce it.

This is most obvious when you have the "ignore physics when grabbing" box checked. You will grab the character control, move it and when you let go the character will suddenly have it's joints in all kinds of crazy directions, then it will settle down and look normal. Sometimes this causes a physics explosion. Once you get into this state it seems to stay there, but quitting the program and reloading the project seems to fix it.

It looks similar to what happens when you have created a character, then create another character right on top of them....but this happens with just ONE character in the scene.

My best guess is that the characters physics/collision volumes have somehow gotten twisted into a weird state so when physics turns back on they fight to get into the right state.
 
Back
Top Bottom