Announcement

Collapse
No announcement yet.

VICODynamics: a particle based Soft-Body physics Plugin

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Originally posted by a . n . t View Post
    Hello! The plugin looks amazing and I'm very interested in the potential it has to offer!

    I have a question regarding the cloth mesh (the cube-like or sphere-like objects in the demos). Would the plugin allow to do some fake soft-body tissue deformation that allows stretching when pulling from specific points that would return to rest position when you let go?
    Also, can one create 'internal constraints between parts of the mesh? So, instead of constraining two different objects to each other, you constraints parts of the same mesh together so that one can effectively 'cut' through the constraints and separate these parts.

    I am trying to achieve a soft-body incision effect, where you have a volumetric mesh which you can pull from any point the user interacts with, and said mesh has a whole in the middle which has been pre-cut, just so happens to be constrained together (making the illusion that it isn't cut yet), so the user can cut through those constraints regardless of the state of the mesh.


    Constraints running between cut in mesh
    I hope this pic makes sense, I tried to make it as simple as possible (obviously don't take mesh resolution into consideration, made it so to avoid confusion) - The big square would be this flexible soft tissue (where you can pick and pull from multiple points) and the middle part is a hole which happens to have the vertices 'stuck' together. When cutting through the (red) constraints, this hole becomes more apparent.

    Thanks! Any feedback would be greatly appreciated.
    Replied to your email, thank you for clarifying how you are looking to use the plugin. Based on the use case you described, VICODynamics should fit your needs with a few additional logic additions for the stitching and cutting of the stitched constraints.
    Owner of VICO Game Studio LLC
    Twitter: @VICO_GameStudio
    Current Projects:
    Action Arcade Wrestling in collaboration with Dave Horn (@Action937) - https://www.actionarcadewrestling.com/
    VICO Dynamics Physics Library - Details: https://www.vicogamestudio.com/projects/vico-dynamics

    Comment


      Originally posted by Mad_MaxGC View Post
      Hi, I am having a problem when I try to create a component in c ++. After adding #include "VDMeshClothComponent.h" , it gives the following error:

      Click image for larger version

Name:	Error.png
Views:	244
Size:	10.4 KB
ID:	1816779 Click image for larger version

Name:	Code.png
Views:	262
Size:	13.1 KB
ID:	1816778‚Äč
      Also, is it possible for a soft body to respond to linear traces? I've tried changing the collisions, but it looks like the trace doesn't recognize the mesh.
      The plugin does require PhysX to be used by the engine (for now, I'm getting rid of this requirement soon) so this masyu be the issue you are seeing. Does your project target a platform which does not support PhysX?

      UE4 traces do not work because the soft-bodies are not part of UE's physics system, but you can either use the two queries that come with the plugin or attach hidden trace colliders to the soft-body for use with UE's traces. I can go into more detail if you'd like
      Owner of VICO Game Studio LLC
      Twitter: @VICO_GameStudio
      Current Projects:
      Action Arcade Wrestling in collaboration with Dave Horn (@Action937) - https://www.actionarcadewrestling.com/
      VICO Dynamics Physics Library - Details: https://www.vicogamestudio.com/projects/vico-dynamics

      Comment


        Originally posted by VICOGameStudio View Post

        The plugin does require PhysX to be used by the engine (for now, I'm getting rid of this requirement soon) so this masyu be the issue you are seeing. Does your project target a platform which does not support PhysX?

        UE4 traces do not work because the soft-bodies are not part of UE's physics system, but you can either use the two queries that come with the plugin or attach hidden trace colliders to the soft-body for use with UE's traces. I can go into more detail if you'd like
        Thanks for your reply.
        1) Can you tell us more about how to connect the plugin so that it can be used with C++? Now I just added "VICODynamicsPlugin" to the PublicDependencyModuleNames in my build.cs file, and I think so that I am probably missing something. Supported platform for project is Win64.
        2) It would be nice if you could give more information about this two queries.
        3) This question was already above, can you suggest a more convenient way to grab cloth? How to you disable simulation?
        Last edited by Mad_MaxGC; 10-01-2020, 09:07 AM.

        Comment


          I have seen that the volume preserving soft body feature is still upcoming, do you have an ETA for this/is the beta version available? Also, with that feature, do you allow vertex resampling? Like let's say I have a 50k vertex mesh that I want to display, but the simulation runs on a LoD or something else so it only simulates say 5k vertices? Thanks!

          Edit: Also is this all supported for skeletal meshes?

          Comment


            Originally posted by NewRunDMC View Post
            I have seen that the volume preserving soft body feature is still upcoming, do you have an ETA for this/is the beta version available? Also, with that feature, do you allow vertex resampling? Like let's say I have a 50k vertex mesh that I want to display, but the simulation runs on a LoD or something else so it only simulates say 5k vertices? Thanks!

            Edit: Also is this all supported for skeletal meshes?
            Volume-preserving soft-bodies were part of the previous update .
            Resampling is not implemented yet, but definitely will be! A client actually got it all implemented for their game, but was unable to share it fully.

            Skeletal meshes are not supported at this time, but this is another big feature that I will be adding.
            Owner of VICO Game Studio LLC
            Twitter: @VICO_GameStudio
            Current Projects:
            Action Arcade Wrestling in collaboration with Dave Horn (@Action937) - https://www.actionarcadewrestling.com/
            VICO Dynamics Physics Library - Details: https://www.vicogamestudio.com/projects/vico-dynamics

            Comment


              Originally posted by Mad_MaxGC View Post

              Thanks for your reply.
              1) Can you tell us more about how to connect the plugin so that it can be used with C++? Now I just added "VICODynamicsPlugin" to the PublicDependencyModuleNames in my build.cs file, and I think so that I am probably missing something. Supported platform for project is Win64.
              2) It would be nice if you could give more information about this two queries.
              3) This question was already above, can you suggest a more convenient way to grab cloth? How to you disable simulation?
              1. That should be enough... hmm. Try also adding it to your .uproject file in the main modules "AdditionalDependencies" array and then regenerating the VS project files
              2. They are QueryBoxOverlaps and QuerySphereOverlaps, they are part of VDSimulation. I've not added trace queries yet, but they are on my to-do list. If these are not sufficient and you want proper traces, I'd suggest attaching colliders to the soft-body just for use with traces as a workaround for now.
              3. Grabbing can be done by either doing a simple per-particle distance check and attaching all particles within that distance to your component via AttachTo* functions in the particles. Or doing the aforementioned overlap queries. To disable simulation, you can use the ToggleSimulation() function of the particles. But I did not mark it BlueprintCallable, oversight on my part.
              Owner of VICO Game Studio LLC
              Twitter: @VICO_GameStudio
              Current Projects:
              Action Arcade Wrestling in collaboration with Dave Horn (@Action937) - https://www.actionarcadewrestling.com/
              VICO Dynamics Physics Library - Details: https://www.vicogamestudio.com/projects/vico-dynamics

              Comment


                Hi. Any ETA for new updates?

                Noob question: Would it be easy to integrate to the Horror Engine ? Thank you

                Comment


                  Hello everybody!

                  Just wondering what's the intended way to attach and detach VDRopeComponent or should i say particle to other mesh components??
                  After attaching/detaching do I have to call something? Like Sync() or something like that?

                  The problem I'm having is when i try to attach the end particle to mesh component, while setting "SimulateTension" to true. I am trying to attach to mesh component that is simulating physics and has collision profile set to "BlockAll". This happens:

                  Click image for larger version

