VICODynamics: a particle based Soft-Body physics Plugin

That is a fantastic catch! Thank you for reporting it, detailing a possible workaround, and for the video demoing the issue! I’ll get it fixed on my end ASAP.

Aha, that is definitely a scene proxy issue. Thank you for reporting it! I should have a fix for it (and the crash you reported) in the next update.

Hi,

I am getting constant game crashes in UE 4.26 when I play “as standalone”. In a ExplicitCollisionStressTest map, without any modifications I am getting the following message:

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00000000000012c0

UE4Editor_UnrealEd!UEditorEngine::RequestEndPlayMap() [D:\Build++UE4\Sync\Engine\Source\Editor\UnrealEd\Private\PlayLevel.cpp:1303]
UE4Editor_VICODynamicsPlugin!UVDSimulatedObject::CreateParticle() [D:\Build++Portal+Promotion\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\VICODynamicsPlugin\Source\VICODynamicsPlugin\Private\VDSimulatedObject.cpp:88]
UE4Editor_VICODynamicsPlugin!UVDProceduralClothComponent::BuildSimulatedCloth() [D:\Build++Portal+Promotion\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\VICODynamicsPlugin\Source\VICODynamicsPlugin\Private\VDProceduralClothComponent.cpp:170]
UE4Editor_VICODynamicsPlugin!UVDProceduralClothComponent::Sync() [D:\Build++Portal+Promotion\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\VICODynamicsPlugin\Source\VICODynamicsPlugin\Private\VDProceduralClothComponent.cpp:464]
UE4Editor_VICODynamicsPlugin!UVDSimulation::Tick() [D:\Build++Portal+Promotion\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\VICODynamicsPlugin\Source\VICODynamicsPlugin\Private\VDSimulation.cpp:371]
UE4Editor_Engine!FTickFunctionTask::DoTask() [D:\Build++UE4\Sync\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:284]
UE4Editor_Engine!TGraphTask::ExecuteTask() [D:\Build++UE4\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:886]
UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [D:\Build++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:709]
UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [D:\Build++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:601]
UE4Editor_Core!FTaskGraphImplementation::WaitUntilTasksComplete() [D:\Build++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:1525]
UE4Editor_Engine!FTickTaskSequencer::ReleaseTickGroup() [D:\Build++UE4\Sync\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:564]
UE4Editor_Engine!FTickTaskManager::RunTickGroup() [D:\Build++UE4\Sync\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:1578]
UE4Editor_Engine!UWorld::RunTickGroup() [D:\Build++UE4\Sync\Engine\Source\Runtime\Engine\Private\LevelTick.cpp:782]
UE4Editor_Engine!UWorld::Tick() [D:\Build++UE4\Sync\Engine\Source\Runtime\Engine\Private\LevelTick.cpp:1489]
UE4Editor_Engine!UGameEngine::Tick() [D:\Build++UE4\Sync\Engine\Source\Runtime\Engine\Private\GameEngine.cpp:1794]
UE4Editor!FEngineLoop::Tick() [D:\Build++UE4\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:4836]
UE4Editor!GuardedMain() [D:\Build++UE4\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:169]
UE4Editor!GuardedMainWrapper() [D:\Build++UE4\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:137]
UE4Editor!WinMain() [D:\Build++UE4\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:268]
UE4Editor!__scrt_common_main_seh() [d:\agent_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]

ntdll

In my project I am getting the following errors:

Fatal error!

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00000000000012c0

