Hello everyone, I need your help! I Have decided to publish a project I started 2 years ago as open-source, that means you, your dog, or even your mom can contribute!
Follow the GitHub repository for the latest versions of this module.
The dream,
To have a free, optomized, open-source, community ran, Roblox mirror, that is reliable and versitale for almost any use-case it is asked for.
Info bellow is as of intial release.
Some basic setup,
Place “MirrorWall” part in a folder named “MirrorFolder” under workspace. Front surface of the wall will be the reflection plane.
Place and scale a “MirrorBorder” part in the Workspace, then parent it to ReplicatedStorage once you’re happy. This will be the bounding box and the mirror’s “domain”.
And place your local script for Requring under ReplicatedFirst.
Significant features,
Plane clipping, I have not seen others abuse the viewport camera like I have, reflected objects actually get clipped at the plane of reflection.
Optomized, the code is well optomized and effecient as it uses multiple run-step layers (may vary per game and use case).
Cons so far,
The code may be buggy, especially in the initial release. It has not had enough resources for mass testing. Please comment any issues, and let’s all work together to fix them.
No workspace part updates, only character updating.
As of the time of release, you cannot flip viewport frames or invert meshes without shading issues.
Characters appearances will not be mirrored correctly but their animations will be.
Terrain cannot be rendered in the mirror’s viewport due to Roblox limitations.
Also It would be nice if text flipping is supported (i know its possible for UI, idk about decals). You could also try tinting the viewport to match colors more accurately. Other than that, great module keep it going!
Doing mirrors that way doesn’t allow plane clipping like my approach has, it would only work in specific setup scenarios and you have to block off the area behind the mirror or else there will be ghost avatars walking arround. My approach can clone the area you want into a mirror anywhere, with the only drawback of render quality.
I’m curious, are you using ViewportFrames? Found out, you were indeed!
Also, since they have a maximum resolution, why don’t you have it automatically create more ViewportFrames when the maximum resolution is exceeded? This would fix pixelation if you make it use multiple ViewportFrames after it gets a little too big to be non-pixelated (just a sort of guess in resolution size).
Great work on this, hope you continue if there’s anymore that can be done, I think its really less about how crispy clean the mirror looks and more about how performant it can be, like say if you wanted a hall of mirrors and for it to work even on lower end hardware