Skip to main content

Overview

This guide will go over how to use the Repositioning Remote Players technique to create what appears to be an anti-gravity effect. Just know that this system is an illusion. The local player is never actually rotated, but simply teleported to a duplicate of the world that is itself rotated. 

https://twitter.com/CyanLaser/status/1180655212568043520

Example Project Download

All Examples for this guide can be downloaded from my GitHub. Please continue to follow the rest of the guide if you want to implement this yourself as the technique is very strange and may not make sense looking at the files alone!

Overview

There are 4 items required for this system:

  1. The world with duplicates for every orientation
  2. A way to move between each orientation
  3. A system to designate which orientation you are currently
  4. The RRP system + Object Pool to distribute one per player
    1. Position remote players based on your current orientation

The first three items are simple. The last item is where it gets complicated. You can ignore the player pool as that has been solved through prefabs like CyanPlayerObjectPool. It all comes down to how players are positioned in the scene. 

The idea is that for the local player's current world orientation, you sync their relative position. Every other player will then calculate where that position is relative to their orientation, and set the player's station there. 

Diagram showing Wall Walking concept