VR Expansion Plugin

It isn’t involved in stopping the door at all, the door actually isn’t set to collide with it. The physics constraint stops the door and when it comes to rest the blueprint un-simulates it and gives it player collision.

Hello , thanks for your plugin, it is very useful.
I have a question: I have a bow and arrow that I want to manipulate using the VRGripInterface. I really want an event for OnSecondaryUsed - kind of like event OnSecondaryGrip/OnSecondaryGripRelease - any hope for getting as well? That way I can both double grip with left and right grip button and can also use left and right trigger button to manipulate objects.

I can add it to the interface, just keep in mind that its manually called in the blueprints so you don’t really need it, its a convenience node. The plugin itself never calls that event, its called in the blueprint script for gripping and could be replaced with any other interface event or just calling a function on the item.

Since its simple and probably useful I will add it in though.

  • Is there a way to get at the SteamVR user environment models, similar to how you do for the controller models? I would like to make it so that users can use the SteamVR environment in my VR audiobook player, since then people can do stuff like listen to Star Wars novels or whatever on the Death Star or LotR in a Hobbit house etc.

is such a good plguin, how have I only found out about when already made most of these interactions?! I must say the way your handled VR pawn collision is incredibly smart, hats off to you and so much thanks for giving away.

I don’t think they currently are accessible, they would probably fall under the “misc” render models directory but In the openvr version that UE4 is on at least that is still listed as “for future expansion”.

You could check the directory your self and load the models manually of course, but the layout is done with a json file and multiple models. Its beyond what I would support with considering how few (probably just you) would use it and how long it would take.

I added secondary used and end secondary used interface events, they will be in the update tonight, I won’t have time to revise the blueprints to allow for it (grips to drop secondary grip instead of trigger) tonight though.

Also its in the 4.15 alpha branch since that will be the main branch post official release (due to the header changes from 4.14 - 4.15).

Alright, probably not worth bothering with compared to just making my app support mods itself, really. I was mainly wondering if there was a nice way to do it through the OpenVR API I could implement myself, but it doesn’t seem like it.

Thanks!

Thanks for the answer, is it possible to give some examples since i cant reproduce my self . Maybe additional pawn with these type of colliding hands in the template project ?
Have a nice day !

Quick question - how would you handle leaning over stuff? As it is, when my ‘feet’ collide with an obstacle I can no longer move forward. But when I lean forward, my ‘feet’ will also move forward, as it is the head that is tracked. I was thinking of scaling the capsule up/down based on if you are moving using the controller and not, but that lets a player move up to a wall using controller movement, then walk right through it using the room space. Anyone have other suggestions?

Most projects (plugin or not) right now are letting players overlap to a set distance into an object before blocking them, turning off player collision entirely on things like tables (simple and effective), or running a separate collision check on a boundry around the head and blocking based on that plus a distance from the “foot” position.

They can all be implemented fairly simply, the issue is that they will always be hacky and incomplete without proper foot tracking. For tall walls you want total blockage, and for short ones even if you allow for “play distance” where the head can move out away from the body for a bit the average player is likely to be just walking that extra distance, not just leaning, so the immersion isn’t really any better unless the player strictly follows leaning over things.

I’ve been considering implementing the seperate head collision again (trialed it awhile ago) but due to the inherent imperfections of any system made currently it hasn’t been high on my priority list, the easiest method (just not colliding with tables and the like) is actually almost the best solution currently.

Uploaded a video going over the climbing example and a gripping change last night.

Has anyone had success in attaching the grip animation and mapping it to the trigger? I’m having some trouble making it work.

Im sadly just getting a 500kb archive when trying to download the plugin itself.

Thats correct, the full size of > 1gb includes the file histories of previous versions (including when i had the binaries in it). Just the source itself should be around that size.

The template is around 64mb though.

Went in today and started making VRClimbingMovementMode a first class citizen in the plugin. Should resolve being able to step up onto objects and use the release velocity correctly.

I will have to do some testing tonight, but so far it looks really good.

I set up a climbing system using your plugin to give the player gravity so when you let go you fall. Your climbing system seems to be slightly more rounded out than the one I’m using. I’m not sure if there is anything useful in there for you but if there is feel free to use it.

Its ok, the climbing system is pretty much complete, I had decided that if I was going to do one that I would “over do” it. Good job getting yours up and running though, I know you were looking for one for awhile, I just wasn’t willing to tack one onto the plugin, sorry about that.

Tried to copy the code from the BP motion controller hand but realized the plugin has two separate hand meshes. I’ll keep trying.

As far as I am concerned the climbing mode is functionally complete now, it is an actual Custom Movement Mode selectable from the character movement component and behaves pretty much exactly like what I wanted.

4.15 alpha branch