VICODynamics: a particle based Soft-Body physics Plugin

Hey there @ ,

if I want to use more than one “hull mesh” or “procedural mesh” in my scene the packaged project crashes every time.

Though, I set 10240 to the “Reserve Particle Budget” field in the Project Settings (just like you did in your example project : ), but the game still crashes all the time,however in the PIE or Standalone Game mode in the editor there is no such a problem if the particle budget is fine (as I experienced).

In the Engine’s Output Log there is a Log line, which says this info:


LogVICODynamics: VeryVerbose: VICODynamics Stats - Particle count: 882, Constraint count: 8818

I’m on 4.18.3 and in the scene there is a “VDWindDirectionalSourceActor” too to simulate wind effect. Any suggestions?

Hey Jim,

I suspect the settings are not being utilized when packaging. You can look at the packaged configs, if not using .pak file, in ‘PackagedFolder’/‘Game’/Config/DefaultEngine.ini look for the VICODynamicsPlugin.VICODynamicsSettings section towards the bottom. If it exists, compare the values and if it is not there, we know what the problem is :slight_smile:

Try this: in Project Settings -> VICO Dynamics, at the top right corner you should see a ‘Set Default’ button. Press that, confirm the change and package your game once more. This will apply the settings to the project defaults which are used during packaging.

Let me know how it goes. Hope that helped and let me know if you have further questions.

Thank you @, that “Set as Default” button does the trick and it’s working like a charm now! :slight_smile:

Just a quick question: how is the fluid sim going? Any GIF or sneak-peak info? I read the whole forum thread yesterday (when I searched for the fix I just asked above) and I liked how active & informative was you under the development cycle and how you shared the progress of this neat plugin, so I’m very curious about the fluid particles sim state. :rolleyes:

Okey, so another day, another question. Today I updated my project to 4.19, and everything is nice except these ugly red lines in my output log after I hit play in PIE:


LogOutputDevice: Error: === Handled ensure: ===
LogOutputDevice: Error: Ensure condition failed: Component->HasBegunPlay() [File:D:\Build\++UE4+Release-4.19+Compile\Sync\Engine\Source\Runtime\Engine\Private\Actor.cpp] [Line: 3129]
LogOutputDevice: Error: Failed to route BeginPlay (VDMeshClothComponent /Game/Levels/_PrototypeMaps/UEDPIE_0_LVL_Testing.LVL_Testing:PersistentLevel.Mesh_Cloth_378.VDMeshCloth)
LogOutputDevice: Error: Stack:
LogOutputDevice: Error: [Callstack] 0x0000000052B2BA76 UE4Editor-Core.dll!FWindowsPlatformStackWalk::StackWalkAndDump() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\windows\windowsplatformstackwalk.cpp:234]
LogOutputDevice: Error: [Callstack] 0x000000005288AE3A UE4Editor-Core.dll!FDebug::EnsureFailed() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:299]
LogOutputDevice: Error: [Callstack] 0x000000005289ECD6 UE4Editor-Core.dll!FDebug::OptionallyLogFormattedEnsureMessageReturningFalse() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:430]
LogOutputDevice: Error: [Callstack] 0x000000002C78A2D5 UE4Editor-Engine.dll!AActor::BeginPlay() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private\actor.cpp:3129]
LogOutputDevice: Error: [Callstack] 0x000000002C7972FB UE4Editor-Engine.dll!AActor::DispatchBeginPlay() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private\actor.cpp:3107]
LogOutputDevice: Error: [Callstack] 0x000000002DA4A253 UE4Editor-Engine.dll!AWorldSettings::NotifyBeginPlay() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private\worldsettings.cpp:189]
LogOutputDevice: Error: [Callstack] 0x000000002CF0EF51 UE4Editor-Engine.dll!AGameStateBase::HandleBeginPlay() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private\gamestatebase.cpp:177]
LogOutputDevice: Error: [Callstack] 0x000000002DA3356E UE4Editor-Engine.dll!UWorld::BeginPlay() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private\world.cpp:3536]
LogOutputDevice: Error: [Callstack] 0x000000002CF33C5E UE4Editor-Engine.dll!UGameInstance::StartPlayInEditorGameInstance() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private\gameinstance.cpp:355]
LogOutputDevice: Error: [Callstack] 0x000000004D1026F0 UE4Editor-UnrealEd.dll!UEditorEngine::CreatePIEGameInstance() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\unrealed\private\playlevel.cpp:3274]
LogOutputDevice: Error: [Callstack] 0x000000004D121156 UE4Editor-UnrealEd.dll!UEditorEngine::PlayInEditor() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\unrealed\private\playlevel.cpp:2410]
LogOutputDevice: Error: [Callstack] 0x000000004D13BAFF UE4Editor-UnrealEd.dll!UEditorEngine::StartQueuedPlayMapRequest() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\unrealed\private\playlevel.cpp:1271]
LogOutputDevice: Error: [Callstack] 0x000000004CBAC961 UE4Editor-UnrealEd.dll!UEditorEngine::Tick() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\unrealed\private\editorengine.cpp:1581]
LogOutputDevice: Error: [Callstack] 0x000000004D449526 UE4Editor-UnrealEd.dll!UUnrealEdEngine::Tick() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\unrealed\private\unrealedengine.cpp:401]
LogOutputDevice: Error: [Callstack] 0x00000000B6D65EAC UE4Editor.exe!FEngineLoop::Tick() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3339]
LogOutputDevice: Error: [Callstack] 0x00000000B6D76BD0 UE4Editor.exe!GuardedMain() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\launch.cpp:166]
LogOutputDevice: Error: [Callstack] 0x00000000B6D76C4A UE4Editor.exe!GuardedMainWrapper() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
LogOutputDevice: Error: [Callstack] 0x00000000B6D84149 UE4Editor.exe!WinMain() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
LogOutputDevice: Error: [Callstack] 0x00000000B6D85B57 UE4Editor.exe!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
LogOutputDevice: Error: [Callstack] 0x000000007CE01FE4 .DLL!UnknownFunction ]
LogOutputDevice: Error: [Callstack] 0x000000007D05EFC1 ntdll.dll!UnknownFunction ]

