How would I go on making a non-euclidean elevator?

In short, I want to achieve a non-Euclidean effect between the “outside” and the “inside” of an elevator, which is challenging to think about how to do this. Some images show what I mean:

the inside of the elevator from the outside perspective

the inside is hidden when you look behind it from the outside perspective

the outside of the elevator from the inside perspective

Please, any help is extremely appreciated. There are probably tricks and ways of doing this, but I can’t think of any right now.

2 Likes

The main way *I can think of doing this is to have a viewport to display the non-euclidean inside (relative to the camera), and when the player approaches the viewport they get teleported to the larger location.

This sort of idea is utilised in the following resource:

They’ve provided an uncopylocked place that you can mess around with.

(The scale of work needed for implementing euclidean can be a lot, hence why I’m providing just a description of how you would do it, plus a resource)

1 Like

Would it work with more people though? For example, if 5 players were heading to the elevator, would this non-euclidean effect still work and would they join it with no problems?

I’m pondering how you would go about this. How well would a mesh with removed sides work for this?


I’m thinking of only having the inner sides shown–unless there are more complex objects

1 Like

ehhhhhhhhh.
It might encounter some more issues and not be overly performant, but overall it should be possible.

(As Roblox doesn’t allow us to directly output the view of a camera into a GUI object, we’re limited in what we can achieve regarding Non-euclidean worlds (and portals))

i’ve never thought about that…

That way has the drawback that:

  • The player wouldn’t be able to walk (or put the camera) behind the entryway, otherwise the illusion is broken
  • The room has to be empty, otherwise internal objects will be visible
3 Likes

Yea, in this case that wouldn’t be possible

Because the elevator necessarily will have items inside of it. Those images were only a demonstration

I’ve watched a video that demonstrates this (although it’s not exactly what I want), but would it work though:

EDIT: basically the script TPs the other room when they go through that one green part. But my concern is whether this would work on an elevator.

2 Likes

@SeargentAUS just wondering, how would it not be performant? Aren’t ViewportFrames rendered on each client? I also don’t see how the addition of some players might significantly ruin its performance.

Also, I came across ViewportFrame Masking a while ago. I haven’t checked out the other portal implementations on this forum, but this resource’s uncopylocked place had pretty cool implementations.

1 Like

It’s likely that they are more performant now, but I believe that they were a bit laggy a ways back

3 Likes

I will notify you guys as I develop this project.

Updates, I’ve found a post about this. Re-Creating a Portal Effect,

Is this what I want to achieve maybe?

1 Like

shadows:
Shadows will not be cased in this case most likely

Was there ever a way to make shadows from invisible parts? I thought there was, but I’m not sure how well the methods for nonstandard shapes work now.

it can be done using forcefields but its insanely hacky + does not work on all devices and does not work with meshes afaik.

What can work is merging viewport frames + teleporting. Since the elevator is constantly moving, I could place a camera in front of the elevator door, and another one inside the elevator, but the elevator itself is actually in another place. But I don’t know how could I do this since the door would open/close

1 Like

This video here explains well how that would be, except that there would be only one “portal” at the elevator’s door.

EDIT: Original video is found here GitHub - EgoMoose/rbx-viewport-window: ViewportFrames that allow you to peer into different dimensions!

Oh my god sorry for late reply but the best approach is to use glass which would result in no shadow or render glitches like the one from @roft