0x00007ffbd129caa6 UE4Editor-UnrealEd.dll!UEditorEngine::RequestEndPlayMap() [D:\Build++UE4\Sync\Engine\Source\Editor\UnrealEd\Private\PlayLevel.cpp:1303]
0x00007ffbb71b6f38 UE4Editor-VICODynamicsPlugin.dll!UVDSimulatedObject::CreateParticle() [D:\Build++Portal+Promotion\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\VICODynamicsPlugin\Source\VICODynamicsPlugin\Private\VDSimulatedObject.cpp:88]
0x00007ffbb71b2682 UE4Editor-VICODynamicsPlugin.dll!UVDProceduralClothComponent::BuildSimulatedCloth() [D:\Build++Portal+Promotion\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\VICODynamicsPlugin\Source\VICODynamicsPlugin\Private\VDProceduralClothComponent.cpp:170]
0x00007ffbb71dd25d UE4Editor-VICODynamicsPlugin.dll!UVDProceduralClothComponent::Sync() [D:\Build++Portal+Promotion\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\VICODynamicsPlugin\Source\VICODynamicsPlugin\Private\VDProceduralClothComponent.cpp:464]
0x00007ffbb71df8cd UE4Editor-VICODynamicsPlugin.dll!UVDSimulation::Tick() [D:\Build++Portal+Promotion\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\VICODynamicsPlugin\Source\VICODynamicsPlugin\Private\VDSimulation.cpp:371]
0x00007ffbd3b5297e UE4Editor-Engine.dll!FTickFunctionTask::DoTask() [D:\Build++UE4\Sync\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:284]
0x00007ffbd3b5b56f UE4Editor-Engine.dll!TGraphTask::ExecuteTask() [D:\Build++UE4\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:886]
0x00007ffc0b0aecdc UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksNamedThread() [D:\Build++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:709]
0x00007ffc0b0af0ce UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksUntilQuit() [D:\Build++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:601]
0x00007ffc0b0c08fd UE4Editor-Core.dll!FTaskGraphImplementation::WaitUntilTasksComplete() [D:\Build++UE4\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:1525]
0x00007ffbd3b78464 UE4Editor-Engine.dll!FTickTaskSequencer::ReleaseTickGroup() [D:\Build++UE4\Sync\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:564]
0x00007ffbd3b7edaa UE4Editor-Engine.dll!FTickTaskManager::RunTickGroup() [D:\Build++UE4\Sync\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:1578]
0x00007ffbd329ad8f UE4Editor-Engine.dll!UWorld::RunTickGroup() [D:\Build++UE4\Sync\Engine\Source\Runtime\Engine\Private\LevelTick.cpp:782]
0x00007ffbd32a659d UE4Editor-Engine.dll!UWorld::Tick() [D:\Build++UE4\Sync\Engine\Source\Runtime\Engine\Private\LevelTick.cpp:1489]
0x00007ffbd3078a2d UE4Editor-Engine.dll!UGameEngine::Tick() [D:\Build++UE4\Sync\Engine\Source\Runtime\Engine\Private\GameEngine.cpp:1794]
0x00007ff72ee59bc2 UE4Editor.exe!FEngineLoop::Tick() [D:\Build++UE4\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:4836]
0x00007ff72ee7117c UE4Editor.exe!GuardedMain() [D:\Build++UE4\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:169]
0x00007ff72ee7125a UE4Editor.exe!GuardedMainWrapper() [D:\Build++UE4\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:137]
0x00007ff72ee852bd UE4Editor.exe!WinMain() [D:\Build++UE4\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:268]
0x00007ff72ee87fea UE4Editor.exe!__scrt_common_main_seh() [d:\agent_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
0x00007ffc50f37034 .DLL!UnknownFunction []
0x00007ffc51e02651 ntdll.dll!UnknownFunction []

I understand you are busy, can you please add me to the GitHub, I have sent an email request.

Kind regards and thank you for support.

@ Hi, I am trying to use Tesselation on your Ropes to make them appear more smooth and rounded when being bend. Unfortunenately I get these strange effects with Tesselation applied:
image
Looks a little bit like some of the vertices inside the rope mesh are not connected and when getting tesselated and smoothed the move away from each other. Note that this only happens with PN Triangles Tesselation mode. Flat Tesselation works fine but doesnt smooth the mesh and thus is useless in my case.

Hi,

We put in an access request via the vdue email address last week from my company’s email, but haven’t had a reply yet. I figured I’d leave a message here just in case it slipped through. :slight_smile:

Loving the plugin so far, super excited to work with the source code! Thanks so much in advance for your time and support!

Cheers,

Chris @ Auroch Digital

Hello, I have been using your plugin in one of my projects. I recently added Level Streaming support when changing levels for my project. However, I have noticed that intermittently when unloading levels it will crash my game referencing a null pointer in the vicodynamics plugin. Have you come across this before? Is there anything I can do to fix this?

When packaging a build, the VDCloth mesh is not visible in the packaged build. Anyone know why that might be?

EDIT: NVM it was caused by the static mesh not having Allow CPU Access set to true

Is there an ETA on the Volume Preserving tech? I looked in the source code, but it seems to be disabled for now. Even an experimental version would be awesome since we are looking to leverage it soon

2 Likes

Hi there! Does anyone have an example of a material that can be used on the basic rope? I’m using 4.24.

Thanks!

Hi,

I’ve sent a email request for source code access a week ago, haven’t had a reply yet, pinging here just in case :slightly_smiling_face:

Also, I have noticed the same bug with cloth simulation as mentioned earlier here (VICO Plugin Test - YouTube) - is it still actual/is there workaround? Using 4.27.1

Btw, great plugin, looking forward to next updates!

Thanks in advance!

Hello! I just got this to go along with UE4 Chaos in its preview 2, but i’m getting an error on opening any project with it. (It does work fine on usual 4.27 though, it’s just the only plugin that somehow doesn’t copy to Chaos preview 2 perfectly)

It seems to indicate that it can’t get any of the physx actors/interface? You’d think Epic would mostly just turn on the Chaos settings instead of removing anything but worst case scenario might be building from source. Ugh.

(X) The procedure entry point
?GetPxRigidActor_AssumesLocked@FPhysicsInterface_Physx@@SAPEAVPxRigidActor@physx@@AEBUFPhysicsActorHandle_Physx@@@Z
could not be located in the dynamic link library__ (Buncha folder names linking to the plugin page) UE4Editor-VICODynamicsPlugin.dll

Edit: Ok, I tried building the plugin from source along with Chaos and i’m starting to think maybe it just doesn’t work with Chaos.

I am in 4.27 and also can’t change cable width at runtime.

Chaos and UE5 support have been pushed to the repo. Chaos support will be put up as an update to the Launcher version next week along with RTX fixes, multithreading improvements, performance improvements and Procedural cloth rendering bug fixes.
If you have access to the plugin repo, try out the UE5_Support branch for UE5 and the Rigid_Body_Rework branch for Chaos support. More awesome stuff coming soon as well!
If you do not have access to the repo and have purchased the plugin on the Marketplace, just email your proof-of-purchase and GitHub username to vdue4@.com and I’ll set you up with access.

Also, in case you did not already know: volume preservation is now supported by VDMeshCloth components with fine tune controls and runtime volume adjustments! (In both, Marketplace and repo versions)

3 Likes

OMG, that’s SUPER exciting to hear! THANK YOU a ton!
Although, since it’s UE5, I may have to take you up on that offer once it’s become more stable and it doesn’t hard crash my pc consistently. But I absolutely will loop back to VICO the first chance I get!

Hello, during past months I have been developing VR Mech-game. I have a problems with physics and not sure how to solve it. I have some VicoPhysics cables in mech cockpit.

Physics cables are acting pretty decently when I don’t move mech, but when I start moving or turning with mech, velocity makes my cables go bonkers as you can see from the video. Cable component has it’s own blueprint and it’s attached to Mech’s blueprint.

Any ideas how I can stabilize cables when I’m moving with mech?

I would like also to thank you about great product. I have used VicoDynamics Plugin on my other VR-projects too. Here’s one example:

2 Likes

HI, Im trying to compile to a quest2 headset, the ropes (that work in windows) are failing to load ?

I do get a message On loading the project

Failed to load /Game/ExampleContent/MaterialInstances/Materials/M_Arrows.M_Arrows Referenced by VDRope_GEN_VARIABLE

Which may be stopping the plugin from being compiled?

Guess it would have been better to post the loglinker output

LogVICODynamics: Display: Loading VICO Dynamics Plugin.
  LogVICODynamics: Display: VICODynamics DLL Folder found: "../../../Engine/Plugins/Marketplace/VICODynamicsPlugin/Source/VICODynamicsPlugin/VICODynamics/Lib/Win64/"!
  LogVICODynamics: Display: VICO Dynamics plugin is loaded.
  LogClass: Display: ByteProperty FVDCollisionSettings::ObjectType is not initialized properly. Module:VICODynamicsPlugin File:Public/VDSimulatedObject.h
  LogClass: Display: ByteProperty FVDCollisionSettings::CollisionEnabled is not initialized properly. Module:VICODynamicsPlugin File:Public/VDSimulatedObject.h
  

The only mentions now in the output log. Ropes fail to appear still ?

First off, that looks awesome! Thank you for sharing your use-cases and for the kind words. Love seeing how the plugin ends up being used in other cool projects.

Regarding the cables going nuts in the mech, I bet it’s due to them being simulated in world-space and having a bit too much happen around them. Simulating them in component-space should resolve this. Do you already have access to the GitHub repo?
I implemented component-space simulation for another project, but it was done in a hurry due to deadlines so it needs further testing. If you are up for it, I’d be happy to have you test it out in the mech. Let me know and I’ll get things setup.

Thank you for providing the log. Yeah, strange, no errors…
Are you using the plugin from the GitHub repo or straight from the Marketplace? What version of UE4 are you targeting?

Hi,

Using the marketplace plugin, UE 4.27.

Tried Vulkan and ES3 render, thinking it might be a render problem, but appears they are just not being loaded?

Works to RIft headset so seems a problem with android output ?

android SDK 29