Name:	screenshot-min.png
Views:	147
Size:	354.8 KB
ID:	1822817

                  How to fix wrong length between last particles?

                  Thank you in advance!

                  Comment


                    Originally posted by aoshi11 View Post
                    Hi. Any ETA for new updates?

                    Noob question: Would it be easy to integrate to the Horror Engine ? Thank you
                    No ETA just yet, but I'm pushing to get Chaos support put in next.

                    I don't see why there would be issues between the two plugins. I think it should work just fine.
                    Owner of VICO Game Studio LLC
                    Twitter: @VICO_GameStudio
                    Current Projects:
                    Action Arcade Wrestling in collaboration with Dave Horn (@Action937) - https://www.actionarcadewrestling.com/
                    VICO Dynamics Physics Library - Details: https://www.vicogamestudio.com/projects/vico-dynamics

                    Comment


                      Originally posted by pele90 View Post
                      Hello everybody!

                      Just wondering what's the intended way to attach and detach VDRopeComponent or should i say particle to other mesh components??
                      After attaching/detaching do I have to call something? Like Sync() or something like that?

                      The problem I'm having is when i try to attach the end particle to mesh component, while setting "SimulateTension" to true. I am trying to attach to mesh component that is simulating physics and has collision profile set to "BlockAll". This happens:

                      Click image for larger version

