Announcement

Collapse
No announcement yet.

VR Expansion Plugin

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

    Eh, its probably time, I'm going to start pre-compiling binaries as of today since the build time is no longer as massive due to the new Header structure of 4.15 and some changes to the plugin.

    I will also start working on getting the wiki updated, it is still basically functional but is missing the majority of the 4.15 work that was added to the plugin (a lot of stuff).

    *Edit* Also I would like to mention, there are some massive incoming changes in 4.16 that I can see in Master. I am not entirely sure that I can retain compatibility between 4.15 and 4.16 versions of the plugin so there may be another split incoming.

    I prefer not to do this when possible but they are refactoring large chunks of the character movement and some VR stuff.

    *Edit2*

    Uploaded binaries for current build, edited the wiki some, and pushed a commit to the plugin


    Plugin Commit

    Code:
    Made secondary attachments support component grips as well now.
    
    No longer takes an actor, now takes a UObject. (Long overdue change on my backlog list)
    
    The Large PCH removal / switch over to Include-What-You-Use (IWYU), no longer uses PCH files, follows the engines brand new IWYU compilation / linkage as of 4.15.
    Should improve compilation times.
    Last edited by mordentral; 04-10-2017, 02:51 PM.


    Consider supporting me on patreon

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

    Comment


      Hi, I supossed is my fault at reimport time, but with new update instead the Hand meshes appears the VIVE stations. Both are properly setted up in the VIVE_PawnCharacter.

      Comment


        Originally posted by mandango View Post
        Hi, I supossed is my fault at reimport time, but with new update instead the Hand meshes appears the VIVE stations. Both are properly setted up in the VIVE_PawnCharacter.
        In the steamVR procedural mesh setup I have it using an override ENUM, if you aren't on the beta branch of SteamVR than the enum value will be wrong (they just changed it). I'll remove the override, it was just for testing and I forgot to change it back.

        But to quickly fix your local copy, in the GetVRDeviceModelAndTexture node set the bottom enum (Override Device ID) to None.


        *Edit*

        Uploaded a fixed copy, the secondary grip nodes also were unlinked from the Secondary Attachment change today, so I had to link the variable back up as well for those.
        Last edited by mordentral; 04-10-2017, 08:31 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
          In the steamVR procedural mesh setup I have it using an override ENUM, if you aren't on the beta branch of SteamVR than the enum value will be wrong (they just changed it). I'll remove the override, it was just for testing and I forgot to change it back.

          But to quickly fix your local copy, in the GetTrackedDeviceMeshAndTexture node set the bottom enum to None.
          Thanks for fast reply (like always). Last question and sorry for my ignorance and didn't follow this thread before. What is the purpose of the procedural mesh and the tablet one?

          Comment


            Originally posted by mandango View Post
            Thanks for fast reply (like always). Last question and sorry for my ignorance and didn't follow this thread before. What is the purpose of the procedural mesh and the tablet one?
            Procedural mesh stores the mesh of the SteamVR Models. If you are using a custom controller skin the VRDeviceModelAndTexture node will fill the procedural mesh component with the model and texture (why my videos have overwatch controllers but the template doesn't have them in its files).

            The tablet is there to show the live camera feed from the headset if you are using an HMD with a camera in SteamVR.


            Consider supporting me on patreon

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

            Comment


              Originally posted by mordentral View Post
              ...
              Are you TOTALLY sure that you have the latest plugin version in your project by the way?
              Thanks again for the reply and the clarification.

              No, I'm not sure...The first step says "Clone Or Download Zip and extract this repository". I interpreted "this" as referring to the URL of the repo on the same page "https://bitbucket.org/mordentral/vrexpansionplugin".


              Click image for larger version

Name:	url.png
Views:	1
Size:	174.0 KB
ID:	1126268

              So I used that url in source tree to clone it. After it finished, the revision history was displayed and I saw a comment near the top stating something to the effect 4.15 changes were merged into master, so I thought I had the latest. Ran generate sln on the uproject after sticking VRExpansionPlugin (and its 1.33gb of contents) into the plugin folder, then tried to build.

              If the "this" in "Clone Or Download Zip and extract this repository" were a link to the latest url it would've helped someone like me. I think.

              I did look around for other urls that were explicitly detailed as 4.15 or latest, but couldn't find anything but Master here:
              Click image for larger version

Name:	master.png
Views:	1
Size:	96.0 KB
ID:	1126270
              But downloading that zip and extracting it gets me that skeleton of a plugin (800kb vs the cloned repo's 1.33gb) of which I don't know what to do with.

              Edit: Now I know what to do with it. It's properly building. See, I tried to build that entire cloned repository. Building https://bitbucket.org/mordentral/vre...get/Master.zip it's going smooth.

              Sincerest apologies for wasting your time.

              Btw, I have time to work with your plugin 8 hours a day every day for an undetermined period. If there's something you want me to test please let me know.
              Attached Files
              Last edited by kusokuso1; 04-10-2017, 10:15 PM.

              Comment


                Originally posted by kusokuso1 View Post

                Btw, I have time to work with your plugin 8 hours a day every day for an undetermined period. If there's something you want me to test please let me know.
                I don't know, test everything, any feedback is good feedback, I don't get enough of it.


                Consider supporting me on patreon

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

                Comment


                  I'm getting this error after transfering some VRCharacters over to the new version. Click image for larger version

Name:	Outermost.JPG
Views:	1
Size:	74.6 KB
ID:	1126320

                  Comment


                    I've tried to make a custom rotation for the character but haven't been able to implement it on the simple character or VR character. I'm using Oculus and want to be able to 'spin' left or right 40 degrees with the thumbstick.

                    I've tried 'add actor world rotation', 'set world rotation' by adding 40 to the current rotation z axis, and even use the teleport function with the same location and an updated rotation but the character always faces the same direction.

                    On the Simple character I can change the roation of the 'VRSceneComponent' but then, as your have probably already guessed, the movement of the HMD moves you in the exact opposite direction when rotated 180 degrees since it must be based off of the forward.

                    Thanks for any help that you could provide and great work on the plugin.

                    Comment


                      Originally posted by Shanowzer View Post
                      I'm getting this error after transfering some VRCharacters over to the new version. [ATTACH=CONFIG]136849[/ATTACH]
                      You have the same files twice in the same project, at least it looks like that since Object.Type is duplicated. I moved all of the template folders under one central folder, so when you copied things over you made duplicates. Unfortunate for you since it will require some cleanup on your end, but in the future it should be a lot easier having everything under one folder.

                      I also depreciated EndSession in the sessions plugin due to misuse, just delete it where it is used and leave Destroy Session.

                      Can't see the simple character warnings you threw as they are offscreen but that should be it for real problems.

                      I will note though that with the change last night, any AddSecondaryAttachment nodes will probably have to have to input linked back to it, I changed input on the node from AActor to UObject and the editor auto unlinks it, just have to drag the line back over.

                      Originally posted by doginthehole View Post
                      I've tried to make a custom rotation for the character but haven't been able to implement it on the simple character or VR character. I'm using Oculus and want to be able to 'spin' left or right 40 degrees with the thumbstick.

                      I've tried 'add actor world rotation', 'set world rotation' by adding 40 to the current rotation z axis, and even use the teleport function with the same location and an updated rotation but the character always faces the same direction.

                      On the Simple character I can change the roation of the 'VRSceneComponent' but then, as your have probably already guessed, the movement of the HMD moves you in the exact opposite direction when rotated 180 degrees since it must be based off of the forward.

                      Thanks for any help that you could provide and great work on the plugin.
                      By default characters use Control Rotation for yaw facing, you can either disable bUseControllerRotationYaw on the character actor where it will then follow the root components rotation, or you can use SetControlRotation to rotate instead.

                      Setting control rotation is natively replicated I believe, so if you choose to disable it and set Actor rotation instead you will need to run it on the server as well.

                      I will note that with the non simple character that you will have to rotate with a pivot point in mind (the HMD location) or the rotation will be incorrect. I have it on my TODO list to make a helper node for this but I haven't done so yet. This is also true for the standard Epic pawn setup as well by the way.


                      Consider supporting me on patreon

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

                      Comment


                        Originally posted by mordentral View Post
                        You have the same files twice in the same project, at least it looks like that since Object.Type is duplicated. I moved all of the template folders under one central folder, so when you copied things over you made duplicates. Unfortunate for you since it will require some cleanup on your end, but in the future it should be a lot easier having everything under one folder.

                        I also depreciated EndSession in the sessions plugin due to misuse, just delete it where it is used and leave Destroy Session.

                        Can't see the simple character warnings you threw as they are offscreen but that should be it for real problems.

                        I will note though that with the change last night, any AddSecondaryAttachment nodes will probably have to have to input linked back to it, I changed input on the node from AActor to UObject and the editor auto unlinks it, just have to drag the line back
                        I was referring primarily to the error in red. The other warnings are just from EndSession being depreciated so I'm not worried about that. What would suggest I start with to eliminate these errors?

                        Comment


                          Originally posted by Shanowzer View Post
                          I was referring primarily to the error in red. The other warnings are just from EndSession being depreciated so I'm not worried about that. What would suggest I start with to eliminate these errors?
                          Well its pretty hard to read.. Says something about a depreciated outer? If the character is based off of one of the blueprint characeters you likely have to delete the duplicate entries (files) and hit recompile in that characters event graph.

                          Thats a blueprint error, the blueprint system is confused.

                          *Edit* Also if it is a child of one of the template characters it might need to be re-parented since they live in a different location now.
                          Last edited by mordentral; 04-11-2017, 11:53 PM.


                          Consider supporting me on patreon

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

                          Comment


                            Sorry to interrupt.

                            Building a Master zip downloaded almost 24 hours ago; I created a SimpleVRCharacter class and added a skeletal mesh component to the left motion controller.

                            Fsr, the skeletal mesh looks like it's pinned to the bottom of the collision capsule.
                            Here's the parent relationship of the Simple VR Character I'm having probs with:
                            Click image for larger version

Name:	Simple.png
Views:	1
Size:	26.4 KB
ID:	1126328

                            Here's a pic of a ishtty pawn I made from scratch that didn't have this problem:
                            Click image for larger version

Name:	scratch.png
Views:	1
Size:	25.0 KB
ID:	1126329

                            If I look down I can see the skeletal mesh. It's X and Y match that of the HMD, but its Z is locked at what probably is the bottom of the collision capsule.

                            I Made sure the No Collision Preset was set on the skeletal mesh. I also turned off Collision on the Left Motion Controller.

                            Not sure if it matters, but I'm on Vive.

                            **Edit**
                            Even after removing the skel. mesh, printing hand position on event tick is outputting pos: 0,0,0.

                            I'm spawning and possessing the VRSimple at Player Start in the level blueprint.

                            Verified VR character bp is set as default pawn class in game mode, and the same game mode is specified in Project Map/Mode and World Settings.

                            At a certain point, when I thought this issue got fixed by restarting the project, I verified "get Hand pos and rot" was returning accurate values.
                            Last edited by kusokuso1; 04-12-2017, 04:26 AM. Reason: Thought it got fixed by restarting, but it didn't.

                            Comment


                              Hi Mordentral, after losing my trackers from a firmware update I saw from another thread your fix for the switched tracked device type in the firmware update. I've switched to using your component since then (even though I know it's temporary), and I had a couple of questions.

                              I'm noticing a significant offset for my trackerPuck mesh with using your "gripSteamVrTrackedDevice" component set as tracked Device 1 - 3.
                              The pucks were tracking 1 to 1 for me without any offset with "getTrackedDevicePositionandOrientation" nodes.
                              I had scaled and repositioned the puck to origin and fixed pivot after downloading from the htc site though to get that working. Happy to share that with you if it helps.
                              Or, if it's not that, would you have any other idea what might be causing my new offset after the switch?

                              Also, I'm wondering if you could enable more trackers in your component (even though it's temporary)?
                              I'm using 5 pucks per player, and right now there's only options up to "Tracked Device 3".

                              Again really appreciate the faster replication I'll be getting from your plugin for the pucks than my blueprint replication.
                              Last edited by MagicBots; 04-12-2017, 08:28 AM.

                              Comment


                                Originally posted by alltrueist View Post
                                Hi Mordentral, after losing my trackers from a firmware update I saw from another thread your fix for the switched tracked device type in the firmware update. I've switched to using your component since then (even though I know it's temporary), and I had a couple of questions.

                                I'm noticing a significant offset for my trackerPuck mesh with using your "gripSteamVrTrackedDevice" component set as tracked Device 1 - 3.
                                The pucks were tracking 1 to 1 for me without any offset with "getTrackedDevicePositionandOrientation" nodes.
                                I had scaled and repositioned the puck to origin and fixed pivot after downloading from the htc site though to get that working. Happy to share that with you if it helps.
                                Or, if it's not that, would you have any other idea what might be causing my new offset after the switch?

                                Also, I'm wondering if you could enable more trackers in your component (even though it's temporary)?
                                I'm using 5 pucks per player, and right now there's only options up to "Tracked Device 3".

                                Again really appreciate the faster replication I'll be getting from your plugin for the pucks than my blueprint replication.
                                The TrackedDevice component actually uses the same function to get the position as you were using in blueprint, the difference being that I also apply the missing late update transform as well.

                                Also when testing I was downloading the mesh for the tracker directly from SteamVR using the node I made for that, so the scale should have been exact.


                                What kind of offset are you seeing? Like offset from HMD? If you are using the SimpleCharacter I could see that being an issue as I don't expose a boolean that fixes that to blueprint (come to think of it I should probably expose that).

                                I'll add additional tracker index's to the enum, but would like a description of the offset you have.


                                Consider supporting me on patreon

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

                                Comment

                                Working...
                                X