Announcement

Collapse
No announcement yet.

VR Expansion Plugin

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

    Originally posted by tcla75 View Post

    Hi what code would I need to put into my character if I just wanted to be able to work with the VRGrip interface, so if I just wanted to be able to open a drawer of door?
    The gripping logic is ran through the GripMotionControllers.

    GripObjectByInterface and DropObjectByInterface mostly.

    I run a backend in c++, but leave the front end and actual logic of when to grip and drop up to the end user to retain the most flexibility.


    Consider supporting me on patreon

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

    Comment



      Hi Mordentral,

      Thank you for the quick fix, but we are still getting the error :-(

      We are running binary engine and a non-c++ project. It runs the game in editor fine, but if we build for windows no editor, launching the game still gives us this error :

      [2017.10.23-13.25.48:215][ 0]LogWindows: Error: Fatal error: [File:\Build\++UE4+Release-4.17+Compile\Sync\Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncLoading.cpp] [Line: 3004]
      [2017.10.23-13.25.48:215][ 0]LogWindows: Error: Missing Dependency, request for NetSmoother but it hasn't been created yet.

      Is he not building the netsmoother on package? Any clues on what we should try?

      Thank you

      Comment


        We just rebuild everything and it's now working! I think the issue was that we were doing iterative cooking and he didn't detect the change in the plugin :-). We did a full build and it's working now!

        Thank you!

        Comment


          Originally posted by mordentral View Post

          The gripping logic is ran through the GripMotionControllers.

          GripObjectByInterface and DropObjectByInterface mostly.

          I run a backend in c++, but leave the front end and actual logic of when to grip and drop up to the end user to retain the most flexibility.
          Do you mean all this logic needs to be copied over to my player because if it does it leaves a load of errors and some BP's don't copy over properly.
          Click image for larger version

