True! That’s why seemless teleporting to this actual place might be an intresting idea. On an other note, there is a much easier method not involving masking. You simply take advantage of the glass material and decals and/or highlights. For some reason, these 2 don’t render past glass when it is transparent I think. Not sure if it can work with Transperency set to 1, but it works with 0.99.
Maybe it won’t render the viewport frame masking if used smartly. Still there would be a limit to how complicted the enviroment would be. Here is a demo btw : https://www.youtube.com/watch?v=IDjycNwzD68
And thanks for the place file :)) I think I worded my idea poorly though
This picture is the inspiration. I can do it with particles on a few basic shapes. However, the problem is that the effect is gone if the user has graphics on low :((
It does not need to look exactly like that. I’d be happy with being able to have some tiny spheres scattared on the surface of the object; or have those “spheres” run along the edges like an outline. Think if it like objects being decorated with pearls.
Yea that has potential as well. It’s just a shame that as a Roblox developer you gotta get used to having to rely on hacky workarounds to achieve effects that ought to have been added by now.
Looking at the reference, I think you could use Forcefield material overlaid with your ground meshes to achieve the tint on the hill tops. Sadly I don’t really know how to get those dots especially if they’re 3D. Particles could work but as you mentioned, they’re not gonna work well for low graphics.
Here’s a quick example of using Forcefield for that gradient look: Forcefield_Terrain1.rbxl (267.6 KB)
It is :// I really hope they can introduce official ways - or shaders. Why can’t we have them lol?
The place looks so cool; tbh the sight beneath the map looks more impressive then on top of the hills. The force field looks like real mist or northern lights!
With a texture, these lights could even “glow” in a sense. As for the dots, I think using the technique they do for roblox portals might work? With that hologram effect, things look not flat at all. Might be useful for you too :))
Hello again. I have been on and off on my thing and wanted to share a nice finding - and ask a further question. So, starterguis aswell as the right skyboxes with high reflectance on either Plastic, SmoothPlastic or Glass achieve some awesome effects. A starry sky can make the material appear like a crystl that sparkles. StarterGuis can aid in creating fake outlines (what I learned from another post) but there is also a limit in how many curves you can have and customization.
There must be some way to make Highlits/Outlines for meshes with more customization! I was thinking that there may be a way to have an inverted mesh with a masked viewport frame of a pattern that sort of faces the camera (like with Particles)? I am not sure if I can actually make my theoretic approach, so I’m intrested in what you think :))
You can keep the Highlight count low by applying one to a parent Model containing other Models and / or Parts, which you want the parent Model'sHighlight to be applied to.
Unfortunately Highlights are visually really limited. There is a bug for basically increasing the brightness of things seen through the Highlight, but aside from that, Highlights can only have a flat fill and outline color.
Your suggestion could work but there’s still some issues. For example creating an inverted mesh and a 0 alpha mesh for your object takes time. However, now that EditableMeshes are usable in ViewportFrames – as far as I’m aware –, you could programmatically create the inverted mesh for your object as well as a 0 alpha mesh to erase the interior parts of the inverted mesh.
Another problem is the prevalent issue of the lack of depth; ScreenGUIs are always rendered on top. However, there is a way to fix this issue somewhat. By putting the masking ViewportFrame onto a plane with a SurfaceGUI, you can sort of fake depth. Of course you won’t be able to achieve full 3D depth as everything is on a plane, but if the plane doesn’t interact with any objects, the result is pretty convincing.
Here’s an example video of the previous explanation:
(Left red rectangle is the plane, the red lamp on the right is the ViewportFrame and the grey lamp is not necessary, but helps show the effect better)
I have been trying to create 0 alpha meshes and after spending the better part of an entire day I cannot for the life of me get it to import correctly into roblox.
I took a mesh from the example place as a test and it works right out the box, and isn’t visible in the VP frame. Meanwhile all of my mask attempts are visible acting like normal parts and don’t work.
I tried using the script in blender first which didn’t work, then I imported the working brick into blender to find it had a different alpha property set to 0 so I tried that on a mesh and it still did not work in roblox. What am I doing wrong!!!
Is it because the material data is contained in the .mtl file? Do I have to bake it somehow? Did roblox make it impossible to do this trick?
I am rather incompetent with blender and would really appreciate some help
Anyway, I had lots of fun expirementing with this! I am no scripter, but I think this also has potential for cloud simulation? It made sense in my head a few days ago but now I can’t explain why anymore :((
Let me know you thoughts on this :))
That sounds interesting, let me know if you have any ideas on it, I’m always interested to mess around with Roblox’s rendering quirks in hopes of finding cool effects.
I sadly don’t have many ideas on how a volumetric could effect could be achieved with this masking method. Although, maybe you could use multiple of those aforementioned SurfaceGUI planes.
I could try experimenting with that if I find the time, but it definitely won’t run well as you’d need dozens of ViewportFrames for a convincing effect.
Hmm, I think I might remember now, but I don’t think you could make the clouds move like real ones, although I do have an idea how to perhaps fake it.
Firstly, we’d need a cloud mesh. To give the cloud that fuzzy look on the edges, we could have a layer behind or surrounding the cloud (maybe an inverted mesh??) with a hazy moving texture. If this can be duplicated or elongated and somehow be fixed to the cloud mesh, you might achieve a good looking fluffy cloud :))
Another idea would be to again have a big mesh cloud (which can slowly rotate around its own axis) and have editable images move on them. You’d still need some inverted outline mesh which has a haze texture always facing the camera. Otherwise the texture will just bump into the edges of the outline when moving around with camera
this game is opensourced and features the editableimages I am talking about. You can mess around with this info and leave the EditableImages part out if it is too difficult
I tried out the layered SurfaceGUI + masking and got this result:
The video uses 100 layers of ViewportFrames, and evidently isn’t very performant. So, it’s not really game ready without proper optimizing. The resulting effect though is pretty cool especially with the last cloud looking kinda blurred.
Also I unfortunately couldn’t really get past the delay between the camera stopping and the planes settling. I think it has to do with some sort of optimization on Roblox’s end for ViewportFrames.
amazing results! You are right, 100 layers of anything would probably need optimisation. Does the last effect use 100 to achieve the blurryness?
And as far as I have heard, SurfaceGui is the least performent 2D use in game. According to Mr.ChickenRocket, the best option would be SurfaceAppearance (color map only is even better). Thugh I guess using them would require a different method
All three actually use 100 layers hence the delayed settling of the effect. With further optimization, it could be gotten to around 10–20, but there’s still some noticeable delay and lag as ViewportFrames aren’t really known for their performance.
As far as I know soft looking clouds require some type of layered transparency, which Roblox doesn’t really like. It’s just a matter of finding the best of the worse options: Textures, Decals, SurfaceAppearance, ParticleEmitters etc.
Your cloud looks nice! Just try to minimize face count as layered transparency can get quite expensive
Gotcha; Roblox likes limits, don’t they? Maybe that’s how they wanna power our imagination
I would use my method, but the plane edges always stick out under certain angles. This approach would be best for a game with a fixed camera. I tried out different shapes and sizes for the planes, but the only way of making them not visible is possibly with code ://
If you want an interactable portal, I’d recommend going for EgoMoose’s one. Of course you could mix it with ViewportFrame masking to get more unique visuals, but as this masking method stands, it’s not that practical for making actually interactable portals alone.
If you want some form of faked depth, I’ve created two examples of SurfaceGuis with ViewportFrames applied in world space.
One is basically a BillboardGui and thus needs EgoMoose’s ViewportFrame math, and the other is a fullscreen plane, which has way simpler math: ViewportPlanes1.rbxl (118.8 KB)
Hello @6mikael6 :)) I have a curious tech question. Would you say that using VFM to duplicate anything lots of times is more buggy than actually duplicating the thing itself?
I was watching some BTS of Coroline (a stop motion animated film) and came across the part where they showed how a whole garden of flowers blooms. In real life, making so much flowers “bloom” would be very time costly to pull of - and simply difficult on top. So what they did instead, was to place a bunch of mirrors under different angles, film that, and edit the flowers in post to the right places.
I thought : would this work the other way around in video games?
Sounds pretty interesting, I think using ViewportFrames could be less performant as they’re essentially rendering a completely new scene. So I think duplicating the thing itself would be the best bet, until Roblox hopefully adds shaders one day.
Technically you could use glass refraction (specifically with 1+ transparency) to somehow show the object multiple times. but that’s really convoluted and won’t work on lower graphics.
Some other repeating things in Roblox I know are Beams, Textures and ImageLabels, the latter two of which can be animated with a spritesheet.
However, all three are 2D, so they won’t look convincing from all angles.
Spritesheet ParticleEmitters could also be used but that might be a bit finicky depending on the use case.
how to make alpha 0 text in blender? I make text then convert it to the mesh and then do boolean, after that i try to make it alpha 0 and nothing works