Skip to content
This repository has been archived by the owner on Aug 11, 2024. It is now read-only.

Teleport System v2 #722

Merged
merged 7 commits into from
Dec 18, 2020
Merged

Teleport System v2 #722

merged 7 commits into from
Dec 18, 2020

Conversation

FejZa
Copy link
Contributor

@FejZa FejZa commented Dec 17, 2020

XRTK - Mixed Reality Toolkit Pull Request

Overview

This PR fixes #504 and introduces some new features to the teleport system.
The core change is that the act of "teleporting" is now done by "teleportation handlers". Instead of the teleport system just moving the camera around. Using a new teleport system profile the user can configure a handler implementation to use, this opens up endless possibilities to handle teleportation.

Previously:

  • Teleport just moves the camera/playspace to target position instantly. That's it

Now:

  • You can either just teleport or have e.g. an animation / sound or whatever play when teleporting. It's all up to how the handler implements it

The PR comes with two default implementations.

InstantTeleportHandler

This is what we had so far in terms of looks and behaviour. The user selects a teleport location and instantly is moved there.

instant-teleport_1

FadingTeleportHandler

This implementation will fade in / out the camera before teleporting, which leads to a more appealing and smooth teleport.

fade-teleport_1

Changes

Submodule Changes

@FejZa FejZa changed the title Feature/teleport system v2 Teleport System v2 Dec 17, 2020
@FejZa FejZa self-assigned this Dec 17, 2020
@FejZa FejZa added the Ready for review PR finished primary development, open for review label Dec 17, 2020
@StephenHodgson
Copy link
Contributor

Overall love the work, I think it's great we have a proper profile and handlers for this now.

I guess my only concern is that the default implementation cannot be packaged with the core (similar to the gaze data provider which serves a similar function as it is required for the input system to work)

@FejZa
Copy link
Contributor Author

FejZa commented Dec 17, 2020

But don't most of the systems have that issue? Spatial Awareness also won't be able to do anything without SDK.

@FejZa
Copy link
Contributor Author

FejZa commented Dec 17, 2020

We could have a "fallback default implementation" that kicks in if no handlers is available. As soon as one is registered in the system profile it takes over?

@StephenHodgson
Copy link
Contributor

StephenHodgson commented Dec 17, 2020

Yeah but the difference with the Spatial Awareness system is that not all platforms could have data providers.

I think it's more like the default gaze provider.

Teleportation is essentially platform agnostic

Copy link
Contributor

@StephenHodgson StephenHodgson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got to try out the demos, great stuff Dino!

@FejZa FejZa merged commit 73d0df8 into development Dec 18, 2020
@FejZa FejZa deleted the feature/teleport-system-v2 branch December 18, 2020 09:28
XRTK-Build-Bot pushed a commit that referenced this pull request Dec 25, 2020
* Define teleport system profile

* Add profile inspector definition

* Register system with new profile properly

* Fix teleportation

* Introduce concept of teleport handler

* Implement MixedRealityTeleportSystem v2

* Update submodules
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Ready for review PR finished primary development, open for review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Teleporting does not land on desired landing location
2 participants