Green screen is the worst method I know. You’d always have green things left, or mess around with the threshold, but eventually eat away innocent Pixels.
This one is a better method. Can you take 'screenshot' with transparent background? - #8 by woot3
Same way in the Source Engine for Source Filmmaker scenes.
The more clearer but restricted way, is to use ViewportFrame and a Protected Method called ViewportFrame:CaptureSnapshotAsync
You’d first have to do something to Studio to access that method. I am not satisfied with the Viewport Method though.
This was the output:
Has no white lines
But it has pixels around it that I am unhappy with, and there’s no better Lighting. You can increase the image and all that, but compared to Studio’s actual viewport, it’s not so great.
CaptureSnapshotAsync creates a snapshot of the selected Viewport and creates a rbxtemp://
Temporary Asset, but that function itself only returns the String to the Asset.
It doesn’t return a File
class, so I had to figure out another way to export this Binary Content.
To do that, I created a Dummy Part and a Decal with the temporary Asset ID, and then I exported it as a .obj
which will give me the image of the Decal.
There’s white outlines around the Viewport Frame, because I removed the BackgroundColor of the Viewport Frame, the white outlines don’t seem to get captured by the Snapshot function, it seems to be some other visual bug that has existed for ages.
This here is the dummy part I used to export the image.
The best method is ThumbnailGenerator. It surpresses the Lighting’s Sky and can even define a Alpha, then uses G3D to output an image. That’s actually how Thumbnails apparently work. Unfortunately this Service is not built-in into Studio…