1 of 14

VR Telekinesis along path Documentation

2 of 14

Features

  • Fully customizable path
  • Unlimited number of path point
  • Ready for both Blueprint-only and code projects. No need for any C++ code in your project.
  • Move any kind of static meshes along the path
  • Define the object to move offset along the path
  • Define the speed along the path
  • Choose which part of the transform you want to update along the path (location only, location and rotation, the whole transform)
  • Create a spline mesh or a recursive mesh along the path
  • Spawn a particle system and define it behavior
  • Create a mesh at each spline point
  • Contain blendable materials (blend when the user interact)
  • Contain a bridge that change color if the player is doing the right/wrong movement.
  • Compatible with a linear path
  • Compatible with a curved path

This asset creates a path that an object will follow according to the movements of your VR controller.

It contains two blueprints:

  • The first for remote telekinesis
  • The second if the player must touch the object to move it along the path.

3 of 14

Architecture

Distant spline

Proximity spline

VRSplineMove

VRSplineMoveProximity

4 of 14

Architecture

Distant spline

Proximity spline

MotionControllerPawn

PickupActorInterface

BP_MotionController

VRSplineMove

VRSplineMoveProximity

MotionControllerPawn

Motion controller trigger pressed

Draw a line trace, if it hit a VR spline move, communicate with the BP

Get the controller position

BP_MotionController

Get the controller position

Motion controller grip pressed

5 of 14

How to

Simply drag and drop the BP in the level

6 of 14

Settings

  • Define the relative offset of the mesh you want to move.

Caution : The result may vary depending on the “Update transform along spline” setting (because if you change the rotation and then put the setting to “Location and rotation”, the offset will be relative to the spline point).

7 of 14

Settings

  • Defines the mesh you want to move, its material and its speed along the spline

8 of 14

Settings

Movement threshold= 0.2

Movement threshold= 0.8

  • This setting is pretty important, here’s how it works [keep between 0.1 & 0.9]

Spline

Controller direction

The mesh will move

The mesh won’t move

Spline

Controller direction

The mesh will move

The mesh won’t move

9 of 14

Settings

Most of those settings are applied in the construction script.

10 of 14

Creating the spline

DO

DON’T

Your path must be curved steadily so that the movement to be made is not too hard for the player.

11 of 14

Blendable materials

If you want to make your own blendable material, reproduce the set up below.

Material A

Material B

Check “use material attributes”

Parameter name : Blend Alpha

Default value : 0.0

12 of 14

Problems with the movement?

  • Change the speed of movement, the IRL movement may be too long
  • Reduce the Movement threshold (minimum 0.2)
  • Draw the debug trace “for one frame” and check if your movement is correct (pawn settings)
  • Try to check “Reset controller position at spline point (for long spline)
  • Remember that the movement you need to make must be in the same direction as the spline, either parallel or tangent

The line of sight hit a distant spline but the mesh don’t move : Check your collision settings

13 of 14

How to migrate the feature in my game?

Reproduce exactly the following nodes, variables, functions of the BPs:

  • MotionControllerPawn
  • BP_MotionController
  • PickupActorInterface

Migrate the spline BP, and the enumerations.

Some “Cast to” nodes will be broken, you have to repair each.

14 of 14

Thanks!

Combine this asset with the VR Platformer template asset to improve the gameplay!