Name:	screenshot-min.png
Views:	147
Size:	354.8 KB
ID:	1822817

                      How to fix wrong length between last particles?

                      Thank you in advance!
                      Is there a volume around the other mesh? If so, it may be colliding with the particles and you simply need to tell the two to filter the other out.
                      Owner of VICO Game Studio LLC
                      Twitter: @VICO_GameStudio
                      Current Projects:
                      Action Arcade Wrestling in collaboration with Dave Horn (@Action937) - https://www.actionarcadewrestling.com/
                      VICO Dynamics Physics Library - Details: https://www.vicogamestudio.com/projects/vico-dynamics

                      Comment


                        I managed to fix the part of the problem with the last particle being apart from the attaching mesh using "SnapToSimulatingAttachment". But now, the last particle is streched from the rest of the rope. Already tried with changing the mass of the rope and the attached rigid object, but with no success.
                        Also, there is not any volume around the mesh.

                        The main problem is when the last particle is detached it gets stuck in space and has red sphere, meaning it is still attached. I am trying not to reset the rope and build it again, because when it is rebuilded, the rope jumps wildly probably due to the collision with the terrain.

                        Maybe any other idea?

                        Thanks for the response
                        Last edited by pele90; 10-21-2020, 03:02 AM.

                        Comment


                          Hi, I bought the plugin for a project last week and it works great. I used it for the Dynamic ropes but I intend on using the other stuff on another project.

                          We delivered the last build to the client. Unfortunately it crashes whenever they try spawning a rope. I was looking around about crashes for this plugin and it seems to crash sometimes with AMD CPU because of SS4 support. So I looked into the sources for some define to disable SS4 as you said here since we are building from sources.

                          For you information the crash log and dump give a :
                          Unhandled exception : The thread tried to execute an invalid instruction

                          Our client's config is :

                          Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz
                          Radeon (TM) RX 470 Graphics
                          Windows 10 (Release 1909)

                          I might have packaged the project wrong tho, but it does work on my coworkers machines that all have a NVidia GPU. Do you have any idea where that could come from ? Thanks

                          Comment


                            Originally posted by pele90 View Post
                            I managed to fix the part of the problem with the last particle being apart from the attaching mesh using "SnapToSimulatingAttachment". But now, the last particle is streched from the rest of the rope. Already tried with changing the mass of the rope and the attached rigid object, but with no success.
                            Also, there is not any volume around the mesh.

                            The main problem is when the last particle is detached it gets stuck in space and has red sphere, meaning it is still attached. I am trying not to reset the rope and build it again, because when it is rebuilded, the rope jumps wildly probably due to the collision with the terrain.

                            Maybe any other idea?

                            Thanks for the response
                            Are you able to replicate this in a new project? If so, could you send it over to debug?

                            After detaching, try calling SetIsFree on that particle with true. Let me know if that resolves it.
                            Owner of VICO Game Studio LLC
                            Twitter: @VICO_GameStudio
                            Current Projects:
                            Action Arcade Wrestling in collaboration with Dave Horn (@Action937) - https://www.actionarcadewrestling.com/
                            VICO Dynamics Physics Library - Details: https://www.vicogamestudio.com/projects/vico-dynamics

                            Comment


                              Originally posted by Garazbolg View Post
                              Hi, I bought the plugin for a project last week and it works great. I used it for the Dynamic ropes but I intend on using the other stuff on another project.

                              We delivered the last build to the client. Unfortunately it crashes whenever they try spawning a rope. I was looking around about crashes for this plugin and it seems to crash sometimes with AMD CPU because of SS4 support. So I looked into the sources for some define to disable SS4 as you said here since we are building from sources.

                              For you information the crash log and dump give a :
                              Unhandled exception : The thread tried to execute an invalid instruction

                              Our client's config is :

                              Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz
                              Radeon (TM) RX 470 Graphics
                              Windows 10 (Release 1909)

                              I might have packaged the project wrong tho, but it does work on my coworkers machines that all have a NVidia GPU. Do you have any idea where that could come from ? Thanks
                              This looks like a lack of support for Fused Multiply-Add instructions... VICO can be compiled without them, do you have access to the two repos?
                              Owner of VICO Game Studio LLC
                              Twitter: @VICO_GameStudio
                              Current Projects:
                              Action Arcade Wrestling in collaboration with Dave Horn (@Action937) - https://www.actionarcadewrestling.com/
                              VICO Dynamics Physics Library - Details: https://www.vicogamestudio.com/projects/vico-dynamics

                              Comment


                                Originally posted by VICOGameStudio View Post

                                This looks like a lack of support for Fused Multiply-Add instructions... VICO can be compiled without them, do you have access to the two repos?
                                I don't think I do. Is there maybe a build somewhere without them ?

                                Comment

                                Working...
                                X