VR Expansion Plugin

Just pushed a new commit, also detailing previous un-mentioned changes.



**11/03/2016**- Physics grip re-overhauled

Changed Interactive Grip with Physics to use the gripped objects Center Of Mass as the gripped location, 
 adds a ton more stability to gripped objects and essentially makes  grip style feature complete. 
 has the consequence of the focal point of interactions being at the center of mass but over all the 
grip is far better off for it.


Now rotating the gripped physics object by the root bones world rotation (if a skeletal mesh),  corrects a 
rotational offset in 4.14 when the root bone of a gripped object is not rotated with the world.


Removed Interactive Grip with Velocity - After going over it with many different iterations I just don't think that 
it is possible to get  style of grip stable without a Fixed Physics Frame Time, Unity directly calculates velocity 
because they know the exact time between physics ticks so they can depend on the next tick being the same duration. 
With variable stepping in UE4 I can't do that so direct velocity control of objects is far more uncontrolled. 
Also now that the Interactive Physics grip is more stable there is less to no need for  grip.


Added constraint break distance to Grip Interface, if passed in a value > 0.0f with an interactive grip, the object 
will be automatically dropped (using grip interfaces SimulateOnDrop() value) if the distance between the grip and 
the object itself exceeds that value.


Added "GripObjectByInterface" / "DropObjectByInterface" functions to the GripControllers. These take either an actor 
or a primitive component and grip them by the properties passed in from a grip interface. These functions fail if the 
object to grip does not implement the gripping interface. Eventually I would like to turn all gripping into GripObject 
instead of GripActor/Component but I am retaining the legacy nodes for now so as to not break current implementations.


Added Grippable Static Mesh Actor which fully implements the Grip Interface and has public accessible variables to 
set for the interface. You can pick them up with "GripObjectByInterface" and they will handle themselves. 
(Good use case: place in level, set mesh to a door, constrain to a wall, set interface to use manipulation grip and no late updates, working door).


Added GrippableStaticMeshComponent which fully implements the Grip Interface and has public accessible 
variables to set for the interface. You can pick them up with "GripObjectByInterface" and they will handle themselves.


*TODO* Add grippable collision primitives for interaction points on actors.

Ceasing iteration on the plugin itself for a bit (its pretty stable) while I attempt to get a clean template project up. I realize that some of the more recent advanced features are difficult to get in to, so the need for a sample is more evident now than before.

I can’t release my demo as a template due to having marketplace assets in it, I need to make a clean slate empty level with some basic object implementations and movement / grip controls instead.

will take a little bit to finish as I want it to be a good example and not thrown together so I will be thinking about best object hierarchies and implementations for the starting example objects.

I also intend to showcase some time saving things and settings that I have run into for VR that are useful.

Fantastic, looking forward to it.

Thanks!

Best of luck on it. Lots of great stuff in plugin. Having a clean example or template would definitely help though.

Hmmm, was a lot easier to get going than I expected working off of my original character (thought refactoring would take longer). I should have a basic template using the Epic VR Template map (and their teleportation) by the end of weekend. Its stable already but I want to throw a few movement methods and some other things in.

Video going over the first days worth of features to the template, I hope to have the rest of the basics done and uploaded tomorrow.

Hi , looks awesome.

Template is “done” enough to prove useful, link is at the main post as well as below and an overview video is up for it.

template was done over Sat/Sunday so it isn’t the cleanest thing to ever grace earth, but it does currently provide examples of a bunch of the features of the plugin.

I will keep adding to it as I find time (including multiplayer examples).

Plugin Example Template Repository
https://bitbucket.org//vrexppluginexample

Very nice.

Having a blast playing around with , I am currently blocking out a desk to try the drawer functionality more thoroughly. Compared to the last build everything feels a lot better, especially the latest iteration on the rifle grip stuff.

Also sent you a PM, . Good work!

Hi ,

plugin and now template are so incredibly helpful, cool and educational! Thanks for putting the time into sharing what your working on, and also providing access to the files for others AND creating a template and Documentation to make life even easier.

I have one quick NOOB question.

If we want to clone a repository to get updates to your template…should we:

clone the template repository only
It includes the VRexpansionPlugin. I assume updates to the VR expansion plugin would also be reflected in the template?

Thanks again and sorry if is a stupid question!

If you want to keep the template as a reference yes that would work, I will be keeping the templates plugin version up to date with the most stable version of the plugin.

Well rifle plugin setup didn’t really change, granted the template does every correctly when the demo didn’t as it was constantly in flux.

I’ll check my PMs tomorrow

Pushed an Update to the template



Fixed an old component left over from Epics teleport component that was stopping gripping when swapping hands.

Added a laser beam function to the new teleport component, system button on the motion controllers enables it.

Updated to latest plugin version


Next planned updates are more interactible objects and giving a demo for the hip/body tracking and attaching items to your body.

Also pushed an update to the plugin



Added Sphere/Box/Capsule Grippable Collision components


Hi thanks for great plugin! Its big fun to play with it.
One little thing: I am not shure if i am doing something wrong, when i try to build the project for win64/32, it fails and i get the message “AutomationTool exiting with ExitCode=5 (5)”.

what version of the engine is for? I tried 4.13.2 but it wants to rebuild the plugins

I don’t pre-build, you will have to build it yourself as it is compatible with both 4.13 and 4.14 at the moment.

dunno, it builds fine and that doesn’t sound like a plugin issue.

Also I’m curious, does anyone have any requests for the template? It is fairly easy to add content to it.

Thank you ! Your plugin and the new demo content is a great inspiration for me. Is there any way to send you a donation? I feel kind of bad using it for free - you put so much effort, work & time in the whole thing…

Cheers

Terry

Hey . You have awesome plugin, but i can’t to install it. Can you filming “How to install it” and add on youtube? I’am begginer =(

Can’t figure out something with the drawer by interaction example. If I rotate it 180 degrees, I don’t appear to be able to pass it a linear translation that will constrain it such that it moves outward in the desired direction (-x instead of +x). -25 for the X instead of 25 doesn’t work, am I missing something?