Announcement

Collapse
No announcement yet.

VR Expansion Plugin

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

    Thanks for the info, got the example project up and running today and created something I have been trying to do for a while.
    The issue was that I needed to create a C++ project within Visaul studio for it to ask me to install extra tools. Only after installing the extra tools it would then compile.

    Took me some time to understand the actor structure using the GrippableStaticMeshActor, I used the door as a reference.
    Using the physics constraints is a very nice way to work. Noticed some small issues with grabbing the mesh but nothing I can't work round (I need to add some trigger checks).

    Thank you so much for building this.
    Last edited by superme2015; 02-12-2017, 03:37 PM.

    Comment


      Originally posted by superme2015 View Post
      Thanks for the info, got the example project up and running today and created something I have been trying to do for a while.
      The issue was that I needed to create a C++ project within Visaul studio for it to ask me to install extra tools. Only after installing the extra tools it would then compile.

      Took me some time to understand the actor structure using the GrippableStaticMeshActor, I used the door as a reference.
      Using the physics constraints is a very nice way to work. Noticed some small issues with grabbing the mesh but nothing I can't work round (I need to add some trigger checks).

      Thank you so much for building this.
      What small issues exactly?


      Consider supporting me on patreon

      My Open source tools and plugins
      Advanced Sessions Plugin
      VR Expansion Plugin

      Comment


        Originally posted by mordentral View Post
        What small issues exactly?
        I just tested it again, I didn't know at first that when grabbing the object it grabs it by the mesh. I assumed it was the grabbing the collision volume of the object (like the blue UE4 vr box).

        When I was grabbing the object quickly, the orb was passing through the mesh giving me the impression it was not grabbing correctly.

        I can work around this by adding handles to the objects, this also helps indicate where to grab.

        However is it possible to grab the object by its collider or volume? My first impression is that "GrippableBox Component" may be the answer?
        Last edited by superme2015; 02-13-2017, 06:11 AM.

        Comment


          Originally posted by superme2015 View Post
          I just tested it again, I didn't know at first that when grabbing the object it grabs it by the mesh. I assumed it was the grabbing the collision volume of the object (like the blue UE4 vr box).

          When I was grabbing the object quickly, the orb was passing through the mesh giving me the impression it was not grabbing correctly.

          I can work around this by adding handles to the objects, this also helps indicate where to grab.

          However is it possible to grab the object by its collider or volume? My first impression is that "GrippableBox Component" may be the answer?
          I have it set in my trace function (blueprint) in the template to trace against complex collision as it is more accurate, if you change the trace to trace against simple collision then it will go off of that instead. The plugin itself doesn't define where to grip an object at, it is given an offset from the hand that you want to keep something and then does its best to maintain that offset distance. I use sockets to define snap points on meshes for simplicities sake, you could also just pass in a custom relative transform instead with whatever you want.


          Consider supporting me on patreon

          My Open source tools and plugins
          Advanced Sessions Plugin
          VR Expansion Plugin

          Comment


            Originally posted by mordentral View Post
            I have it set in my trace function (blueprint) in the template to trace against complex collision as it is more accurate, if you change the trace to trace against simple collision then it will go off of that instead. The plugin itself doesn't define where to grip an object at, it is given an offset from the hand that you want to keep something and then does its best to maintain that offset distance. I use sockets to define snap points on meshes for simplicities sake, you could also just pass in a custom relative transform instead with whatever you want.
            If I'm understanding you correctly the trace function (blueprint) would be part of the controller (red lined sphere used to grab stuff), I guess that would be part of the VR Simple Character?
            Im a little new to UE4 so not sure where that VRSimpleCharacter Pawn is, I guess its hidden by default?

            Any way I just made my second interaction using your system, its a primitive way of setting an object in place.
            For example a key in a door or in my case a keycard in a terminal :0..

            Like the idea of sockets will test that out at some point time.

            Hmmmmm, what to make next.. You made a utility belt I think (fat belly to stick stuff to ? I will experiment with that.

            Comment


              Originally posted by heimspiel View Post
              Hello,
              I used the plugin but there is no hand animation. How can I get animation on the hands? Is there a simple trick?
              It works in the latest 4.15 version of the plugin, not with the normal donwload.

              https://bitbucket.org/mordentral/vre...ugin/branches/


              PS: thanxx a million again mordentral for doing it, i know you are busy !!
              Andy Probst
              Head of R&D / VR - Meilenstein Digital GmbH

              Comment


                Hi Mordentral,

                Amazing plugin!! thank you so much for sharing it, it is really good an very easy to use, I ported it to my project in just a few minutes

                One question, Is it possible to make it work in slowmo? I'm developing a Gladiator game, and the physics go crazy when I activate the slowmo(I set global time dilation to 0.05). I tried to compensate the time dilation on the weapon actor with no luck.

                Is there any way to make it work?

                Thanks!!

                Comment


                  Originally posted by jawatr View Post
                  Hi Mordentral,

                  Amazing plugin!! thank you so much for sharing it, it is really good an very easy to use, I ported it to my project in just a few minutes

                  One question, Is it possible to make it work in slowmo? I'm developing a Gladiator game, and the physics go crazy when I activate the slowmo(I set global time dilation to 0.05). I tried to compensate the time dilation on the weapon actor with no luck.

                  Is there any way to make it work?

                  Thanks!!
                  I'm sorry to tell you that as far as I am aware this is a physx issue that has persisted since UE4 came out where time dilation doesn't work correctly with physics. I think its been reported but I've never seen a fix log for it. Physics runs on a seperate thread from the game thread and since it doesn't appear to be taking up the dilation at the same time it likely would have issues since it would be running the simulation at a different speed from the game thread, or at least that is what I assume from the jumpy behavior I have seen it cause.

                  I wouldn't know where to look for a fix, never had a need for slow motion physics so I have never looked at it.
                  Last edited by mordentral; 02-13-2017, 08:56 PM.


                  Consider supporting me on patreon

                  My Open source tools and plugins
                  Advanced Sessions Plugin
                  VR Expansion Plugin

                  Comment


                    Originally posted by mordentral View Post
                    I'm sorry to tell you that as far as I am aware this is a physx issue that has persisted since UE4 came out where time dilation doesn't work correctly with physics. I think its been reported but I've never seen a fix log for it. Physics runs on a seperate thread from the game thread and since it doesn't appear to be taking up the dilation at the same time it likely would have issues since it would be running the simulation at a different speed from the game thread, or at least that is what I assume from the jumpy behavior I have seen it cause.

                    I wouldn't know where to look for a fix, never had a need for slow motion physics so I have never looked at it.
                    Ok, thanks! I will have to find another solution then... It really goes beyond my current skills to go and try to fix Physx

                    Comment


                      Originally posted by jawatr View Post
                      Ok, thanks! I will have to find another solution then... It really goes beyond my current skills to go and try to fix Physx
                      I mean there might be a workaround, like I said its not VR related and I never had cause to look into it, just ran into reports of it from time to time.


                      Consider supporting me on patreon

                      My Open source tools and plugins
                      Advanced Sessions Plugin
                      VR Expansion Plugin

                      Comment


                        Hello Mordentral,

                        Very impressive work so far and thanks for sharing it.
                        I have one question. Can i migrate or recreate the grabbable functionality of the gun in clear project, or i need to use the plugin?

                        Have a nice day !

                        Comment


                          Originally posted by GameDev33 View Post
                          Hello Mordentral,

                          Very impressive work so far and thanks for sharing it.
                          I have one question. Can i migrate or recreate the grabbable functionality of the gun in clear project, or i need to use the plugin?

                          Have a nice day !
                          If you mean could it be made without the plugin:

                          You could certainly recreate the use of an interface and double gripping and most of the functionality in a blueprint project yourself. But it wouldn't be totally easy and some of the things like the direct late updates control isn't possible without really hackish workarounds like attach/detach over and over.

                          Mitch's tutorials are the current closest you can get to that. I would suggest you check them out if a plugin is too technical for you or you don't want to deal with one.


                          If you mean could you port the gun directly into another project but without the plugin and get it to work:


                          No


                          Consider supporting me on patreon

                          My Open source tools and plugins
                          Advanced Sessions Plugin
                          VR Expansion Plugin

                          Comment


                            Pushed a new commit to the plugin and the example template for the 4.15 alpha branches

                            Plugin Changes

                            Code:
                            Added IsHeld and SetHeld to VRGripInterface, the plugin automatically calls SetHeld in the NotifyGrip function to send the gripping controller and boolean IsHeld
                            to the interface implementing actor. This is most useful when there are multiple characters to quickly check if an interface object is already gripped.
                            
                            Added IsHeld and HoldingController variables to the VRGripInterfaceProperties structure.
                            
                            All pre-made grippable actors / components fill out the new IsHeld and HoldingController variables.

                            Template Changes

                            Code:
                            Added a mirror actor that activates when you step in front of it, don't know why, sounded like fun
                            
                            Added hand animations back in to the default hands, if the controller generation code is off they will function just like the Epic Template hands.
                            
                            Made use of new IsHeld interface function to deny gripping on objects that other characters are already holding (for multiplayer)
                            
                            Converted Epics pickup cubes so that they make use of the VRGripInterface (they are not GrippableStaticMeshActors though). This not only allows for checking for holding through
                            the interface on them, but it also shows a brief example of how to directly add the interface to a class that doesn't already implement it. Another way would be to store
                            your own GripInterfaceProperties structure and pass the values in like the default grippable actors and components do, but wanted to show direct function overriding.
                            
                            All objects should be multiplayer compatible now
                            
                            Added a server browser into the level to check for and connect / host multiplayer sessions.
                            Last edited by mordentral; 02-14-2017, 04:13 PM.


                            Consider supporting me on patreon

                            My Open source tools and plugins
                            Advanced Sessions Plugin
                            VR Expansion Plugin

                            Comment


                              Which part of the example involves sessions? As my project is just single player project and I want to remove the multiplayer related parts.

                              Comment


                                Originally posted by franklzt View Post
                                Which part of the example involves sessions? As my project is just single player project and I want to remove the multiplayer related parts.
                                The server menu in the level is the only bit that matters that much, it is where it connects. If you intend to only do single player you can throw out all of the custom events that replicate and server side checks but they don't cost much when you are already the server.


                                Consider supporting me on patreon

                                My Open source tools and plugins
                                Advanced Sessions Plugin
                                VR Expansion Plugin

                                Comment

                                Working...
                                X