Announcement

Collapse
No announcement yet.

VR Expansion Plugin

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

    Originally posted by gausswerks View Post
    Here's the prototype desk I have been fooling around with that you can include freely in your template, it has a main drawer and two sets of side drawers. No UVs, but they have the appropriate collision hulls. Make sure you import with auto-generate collision and one convex hull per UCX unchecked.

    https://dl.dropboxusercontent.com/u/...8/tempdesk.zip
    Thanks, that actually simplified my work tonight a lot.


    I have decided to add a check box for interactive components to throw out controller rotation on grip so they behave more like the manipulation physics grip for people that don't want to use physx constraints for all their drawers and objects. I will add that in soon.

    Otherwise, minor plugin patch tonight and a bunch of your requested examples were added to the plugin template. Overview video as well for some of the behind the scenes explanations and talking about how some of it was implemented.


    Template Change Log
    Code:
    11/17/2016- Examples
    
    Added a potion bottle with removable stopper
    
    Added an inventory example that can have the potion bottle attached to it.
    
    Added a chest of physx constrained drawers (thanks gausswerks).
    
    Finished gun interactions (see video for explanation of this)
    
    Added laser beams to the controllers
    Plugin Change Log
    Code:
    11/17/2016- Feature fix
    
    Changed order of operations for when OnGripRelease events are called so that if desired components can be set to simulate physics or not AFTER dropping in their own blueprints.
    (Due to setting this after calling OnGripRelease events in the prior version it would override attempts to change physics simulation states in the event).

    Overview video
    Last edited by mordentral; 11-18-2016, 12:13 AM.


    Consider supporting me on patreon

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

    Comment


      Hey. Just wondering does this come under a MIT licences?
      Honeypot Espionage Development Update

      Comment


        Are there any plans for adding basic multiplayer to the template? A starting point would be rad, and I think it would help push the community towards making more amazing multiplayer games. Like a server browser style like Onward.

        Comment


          Originally posted by gamereat View Post
          Hey. Just wondering does this come under a MIT licences?
          The plugin is under MIT yes.

          Originally posted by Resolve View Post
          Are there any plans for adding basic multiplayer to the template? A starting point would be rad, and I think it would help push the community towards making more amazing multiplayer games. Like a server browser style like Onward.
          I packaged my Advanced Sessions Plugin into the template so that I could go in and add server based multiplayer later quickly. The plugin itself is multiplayer by default but the examples will need to be modified to behave correctly. Things like the door and the like I would probably make server side movement and some of the item events will need to be server verified (the gun really is the only thing that should need major work to get going in multiplayer as I will have to spawn the projectiles on both and do collision detection on the server).


          Consider supporting me on patreon

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

          Comment


            How to install this plugin?

            Hey. Your plugin is awesome, but i'am beginner and i can't to install it. I would very happy if you will film on youtube "How to instal this plugin"

            Comment


              Originally posted by Dmitrsta View Post
              Hey. Your plugin is awesome, but i'am beginner and i can't to install it. I would very happy if you will film on youtube "How to instal this plugin"
              That's why he put in the template. Download it, put it in your unreal projects folder, either open up the editor and load the project or just double click on the project file. If you don't have Visual Studio installed, the editor will helpfully prompt you to download it, so that you can compile the plugin.

              Comment


                Everything looks cool, it is instructive to see the desk the way you would handle it. I had gotten the drawers in physically constrained but somehow not as cleanly, whenever I added the drawers as components for some reason the interaction wasn't clean, very weird and buggy despite the same constraint settings. I must have missed a setting.

                Looking forward to the interaction style version of the drawers because you may have noticed that the drawers don't quite hold up as physics constraints. Or rather, they behave a little too much like the real thing--if you slam them close hard enough, they'll clip through a little and get stuck in the desk.

                Comment


                  Originally posted by gausswerks View Post
                  Everything looks cool, it is instructive to see the desk the way you would handle it. I had gotten the drawers in physically constrained but somehow not as cleanly, whenever I added the drawers as components for some reason the interaction wasn't clean, very weird and buggy despite the same constraint settings. I must have missed a setting.

                  Looking forward to the interaction style version of the drawers because you may have noticed that the drawers don't quite hold up as physics constraints. Or rather, they behave a little too much like the real thing--if you slam them close hard enough, they'll clip through a little and get stuck in the desk.
                  They shouldn't, if the version I made is doing that then I need to tweak it a little. But regardless drawers are one of the few interactive things that I think would be better off NOT using physics with. Its not required for their interaction so is unduly expensive and would be simpler to do with normal movement limitations in the first place.

                  This weekend i'll be adding the rotationless option to the interactive settings which will pretty much solve that.

                  *Edit* Actually if you were talking about your implementation getting stuck I would suggest looking at the construction script of the ones I made last night. I set some variables that aren't accessible just as fields on the constraint in there so that the physics constraint doesn't allow for any backwards movement. By default constraints allow the set distance both forward AND backward and that may have been causing your drawer clipping issue.
                  Last edited by mordentral; 11-18-2016, 03:05 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
                    They shouldn't, if the version I made is doing that then I need to tweak it a little. But regardless drawers are one of the few interactive things that I think would be better off NOT using physics with. Its not required for their interaction so is unduly expensive and would be simpler to do with normal movement limitations in the first place.

                    This weekend i'll be adding the rotationless option to the interactive settings which will pretty much solve that.

                    *Edit* Actually if you were talking about your implementation getting stuck I would suggest looking at the construction script of the ones I made last night. I set some variables that aren't accessible just as fields on the constraint in there so that the physics constraint doesn't allow for any backwards movement. By default constraints allow the set distance both forward AND backward and that may have been causing your drawer clipping issue.
                    It happens with both mine and yours. With a drawer at full open, slamming it shut as hard as you can will usually clip the front of the drawer past where it should. Sometimes you can fish it out again, sometimes not. But yes, moot point, we certainly don't need or want a bunch of physics for a simple drawer. All that aside it does work well. I tried loading the drawer with a bunch of smaller boxes, thrashed it around, everything behaves quite nicely except for the high speed closing glitch as described.

                    Comment


                      Originally posted by gausswerks View Post
                      It happens with both mine and yours. With a drawer at full open, slamming it shut as hard as you can will usually clip the front of the drawer past where it should. Sometimes you can fish it out again, sometimes not. But yes, moot point, we certainly don't need or want a bunch of physics for a simple drawer. All that aside it does work well. I tried loading the drawer with a bunch of smaller boxes, thrashed it around, everything behaves quite nicely except for the high speed closing glitch as described.
                      Ah, then its just slightly too far back to begin with, i'll fix that since I want to provide examples of both methods.


                      Consider supporting me on patreon

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

                      Comment


                        First of all, excellent work mordentral. This is a huge service you've done for the community, and saves me so much time in getting started. I wasn't looking forward to figuring out how to properly add pawn push back based on camera movement in a multiplayer environment, and to see that you've already done it is amazing. I'm now going through your code to understand how you've accomplished all of this.

                        Based on your experience with the character movement code, how would you go about having acceleration free movement for the character (basically how I understand Onward works)?

                        While trying out your touchpad-based movement options, it looks like there is a slight acceleration and deceleration upon touch and release. That's understandable while going through the Pawn's AddMovementInput() function. I would like to try out a controlled instantaneous velocity change instead, while still remaining true to UE4's multiplayer character movement model (saved and replayed moves, etc.). So rather than the touchpad controlling the amount of acceleration to apply up to the maximum, it controls the character's velocity up to the maximum speed. Perhaps UCharacterMovementComponent::RequestDirectMove() is the place to start?

                        Edit: Just wanted to note that the reason I was thinking on RequestDirectMove() was that it looks like you're sending the requested velocity as part of ServerMoveVR(), which seems perfect for this. But I haven't found yet if it is being stomped by something else.

                        Thanks!

                        - Dave
                        Last edited by Gnometech; 11-18-2016, 08:17 PM.
                        Latest Demo, Turtle VR: http://www.turtlevr.com
                        Mobile VR Jam 2015 Entry: Circumpaint
                        VR game, Here Come The Dead: http://www.herecomethedead.com/
                        Main web site: http://www.gnometech.com/

                        Comment


                          I've trying to get the plugin to work for awhile on 4.14, this is what I have tried. I downloaded the file from here: --https://bitbucket.org/mordentral/vrexpansionplugin/downloads-- it seems really small, but that is what is available at the download page, it is only a 123KB file. I went to (...documents/myProject) and made a folder called 'Plugins', I made a folder called 'VRExpansionPlugin'. This is where I put the extracted folder I downloaded. Now, when I try to open myProject, UE won't let me and it says 'Missing or incompatible modules in VRExtensionPlugin plugin - would you like to disable it? You will no longer be able to open any assets created using it.' If i click yes, I don't have the plugin, if I click 'no' it gives me a couple more errors and won't open my project.

                          It really is a bummer because I already have a project that I created using it in 4.13 and now I am trying to switch over to 4.14 and it isn't working. If anyone has any ideas of anything I can try it would be greatly appreciated! Thanks!

                          Comment


                            Originally posted by Gnometech View Post
                            Based on your experience with the character movement code, how would you go about having acceleration free movement for the character (basically how I understand Onward works)?

                            - Dave
                            Character movement components have a "bForceMaxAccel" boolean that does this but it isn't exposed to blueprint by default and would have to be set in code (or exposed). You could also just set braking friction and max acceleration to a value high enough to force instantly the max/min speed you have set (IE: 2000048.0 just add two zeros to the default). The thumbpad is also using the capacitive location for speed and if you aren't right at the edge it will start off slower so you need to watch for that, there is a scaler variable I placed on the character that controls how finely grained the control of that speed is that could be increased to make it get to max speed closer to the center.

                            What I am sending through the network over what is normally sent by the way is the request velocity from the Path Finding, not the general movement, this enables the client side navigation to work in servers (which I have actually seen a ton of requests for on answerhub for general games). If you wanted to utilize that to directly request velocities with RequestDirectMove you could but it probably wouldn't play well if you try to run any navigation commands at the same time.

                            *Edit*
                            I did notice that instant accel is easier for a lot of people to handle, I can't tell the difference myself anymore (sickness wise), if enough people think it should be the default for the template I can just increase max braking and accel to get the instant movement effect by default. If its agreed upon that it is less nausea inducing than I would rather have the defaults already represent that.



                            Originally posted by jayNose View Post
                            I've trying to get the plugin to work for awhile on 4.14
                            Don't copy the first file in the zip over, that is automatically generated by bitbucket, copy over everything inside of that file into the Plugins/VRExpansionPlugin folder. I also recently removed the binaries from the repository, the file history for them was bloating it too much, so now you have to manually build the plugin. This is a required step anyway if you were to want to package out your project as I am not providing it as an engine plugin but as a project plugin. If you don't have any source files for your project currently follow the steps on the wiki to create a dummy/blank one and build the project which will generate the plugin binaries for you.

                            The plugin is too unstable in its repository form to build binary packages for as I am still updating constantly, I applied to put it up on the marketplace for free which would allow it to be an engine plugin instead and have stable releases pushed instead if it is accepted.


                            Originally posted by gausswerks View Post
                            It happens with both mine and yours. With a drawer at full open, slamming it shut as hard as you can will usually clip the front of the drawer past where it should. Sometimes you can fish it out again, sometimes not. But yes, moot point, we certainly don't need or want a bunch of physics for a simple drawer. All that aside it does work well. I tried loading the drawer with a bunch of smaller boxes, thrashed it around, everything behaves quite nicely except for the high speed closing glitch as described.
                            I fixed it, my re-positioning code worked fine but didn't work after I moved it to the constructor, some of the values must not be ready yet at that point. I moved it back to begin play and the drawers work as expected now. *Physics constraints really need some additional exposed variables, there is an open ticket to add them but its about a year old now so not sure what the progress on that one is*

                            I will still be adding in the movement based version this weekend anyway.
                            Last edited by mordentral; 11-18-2016, 09:31 PM.


                            Consider supporting me on patreon

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

                            Comment


                              so now you have to manually build the plugin.
                              Thanks for the help! How would I go about building a plugin? I may just be out of my league here, but it wan't to much trouble getting it set up with 4.13 so I don't know if I am missing something obvious or if it has just changed a bunch in the last couple weeks. I am also confused because the file that I downloaded and used with 4.13 was around 300 megs and now the download file is only 123KB, so it is quite likely that I am downloading the wrong thing now. Thanks again!

                              Comment


                                Is this how the "Closest Primary Slot In Range" is supposed to be used? Or if left to default, does it automatically check for "P1" and "S1" as socket names to get "P1" as the closest and base the distance on the "PrimarySlotRange" var?
                                https://gyazo.com/ab7f454f049347b179bdb80aa0821c08

                                Comment

                                Working...
                                X