Include ThumbnailService into Roblox Studio with PluginSecurity, to allow transparent render draw captures with No Skybox

As a Roblox developer, it is currently too hard to …

To take a precise high quality render drawed screenshot/capture of a specific object for graphic purposes.

 
If Roblox is able to address this issue, it would improve my development experience because …

You could create renders and output them without background, useful for creating specific thumbnails for in-game icons without using Viewports, all with one click or one function call.

Instead of having to use things like “Green screens”, Ambient Occlusion tricks, etc.

This is again, useful for things like:

  • Game Wiki specific images
  • Any graphic art
  • Useful for creating a Thumbnail for a game by putting clean renders on the image
  • Icons for in-game items without using Viewports (which can be more optimized)

 

The best I was able to get so far, by only using data from Roblox Studio, was this I guess.
Find out below on how I achieved this.

 

Not-optimal, but precise workaround using Viewports to export transparent captures

Using Viewports you can export the texture, but the resolution is very limited.

Downsides:

  • Way too many steps and probably complex
  • Resolution is capped (1024x1024)
  • Other lighting is not included

 

ThumbnailService from RCCService

Whether it’s true or not, apparently RCCService has “ThumbnailService”. A tool that generates the thumbnails for everything you see on the Creators Hub page.

What it seems to do is to disable the Skybox completely before taking a snapshot.

 

Why ThumbnailService may disables the rendering of the Skybox

RenderDoc

RenderDoc, a tool that can replay the rendering process. However, not at a low level, only whatever it can get. Driver Issues and etc. doesn’t seem to get captured by this program.

Here you can see that a portion of the skybox is present.

If the skybox is completely present you can’t get the transparent component of the rendered objects.

![image|690x232, 30%]
(upload://nGmVgzeSVfNMY4FXuXWfWJCCLRP.png)

Doesn’t matter if you invalidate the skybox textures or similar. I believe it must be discluded from drawing completely.

 

For the image I made above, it was through this. I created a part which is a Surface GUI. This Surface GUI seems to make a cut out resulting in a probably clean cutout that you can compose together.

Summary

You can also obtain a transparent render in one of the first rendering events, but it lacks some of the post-effects.

 

At the end, combine the images together and you can receive a more preciser output.

You also have to disable things like fog and etc.
Just note for each SurfaceGUI it creates this cut out, so you have to compose multiple cut outs together if you wanted to get the full complete cut out.

However, as a workaround it was better than Viewports. Except that you have to do extra steps, but can keep precision.

I couldn’t test this with Anti-Aliasing being present, because RenderDoc throws this error on a higher quality graphic setting capture.

image

6 Likes

I would recommend using the Photobooth Plugin by @EgoMoose:

That being said, this would be a nice feature to see added!

1 Like