This looks like a nice system. I hope it works out.
This seems interesting hope to use it sooner glad you put this out.
I’m still going to replicate all stuff tbh.
I think it really depends on how much you do replicate.
Having things destroy & create themselves is a lot more costly than simply duping everything visible to that mirror into a viewport frame, besides the characters of course.
That’s still the worst way to do this, and it’ll be so inefficient.
Very nice!! Any pointers for doing this?
Until we have the ability to apply our own shaders to cameras/textures, you won’t be able to easily use SurfaceGuis for this, since the perspective will get messed up at off angles. Trust me I tried for hours.
Intead there’s a trick that you can do with BillboardGuis where you set the ViewportFrame to the same size as the camera’s Viewport (larger than the BillboardGui, which can cover a smaller amount of your screen). Then using WorldToViewportPoint, adjust the ViewportFrame’s position depending on where the BillboardGui is on your screen. As long as you can align the two cameras, the perspective will look perfect.
In this example I’m cheating a little bit. I’m cropping the BillboardGui past the edges of the doorway using glass blocks positioned in front of the screen with .9999 transparency. It wouldn’t be very practical yet in a real game. We need the ability to crop GUIs without using bugs, then the amount of possibilities will be higher.
Have you tried messing around with setting the camera’s CFrame to a non-orthogonal space?
Check out this tweet and its replies (including an explanation and a link to some source code):
I haven’t tried that, it looks cool. I tried doing similar stuff to figure out portals with SurfaceGuis though. I don’t think this will cut it. I’m by no means good at math, so I could be way off, but I think the only way to get a properly projected view when looking at the surface from a weird angle is by having per-pixel control (ie shaders) that Roblox doesn’t offer yet.
I’ve tried it out, I understand how to manipulate the Camera’s CFrame matrix but I don’t have the slightest idea of which matrix values need to be manipulated to compensate for the shift in perspective. It would be awesome if some CFrame experts could provide some insight, this seems to be the cleanest and safest method of achieving this effect.
I can’t wait for this feature to be released, I have some pretty cool ideas for it. I also really like what @Emilarity did with it, which I will probably do as well.
One of my ideas was too use viewpoints for spectating other players on TV screens in the lobby of a game I am working on.
I love this, i can achieve a tardis like effect very easily, although it would be better if i was able to use a shader on a surface gui https://cdn.discordapp.com/attachments/348909182168203264/533053680388407316/Viewport_Frames.mp4
There are so MANY possibilities from this. Can’t wait for this to get released.
I too would like this feature as this could replace the whole need for rendering in my games.
Absolutely love this idea, opens up a very wide window of possibilities from the simplest to the most complex - eager to see what inventions other developers can create from this!
I love how many effects I could make with this!
Hopefully it will be added before my game comes out!
Another version of the tardis-like effect