Announcement

Collapse
No announcement yet.

VR Expansion Plugin

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

    Originally posted by alltrueist View Post
    So I was trying to achieve the following, and wondering if you might have any insights. I created some subclasses of the Vive Pawn Character each with a different skeletal mesh assigned under parent relative attachment, and I've added an box overlap trigger with the idea to possess on overlap characters placed around the level. Problem I'm running into is that even though tick is disabled for those characters placed around the level, the parent relative skeletal meshes are moving around with my default possessed character, and I have duplicate controllers following me around as well. Is there a way to completely disable the vive pawn character until possessed? Or any other way of achieving this type of interaction with the vive pawn character?
    You have to stop the controllers and camera from ticking as well. They don't automatically stop ticking when unpossessed and setting the actor to not tick doesn't make the components not tick.

    To do it best, set the

    Controllers, Camera, MovementComponent, RootComponent, Actor, ParentRelative, to tick disabled by default, this will remove as much overhead as possible, then on Possession re-enable tick on them.

    The one caveat is that you may need to also disable LateUpdates on the motioncontrollers when not possessed, as turning off tick doesn't remove the SceneView that runs the late updates so they may visually look like they are still moving.


    Consider supporting me on patreon

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

    Comment


      Originally posted by KelbornKad View Post
      Hello. What is correct way of making slot gripping? I've put slots on mesh and named them VRGripP#. It was okay for one hand, but another is rotated towards its forward axis by 180 deg. I use Vive_PawnCharacter with my hand meshes, where one is scaled -1 on z but motion controller components are unchanged. Thanks.
      I would assume that you may be wrong about only the mesh being inversed? In the template the gun has a few different slots and the hand that uses them doesn't matter. It by default uses the slot as a relative transform from the motion controller.


      Consider supporting me on patreon

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

      Comment


        Originally posted by dillBrickle View Post
        I'm currently working on a pump-action shotgun using this plugin, and it seems that grippable child components in the GrippableStaticMeshActor blueprint aren't able to move the parent actor as a whole. For example, if the pump alone is gripped it can be moved back and forth in its constraint on the blueprint, but the gun as a whole stays stationary and cannot be picked up or moved unless it is gripped directly. Ideally I would like to be able to **** the gun using the handle alone with the gun's inertia as seen
        Components don't "move" their parents unless they are all simulating and constrained to each other, that isn't how the engine works. Parents move their children in this engine.

        You are free to grip the pump as the primary slot location and visually have the handle change with an addition offset or skeletal animation and have the rear hand be the secondary, or you can run it with multiple physics grips and the gun as simulating, or you could run a custom grip and sync the gun to the grip somehow taking into account it sliding in relative space......

        However, moving a sub component, never moves its parent, you'll have to re-think how you want to implement it, game engines aren't real life and some things don't "just work".
        Last edited by mordentral; 11-22-2017, 11:55 AM.


        Consider supporting me on patreon

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

        Comment


          Guy on youtube requested some slicing action and I always wanted to make a demo with it (only played with slicing like 1.5 years ago when i first started the plugin).

          Thought the concept of a blade that would only cut on the sharp edge and only with an angle range was interesting. Short project so it didn't really take any time away from the other beta branch work, but was a fun break.






          Consider supporting me on patreon

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

          Comment


            Apparently 4.17 version of the Example scene still gives me the "incompatible" warning ( I have UE4.17.2 version ), which is unfortunate, while 4.16.3 works ok...I've opened the latest version with 4.18.1 and it works, but for technical reason I can't use the latest version of the engine, so I used the Commit download instruction to use the previous example scene.
            Am I the only one with this issue?
            Last edited by Enter Reality; 11-24-2017, 06:33 PM.
            ENTER REALITY

            VR Solutions

            Contact us for more informations

            Comment


              Originally posted by mordentral View Post

              You have to stop the controllers and camera from ticking as well. They don't automatically stop ticking when unpossessed and setting the actor to not tick doesn't make the components not tick.

              To do it best, set the

              Controllers, Camera, MovementComponent, RootComponent, Actor, ParentRelative, to tick disabled by default, this will remove as much overhead as possible, then on Possession re-enable tick on them.

              The one caveat is that you may need to also disable LateUpdates on the motioncontrollers when not possessed, as turning off tick doesn't remove the SceneView that runs the late updates so they may visually look like they are still moving.

              Many thanks for the tip on the component ticks. That's working very well, and it's pretty fun to possess different characters by walking into their bodies. I do still have an issue with the controllers doubling up due to the late updates you mentioned. Seems to happen even when they're set to not tick and with late updates turned off, but it's easy to work around this by hiding them until possessed.

              The other big issue I'm seeing now though is that the world space is changed to have the new characters location as the origin when i possess a new character. By that I mean the chaperone bound is now centered from the newly possessed character's location, with hmd being relative to that. It's a sudden pop, and feels incorrect.

              I suppose I can try to get around this by calculating the offset from the previous possessed character's origin to the new character's before possessing, and then adding that offset to the new character, and doing the same with control rotation. I think I can handle that, but it feels a bit hacky, and like it's going to break things in the long run if i possess a lot of characters etc. I'm wondering if there's a proper way to reset the origin to my original character's origin on possession for each character I possess so that the origin remains 000. Or, maybe there is a way to add an offset for each character placed in the level such that they are placed from 000 to achieve the same? I'm not sure if my terminology is correct but i hope you get the idea. Just wondering your thoughts on this.
              Last edited by MagicBots; 11-25-2017, 03:01 AM.

              Comment


                hi mordentral, had some testing session today and I found that vr camera attached components are still lagging significantly.
                Any suggestion to fix it?

                Comment


                  Originally posted by alltrueist View Post


                  Many thanks for the tip on the component ticks. That's working very well, and it's pretty fun to possess different characters by walking into their bodies. I do still have an issue with the controllers doubling up due to the late updates you mentioned. Seems to happen even when they're set to not tick and with late updates turned off, but it's easy to work around this by hiding them until possessed.

                  The other big issue I'm seeing now though is that the world space is changed to have the new characters location as the origin when i possess a new character. By that I mean the chaperone bound is now centered from the newly possessed character's location, with hmd being relative to that. It's a sudden pop, and feels incorrect.

                  I suppose I can try to get around this by calculating the offset from the previous possessed character's origin to the new character's before possessing, and then adding that offset to the new character, and doing the same with control rotation. I think I can handle that, but it feels a bit hacky, and like it's going to break things in the long run if i possess a lot of characters etc. I'm wondering if there's a proper way to reset the origin to my original character's origin on possession for each character I possess so that the origin remains 000. Or, maybe there is a way to add an offset for each character placed in the level such that they are placed from 000 to achieve the same? I'm not sure if my terminology is correct but i hope you get the idea. Just wondering your thoughts on this.
                  Offsetting by the HMDs relative location IS the proper way to do it. The Orientation/Position reset sadly is a permanent change and nulls out Z as well so it is pretty much unusable in roomscale.

                  Teleporting / Rotating / The car stuff/ initial spawn in, all of that already offsets by the HMDs relative, its not hacky, it is how you handle things with the default setup.

                  *Edit* I'll note that I added SetRot, SetRotAndLoc, AddRot functions in my alpha branch to help people out, they won't have to manually pivot around the HMD anymore they can just call the VR version of the standard engine nodes instead.


                  Consider supporting me on patreon

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

                  Comment


                    Originally posted by Curs0 View Post
                    hi mordentral, had some testing session today and I found that vr camera attached components are still lagging significantly.
                    Any suggestion to fix it?
                    Over and Above the default template? Because the code is matching now line by line. I also have had some attached components without that problem. What specifically are you attaching?

                    *Edit* Yeah, I just confirmed it, attached objects behave correctly currently. So the only thing that should be causing issues for you is if you are attaching something that is losing its scene rendering object and being re-created (this kills late updates for the frame it is being re-made) or if you are on a very old build right after I was porting some of the changes Epic made over.
                    Last edited by mordentral; 11-25-2017, 07:33 PM.


                    Consider supporting me on patreon

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

                    Comment


                      Originally posted by Enter Reality View Post
                      Apparently 4.17 version of the Example scene still gives me the "incompatible" warning ( I have UE4.17.2 version ), which is unfortunate, while 4.16.3 works ok...I've opened the latest version with 4.18.1 and it works, but for technical reason I can't use the latest version of the engine, so I used the Commit download instruction to use the previous example scene.
                      Am I the only one with this issue?
                      Then just get the 4.16.3 and upgrade the project to 4.17, you can download the 4.17 version of the plugin itself to run with it. You'll miss out on some optimizations but the core is generally still the same.


                      Consider supporting me on patreon

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

                      Comment


                        Originally posted by mordentral View Post

                        Offsetting by the HMDs relative location IS the proper way to do it. The Orientation/Position reset sadly is a permanent change and nulls out Z as well so it is pretty much unusable in roomscale.

                        Teleporting / Rotating / The car stuff/ initial spawn in, all of that already offsets by the HMDs relative, its not hacky, it is how you handle things with the default setup.

                        *Edit* I'll note that I added SetRot, SetRotAndLoc, AddRot functions in my alpha branch to help people out, they won't have to manually pivot around the HMD anymore they can just call the VR version of the standard engine nodes instead.
                        Thanks again for the info. I'll offset by HMD relative on possession then.

                        VR versions of "SetRot, SetRotAndLoc, AddRot" sound pretty helpful. How can I access these? I downloaded the latest commit of the example, and didn't see them exposed to BP. are they native only?

                        Comment


                          Originally posted by alltrueist View Post

                          Thanks again for the info. I'll offset by HMD relative on possession then.

                          VR versions of "SetRot, SetRotAndLoc, AddRot" sound pretty helpful. How can I access these? I downloaded the latest commit of the example, and didn't see them exposed to BP. are they native only?
                          Not out yet, its in the unreleased branch where I have been trying to finish up a feature, holiday + entire family getting sick got in the way of finishing it this weekend


                          Consider supporting me on patreon

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

                          Comment


                            Aight, so the car works multiplayer with the C++ seat version now and all of the control blueprints ripped out, i'll finish rolling in features for it tomorrow and hopefully get to push this branch live, it has a ton of good changes.


                            Consider supporting me on patreon

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

                            Comment


                              I had a question regarding the Car I tried to do the same to the buggy in the vehicle learn tab however I always spawn on the ground under the car. I'm pretty noobish with this whole thing so I wasn't sure how to fix the position of the drivers seat. any help on where to begin to fix this would be great thanks.

                              Comment


                                Originally posted by Dansiff View Post
                                I had a question regarding the Car I tried to do the same to the buggy in the vehicle learn tab however I always spawn on the ground under the car. I'm pretty noobish with this whole thing so I wasn't sure how to fix the position of the drivers seat. any help on where to begin to fix this would be great thanks.
                                It will be a lot easier once the core is in c++ later this week, but you should be attaching to a scene component that you drag around to set the location you want to be sitting.


                                Consider supporting me on patreon

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

                                Comment

                                Working...
                                X