VICODynamics: a particle based Soft-Body physics Plugin

Currently, dampening is not tweakable. But I added it to my todo list to give access to those values.

Restitution and friction is supported, but again needs to be given public access to those values.

I’m not sure about the force resolution property… What behavior does it affect?

All Good news :slight_smile:

It’s a value that can create the difference between Jell-O (endless jostling) and a rubber ball.

Basically a value that controls how long it takes for the object to return to its original shape.

In Blender they simply call it “speed” so I guess it’s the “speed” of the simulation to resolve forces.

This same variable also can be used to create the difference between silk blowing in the wind, and thick cotton blowing in the wind.

Ah! Yes, in the plugin this is actually a combination of a few properties. Two of them are simulation wide and affect performance while the other three are per-object and have little to no performance impact.

Thank you that’s awesome!!! :smiley:

Did a performance pass this week, here are 256 cloth sheets, each with 50 particles with a single explicit collider sphere and self-collision disabled, running at over 120fps with drops to ~70fps during the simultaneous collisions:

This is running on 4 threads with the Simulation targeting 60fps with 3 substeps and 8 constraint iterations. The hardware used for the test: i7 5820k @ 4.3GHz + GTX 1080
Lowering the target simulation framerate to 30 yields well over 150fps, on average, with dips to 110fps during the simultaneous collisions.

Can’t wait for the cloth in editor. Just can’t wait. This is the future I saw and it’s awesome.

This gives me an idea!

Ok, is there a way to dynamically add/subtract colliders (to a specific cloth) during runtime?

Scenario: Close range “Free-For-All” battle of Knights with capes and cloaks, naturally you don’t want your capes to clip through nearby opponents or obstacles, but you don’t want to poll every character and prop in the map.
So what if you could add colliders to the list dynamically once they enter a certain range of the cloth (or cloth owner? idk) and they’re removed from that list once they’re beyond the “exit range” to be polled.

???
Does this mean that simulation framerate is independent from fps?

Yep, that is supported! In fact, the system already does a rough bounds check to skip colliders that are completely out of possible collision range with minimal overhead. Manually doing it would get rid of the small overhead.

Yep, this keeps the simulation running at a stable tick interval while allowing it to catch up by taking a few more steps during a lower fps and take less steps at higher fps. I can also make this a toggle, but it would add instability if the game framerate fluctuates too much.

Wow, this so much more sophisticated than I dreamed! :slight_smile:

Thank you for the answers @ this plugin seems fantastic!

Happy to hear that!

My pleasure!

Since 4.14 just dropped, the plugin will be updated on the Marketplace and GitHub by next week. This will be a “hotfix” update, new features will be in a later (giant :wink: ) update.

The new Cable Component in 4.14 is pretty sweet, but with VICODynamics your hoses can do this (among other things): :cool:

Please make sure the update is compatible with 4.13 as well - some of us can’t update till other things patch.

Depending on how much the API has changed this may or may not be doable. I’ll certainly post here once I know for sure.

Good news! Tested VICODynamics with 4.14 and nothing API wise changed, so a 4.14 build will be submitted tomorrow and Feature Update 2 will support 4.13-4.14 and maybe even 4.12.

I am honestly surprised, with the Apex 3.4 update in 4.14.

That makes two of us :slight_smile: . Though I do not use APEX anywhere, but I was expecting changes from the PhysX 3.4 update.

Master branch on GitHub is updated to UE4.14 and I just sent the new build to Epic for the Launcher version.

I meant PhysX, yes. Sorry, I mostly am focused on cloth, cloth, and more cloth.

The UE4.14 build is up on the Marketplace as of now!

Do you have a time frame on the next feature update? I bought the plugin in preparation for the cloth feature, to play around with some of the cables while I wait. Keep up the good work!