Home Artists Posts Import Register

Content

I mentioned earlier that setting up the new collider positions by changing which skin vertex each collider targets would reduce the need to shift their positions with changes to breast size and shape. I thought I might have been too hopeful, but turns out the opposite is true - with the target vertices set up properly, the colliders stay in place very accurately and work out of the box with basically any breast size and shape.

In the video, there is no custom shifting of the collider's center, it's simply using the position calculated by VAM automatically at the new target skin vertex. The only custom part is the calculation of the collider's radius to ensure their sizes stay consistent at different breast sizes. All colliders get their radius from the overall breast width and a collider specific multiplier. This is a simple solution that works, but it could probably slightly optimized by giving each collider a different part of the breast to calculate the width from.

You can see some protruding happening at extreme sizes, but nothing like in v1.1.

Glute colliders are also reorganized. I placed them into three rows: the first two in the top row, the next three in the middle, and the last three in the bottom row. Each row uses its own glute width marker that determines the radius for the colliders in that row. It should produce very consistent collider sizes for basically any glute size and shape, with minimal poke-through.

Real-time adjustments

As shown in the video by simulating gravity in different directions, changing the pose doesn't actually matter all that much. The colliders still fill the overall volume pretty well, only some individual colliders poke through in specific poses. There seems to be much less need for adjusting the positions or radiuses in real time than I thought there would be!

I played around with the continuous adjustment of collider radiuses, and sadly the performance impact isn't negligible after all even when adjusting the Unity collider properties directly. I should've known that given that the same is true when e.g. updating the fat collider radius continuously using LDP. Resizing or repositioning the Unity collider probably triggers some internal collision calculations in the physics engine.

The good news is that the performance impact should be easy to minimize with a rate limiter and by only allowing changes above a certain threshold. Something like a 5-10 Hz update rate should be fine given that the colliders normally aren't visible objects, they just need to readjust in a reasonable amount of time. This would also be an optional feature, and perhaps even something that is automatically and quietly turned off if fps is too low. Based on quick testing, the impact of adjusting the radius of a single collider 60 times a second dropped the fps from 138 to 131 fps (My CPU is a Ryzen 7 3700X).

Overall though, the real-time adjustment is a somewhat low priority. I'll do more testing once I've made progress on more important things like morphs.

"Collider lag" needs investigation

This is playing at 0.25x speed. There's a few things that might contribute to why the colliders lag behind the animation. Firstly, the person colliders in VAM each have their own physics joint that connects to a joint in the body, and in the case of breast hard colliders, their joints connect to the pectoral joint which is located pretty deep inside the chest. So there's already quite a bit of distance that could cause some delay.

Secondly the breast physics itself probably plays a role. The collider follows the position of its target skin vertex, but I'm not sure if that position actually includes the effect of soft physics.

Then there's also the physics of the collider joint itself. It might be possible to configure its physics (with e.g. higher springs and lower dampers) in a way that improves the collider's responsiveness to movement. However this approach probably also has an effect on how the colliders respond to other objects and how the collision force gets passed onto the pectoral joint.

To-dos for the upcoming v1.2 beta

The first beta will include the new angle limit parameters, hard collider improvements, and various UI improvements. The collider implementations are a bit messy and need cleaning up, and there's a bunch of small things that need implementing and fixing to make sure it's a fully functioning release. Also, proper testing is needed to ensure nothing's been broken. Should be able to release it quite soon!

Files

Colliders positioning WIP (Naturalis v1.2 beta)

Colliders positioning WIP (Naturalis v1.2 beta)

Comments

everlaster

Watching that gif again, it actually looks like the colliders are ahead of the animation rather than lagging behind. This could be entirely due to the soft physics, i.e. the colliders are actually where their target vertices would be without soft physics, and it's the soft physics that causes the vertices to lag behind.

babul

Interesting. I wonder if it's the case with other body parts too, e.g. with fingers, which can get the effect of each joint individually sliding to the side in handjob animations, even when using IronGrip with high finger strength. For breasts, maybe fixing this will get rid of clipping with clothing during animation too?

everlaster

It's probably not going to help with clipping. The main reason for clothing clipping the skin is that the skinning system in VAM1 has a 1 frame delay because it runs on a separate thread.

everlaster

It does happen with soft physics disabled as well. Also, fat colliders don't have this issue to anywhere near the same extent.