UEVR icon indicating copy to clipboard operation
UEVR copied to clipboard

[FEATURE REQUEST] Teleport movement with laser pointer

Open nucleiis opened this issue 1 year ago • 5 comments

Thank you for UEVR, it is already great but adding teleport will make it greater because there are tons of people cannot overcome or adapt VR nausea.

Since most UE4/5 games use the same character movement component, I guess it would be quite possible to add some laser pointer which can be controlled via VR controller and event handlers overriding character position / rotation using raycast on the floor (i.e UCharacterMovementComponent::FindFloor).

For VR newbies, this will make UEVR much more comfortable and enjoyable!

nucleiis avatar Jan 04 '24 07:01 nucleiis

@narknon thoughts? Do all UE games have consistent raycast flags that are always going to hit a surface correctly?

praydog avatar Jan 04 '24 07:01 praydog

Though if it is part of a FindFloor function for a built-in engine movement component that seems like it would work

praydog avatar Jan 04 '24 07:01 praydog

I think FindFloor is more for directly under the movement component. Most games do use a child class of the UE movement component, but some don't so that may not always work.

I think the ideal setup would be either the projectile slope calculation function, two line traces for max tp distance then down to floor, or a single linetrace straight out from pointer if not doing a max distance option (having max distance feels like it would allow for better mods overall so you can't just tp across the map).

To check if it is a valid TP location you can check if there is nav data on the spot, though that should probably be a toggle for whether to check it or not because some games use weird custom nav.

narknon avatar Jan 09 '24 16:01 narknon

If implementing teleport is relative complex, I have some thought which is inspired by how VRChat teleports and I myself feel comfortable. VRChat teleport

We can have a key bind to switch between normal mode and teleport mode. When user is in teleport mode, if user pushes left joystick, the camera position freezes; if user releases left joystick, camera position doesn't freeze and then teleports to the new location.

I suppose this need less effort to experiment and we can see if user is satisfied with this work around.

emile0909 avatar Feb 07 '24 11:02 emile0909