Name:	copied.JPG
Views:	5
Size:	384.0 KB
ID:	1374301

          Comment


            Originally posted by tcla75 View Post

            Do you mean all this logic needs to be copied over to my player because if it does it leaves a load of errors and some BP's don't copy over properly.
            No, Only if you want the exact same logic as the template has, the template is a very very generic implementation. It is made so that you can do just about everything with it so parts of it are far more complex than most would require (it is also multiplayer enabled which adds significant code base to it).

            Simple gripping is literally tracing or overlapping for an object, and then calling GripObjectByInterface from the motion controller with it passed in. You don't need all of the button mapping or special functions that the template implements unless you really want them.

            The basic "grip logic" is below, drawers can use the VRSliderComponent instead though and you wouldn't even need the "Convert to controller relative transform" node.



            Nearest Component is just an example, you can pass Actors OR Components in to it, it doesn't care.



            I really need to make a "back to basics" video for how to do the simple things with the plugin, but I have been very low on time recently.
            Last edited by mordentral; 10-23-2017, 09:25 PM.


            Consider supporting me on patreon

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

            Comment


              Going over 4.18 changes



              Consider supporting me on patreon

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

              Comment


                Hi,

                First, thanks so much for this awesome tool!

                I have this visualization project where I need to dynamically change the camera height, from a child perspective, to adult man, woman etc. Is there a preferred way of doing this? I'm a bit new to Unreal and whenever I think I found a solution the camera resets back to default. I don't need to change the capsule in anyway, just offset the camera Z (and have it keep that value thru teleportation etc).

                Thanks in advance!

                ​​​​​​​//Adam

                Comment


                  Bit of a noobish question..

                  I've got a rift with touch controllers, How would I use the other buttons on my touch controller in the gun example.
                  So what if I would like to press the B button on my right controller to reload or something.

                  Thanks a lot!

                  Comment


                    Originally posted by adamveryday View Post
                    Hi,

                    First, thanks so much for this awesome tool!

                    I have this visualization project where I need to dynamically change the camera height, from a child perspective, to adult man, woman etc. Is there a preferred way of doing this? I'm a bit new to Unreal and whenever I think I found a solution the camera resets back to default. I don't need to change the capsule in anyway, just offset the camera Z (and have it keep that value thru teleportation etc).

                    Thanks in advance!

                    //Adam

                    You don't really want to change the camera "height", it would feel like you are standing with your chest at the floor then, what you want to do is change the "WorldScale" and then scale the mesh components as well downwards by the same amount. In 4.16 Epic made multiple changes to the tracked devices so that their tracked positions account for worldscale correctly now, so you should be able to use it without issue.


                    Now as to how the full blown character performs downscaled? I haven't tested that in awhile, if you run into issues please let me know as I would like to fully support it.


                    Originally posted by Silpher View Post
                    Bit of a noobish question..

                    I've got a rift with touch controllers, How would I use the other buttons on my touch controller in the gun example.
                    So what if I would like to press the B button on my right controller to reload or something.

                    Thanks a lot!
                    You'll have to bind to the button and pass in events to the held object. I support two default interface inputs (OnUse and OnSecondaryUse) but don't expand further than that (I wanted to make it a generic OnAction passing in a byte code but got resistance to it). If you need more than those two communicative events then its kind of up to you currently to provide them to the object.

                    I'm trying to reduce plugin bloat so I don't really want to add yet another interface event in without removing something else.

                    *Edit*....actually, I think I might go ahead and add that and mark the other two for eventual depreciation, i'm doing some interface changes in 4.18 anyway, it was long past due.
                    Last edited by mordentral; 10-24-2017, 09:03 AM.


                    Consider supporting me on patreon

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

                    Comment


                      Hey man, I'd like to thank you again for this awesome plugin and your time to help people out. We are currently working on our very first game and your plugin has been a huge help. When we're ready to announce our game later next month I'll let you know so you can add it to the list in your OP.

                      Comment


                        Originally posted by Link_AJ View Post
                        Hey man, I'd like to thank you again for this awesome plugin and your time to help people out. We are currently working on our very first game and your plugin has been a huge help. When we're ready to announce our game later next month I'll let you know so you can add it to the list in your OP.
                        sounds good.


                        Consider supporting me on patreon

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

                        Comment


                          Pushed 4.18 live to the template and plugin repository, locked the 4.17 branches away, I am building pre-compiled binaries now and will link to them when finished.

                          Code:
                          4.18 additions
                          
                          Moved secondary grip scaler into a new struct (AdvSecondaryGripSettings) along with several new features
                          
                          Added the 1 Euro Low Pass Filter that Epic has been using in the VR Editor for the laser beams as a native part of the plugin in both BP and c++.
                          
                          Secondary grip scaler now uses the 1 Euro Low Pass Filter on the back end to control the secondary grip smoothing(settings are now in project settings for
                          the 1 Euro Low Pass that this uses).
                          
                          Add a Distance base influence option in the AdvSecondaryGripSettings, when the boolean is true it uses the combined values of the DistanceInfluenceDeadZone and DistanceInfluenceDistanceToZero to control how much effect the secondary hand has over the grip (see latest video for explanation).
                          
                          Added GripDistance and SecondaryGripDistance floats to the grip struct, they are calculated locally and are not replicated.
                          
                          Improved NetSerialization in general.
                          
                          For generic objects without all of the advanced new features, they should still be less overall replication cost, obviously replication cost will ramp up as more and more of the advanced settings are enabled.
                          
                          BUGFIX: Added in an UpdateComponentToWorld call on object drop to account for an issue with the new Late update that Epic is using.
                          
                          Added a global settings class that shows up in ProjectSettings|VRExpansionPlugin so that I can expose global variables there cleanly, I intend to move some magic numbers out of their classes and into that in the future, currently only has the 1 Euro settings for the motion controllers.
                          
                          
                          4.18 interface changes & migration guide
                          
                          AdvancedPhysicsSettings() interface function removed
                          
                          Added AdvancedGripSettings() interface function so that the interface can return advanced physics AND secondarygrip settings.
                          
                          
                          GripStiffness() and GripDamping() interface functions removed
                          
                          Added GetGripStiffnessAndDamping() function to replace them
                          
                          
                          SlotGripType() and FreeGripType() interface functions removed
                          
                          Added GetPrimaryGripType(bool bIsSlot) to replace them
                          
                          
                          ClosestSecondarySlotInRange() and ClosestPrimarySlotInRange() Interface functions removed
                          
                          Added ClosestGripSlotInRange() which takes a bool bSecondaryGrip so that it is a single function definition now instead of two
                          
                          *THIS REQUIRES BLUEPRINT CHANGES* You will need to replace your Closest Primary slot and Closest Secondary slot nodes with a ClosestGripSlotInRange node
                          with the correct bSecondaryGrip setting. The template has already been updated to make this change.
                          
                          
                          Added OnInput(FKey, EInputEvent) event to the interface so that you can pass in any generic input you want to the gripped object instead of just
                          OnUsed and OnEndUsed (and secondary).
                          
                          
                          Apex destructon auto detection of held object being destroyed has been removed, this is due to them moving Apex into its own plugin
                          and disabling it by default.
                          
                          
                          Anywhere you were manually overriding one of the removed interface functions you will need to correct for the changes.
                          Last edited by mordentral; 10-24-2017, 02:11 PM.


                          Consider supporting me on patreon

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

                          Comment


                            I'm getting this error when trying to build from Visual Studio, something about the WheeledVehicle? Do you know whats going wrong here?

                            Comment


                              I'm getting the same UBT error using the pre-built package for 4.18

                              2>ERROR : UBT error : Failed to produce item: D:\Git\TheCaper\Plugins\VRExpansionPlugin\OpenVRExpansionPlugin\Binaries\Win64\UE4Editor-OpenVRExpansionPlugin.pdb
                              Level Designer: Available for work if needed.

                              http://www.grantegglestone.com

                              Comment


                                Originally posted by GruntosUK View Post
                                I'm getting the same UBT error using the pre-built package for 4.18

                                2>ERROR : UBT error : Failed to produce item: D:\Git\TheCaper\Plugins\VRExpansionPlugin\OpenVRExpansionPlugin\Binaries\Win64\UE4Editor-OpenVRExpansionPlugin.pdb
                                Eh? What same error? I don't have a previous post from you in here and that hasn't been reported here before.

                                Do you have a full log file for it? Also are you on windows? Because any other platform you'll have to manually compile due to me not having the required hardware to compile for it.

                                Usually errors like that are caused from stale Intermediate folders in the project files, which you generally just delete to fix (they re-create then), however if you are using the pre-built on a new project then that shouldn't be the case and it shouldn't be trying to re-create it anyway.



                                Consider supporting me on patreon

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

                                Comment

                                Working...
                                X