They showing up only the first time I hit play in PIE, after I stop and play again never comes back, so just after a fresh project start and the first play. Otherwise the particles’ sim is fine, no anomalies detected when I play.

Opinion @?

I have actually never seen that error… I would put it down as a UE4-side bug for now. It is not directly caused by the VD* component, but seems to stem from within the Actor class when that VD* component is getting setup. If it persists after the next UE4 hotfix, let me know and I’ll investigate further.

Alright, got it, it’s not critical as I see right now (no crash or anything, just a little delayed “hiccup” at first play in PIE).

Anyway, any shareable info about the fluid sim part from my previous question or it’s “classified” for now? :rolleyes:

Not classified :slight_smile: . Current target is volume-preserving soft-bodies, once these are in, I’ll move onto fluids.

Sounds cool, thanks! I’m very curious indeed, just keep up the good work! :slight_smile:

The new version of UE4 is out now (updated to 4.19.1), but the handled ensure error is sadly still there. :frowning:

I double checked the VICO Dynamics example project and the errors are there too (you can check it with a non-source build engine) in the output log and the PIE lag at begin play.

Gotcha! I will look into it next week. Thank you, Jim.

No problem, yw! :wink:

Good news! Found the cause of the ensure, easy fix. I’ll have the hotfix submitted Monday. Thank you again for reporting it.

Supercool, thanks! :slight_smile:

Do feel free to elaborate, detailed and constructive feedback helps me improve this plugin and is always welcome.

Quick update: Switch code will be pushed to the repo and ready for production use! Anyone with access to the physics library Git repo will be able to grab it from master once pushed. There will also be a push to the plugin repo for all of the supporting UE4 Switch bits. If you do not yet have access to the repos and you already purchased the plugin, simply email your purchase invoice to vdue4@.com along with your GitHub username.

There will be a smaller feature-update before the big one to get a few requested features in such as hit/overlap events, improvements to the tension constraints and a few others. The big feature-update will bring volume-preserving soft bodies.

Will the big update include cloth that stays where you put it and does not slide?

Yes, I have identified the cause and it is a matter of getting a fix put in. I will try to get it into the earlier update if time allows!

That would be awesome if Christmas could come early this year :smiley:

Just got the email from Epic, the hotfix is live. Could you please give it a test?

Jepp’ I can confirm the fix works like a charm, so no ugly red lines in my output log and no “hiccup” at first time when I play in PIE, thank you! :wink: