VR Expansion Plugin

Well…there is a flying movement mode?

Changed use project “Contagion VR: Outbreak” from WIP to Early Access.

It released today

Is it possible to grip a component from your own character? The first quick tests I tried didn’t work (wouldn’t grip), and before looking into it, I thought I’d just quickly ask if it’s possible by design first. I wanted to grip a child component, move it around, and then on grip-release take the resulting relative transform of the child, apply the delta to the parent, and then re-zero out the child gripped component.

Yes, but you’d have to change the overlap / trace checks for gripping so that they don’t ignore their parent actor. Currently they ignore “self” on tracing, its a simple fix in the GetClosestObject function.

At what point do you add games to your list. Ive started work towards my vertical slice for the last month and im expecting it into closed alpha by the end of the year.

Generally when it has some sort of media available and at the creators request.

Thanks for your work on an awesome plugin, you’re a legend!

I’m looking for some help running the plugin with a full IK character.

  1. I’m using the binary download of the plugin, version 4.19 from 1st May 2018 and UE 4.19.0 and can’t see the **GetIKMesh() **function. Was it introduced in a later version? How can I access it?

  2. My characters skeletal mesh is detached from the VRCharacter and it’s location is updated per tick to an estimated pelvis location. I need the VRRootReference collision capsule to follow it. What is the best way to do that, or would it be better to attach it to the VRRootReference and set it’s location?

The VRRoot updates it collision to the HMD location, you can simply attach the skeletal mesh to the ParentRelativeAttachment component and set the UseFloor boolean on it.

Gathering up some updates from the past days into one set of notes, some of these are ported back from the 4.20 branch that is up so if you keep track of those commits there will be some features missing as they are 4.20 only.

I’ll note that the updates are a little light since last posting, is because the 4.20 migration was pretty hefty and has taken a lot of testing and some bug reports to epic.

4.20 will have more changes that I will wait to list when it is live.



 Adding a high precision replication option for Quantized Transforms  
**vrexp.RepHighPrecisionTransforms**  
 When enabled the FTransform_NetQuantize that the plugin uses no longer quantizes at all.  
 Don't use ....it is for very special cases and will crash clients if the  
 value differs. I didn't want it to impact standard usage of the plugin.  

Generally you should try and keep your precision to 2 decimal places as that is  
 the engines default for multiplayer.  However I have a specific user that requires full precision as he is working with 10,000th
scaled objects in multiplayer.  
**I repeat, don't use  feature unless you have a specific need for it.**    

Corrected the network smoothing setup, no longer runs smoothing on ticks that include rotation, also delays the movement of the root
comp during smoothing steps to avoid an extra positional update. Smoothing should be functional and usable again with the
VRCharacter, however it is still defaulted to off.  

Converted the GestureTrackingComponent to use a timer for updates, it made a lot of sense to move it over to that instead.
It no longer ticks.  

Added momentum retention to the slider component.  

Added Restitution to the slider and lever components (when momentum retention is on they can bounceback from their endpoints).  

Removed the limits on the Lever and Slider components MaxMomentum property, there isn't really a reason for me to
enforce a value here.  

Added a check for in Editor drawing of the player capsule so that it correctly offsets upwards in preview,  is because
I run the capsule location at bottom == actor zero compared to engine default of center == actor zero.
Offsetting it upwards shows the  correct preview window for component layout.  

I may have found a bug with the “navigation” movement mode. If you hold something in your hand while using it you move around like crazy in a zig zag pattern and not reach your target until you drop the object. I used the 4.19 example project. Is there maybe an easy fix for that and is it known?

Hey, I’ve run into a bit of an issue I was hoping somebody could help with. Currently, I’m translating the motion controller transforms to an Ikinema rig in order to properly track the player’s upper body movement to their character.

That said, the IK rig has some constraints that the motion controllers do not, so when I grip an object, such as a firearm, instead of having it follow the motion controller’s movement directly, I’d like to have it snap to the player’s skeletal mesh, thereby following its movement, rather than the motion controller directly (otherwise, the gun tends to be more responsive than the IK rig and causes the hand to lag behind the gun while gripping).

Looking at the blueprints, I’m unsure how to accomplish . I tried a very basic method of simply, on a successful grip, having the gripped object snap to a socket on the player’s hand, but while worked for basic grippable static meshes, it didn’t work for my weapons (derived from BP_Firearm) and it of course negated the ability of the object to collide with the environment while held.

Hopefully somebody will be able to help, because I’m quite stuck at point.

TL;DR: I’m trying to figure out how to have a held object follow the movement of a socket on the player’s skeletal mesh, rather than directly following the motion controller, to avoid lag between the object and the player mesh.

Well just turning off late updates should let it work fine as long as you run your IK calculations late enough, the only downside there is that if the object goes out of reach of the IK arm.

The alternative is turning off tracking and movement replication on the motion controllers and manually moving the IK to match the tracking data for the controllers, then just attach the controllers onto the IK hand where you want the grip base and use them just as gripping components.

Either works, regardless though I have to say that I personally do not enjoy late updateless games when holding things, the latency can be very noticeable.

Where is the 4.19 Template?

is the 4.19 or 4.20?
https://bitbucket.org//vre…?tab=downloads

i try to use with 4.19 but dont start

i try to change the version with right click
i try to build via VB
but nothing work i cant start the template with 4.19

Master/Default branch is always the current engine version, so : https://bitbucket.org//vre…et/default.zip

Regardless downloading the repository should give you the default branch which is 4.19.

OK i Download

  1. Right Click on VRExpPluginExample.uproject and Generate VS Project File
  2. Open VRExpPluginExample.sln and Build have 1 error

If i try open Project say missing ddl files, you like rebuild? i say yes! and error VRexpPluginExample could not be compiled.

What i make wrong?

error
UBT ERROR: Failed to produce item: C:\Users\user\Desktop-vrexppluginexample-f444d27d04b1\Plugins\VRExpansionPlugin\VRExpansionPlugin\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-VRExpansionPlugin.lib

Remove all of the extra characters in the folder name that bitbucket generates, the name length is too long.

2>UnrealBuildTool : error : UBT ERROR: Failed to produce item: C:\Users\user\Desktop\VRTemplate\Plugins\VRExpansionPlugin\VRExpansionPlugin\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-VRExpansionPlugin.lib

Same :frowning:

Hey i have a theoretical question. Can the vr character pawn be scaled up. To say. Climb into a mech suit that is really a large pawn.

Yes, you would want to change world to meters when inside it if viewing from its eyes, if just a cockpit, then you don’t need to do that.

Regardless if it is a cockpit then you don’t want a VRCharacter, you want a std character with vr set to head relative instead of floor.

I have been having strange error when playing in dedicated server(real one, not the one inside engine) with at least two people and one of them dropping out. It doesnt affect game, but is very annoying. Any idea why is happening? Why does the motion controller is looking the spline when it is inside the teleport controller? Do they get attached to Motion Controller somewhere? I didn’t find it in code? Thanks!