I use ViewportFrame very frequently, due to various reasons:
- I don’t need to upload specific image to roblox - it’s generated from parts and camera!
- It NOT uses internet to download images, because
ViewportFramerenders it. Only meshes and images which are insideViewportFrameneeds to be loaded for it to work. - It just allows me to make a lot of animations inside it without making spritesheets for every angle possible.
- Image generated from it is always in wanted size - if screen is big - it will be as big as needed too, without any stretching
- And this list can go on really far…
But everything has it’s own issues. Right now, ViewportFrame can be used only one-by-one - if you have inventory with them, and there’s 20 same items displayed, there will be also 20 ViewportFrames with same items, cameras and such. In most cases it’s okay situation, but if they need to be cloned, and object which is rendered is high-detail, it will cause lags.
There’s a lot of situations when I need same, or similar ViewportFrame results being shown in diffirent places of my game, starting from inventory I already mentioned to particles (for example, fire particles can be done with viewport frame masking and custom billboard system).
Due to reasons I said above, I think it will be very great update if ViewportFrames get update and will generate Content image, which can be used by ImageLabel, ImageButton, Decal, Texture and such.
-
If
ViewportFramescene gets updated, it will update generatedContentimage too. -
Produced image size by
ViewportFramewill be the same asViewportFrame.AbsoluteSize- If it exceeds 1024x1024 size, and Roblox NOT supports that, then image should be downscaled to 1024x1024.
-
ViewportFrame.ImageColorshouldn’t affect outcome ofContent, because it’s post-processing of the image. -
Idk if
ViewportFrameupdates image, if it hasVisible == false, but in this particular case I believe that it should update image, with exception if it currently not updates it. Maybe there even should be propertyDisplayCurrentRender, which controls this behavior.
Reason to that is how this feature will be used - users will generate image withViewportFrame, and store it in someScreenGuiand make it invisible, and use result image where needed. -
When result
Contentimage is used in otherImage-using objects, it should allow to use various image properties, like:ImageRectOffset,ImageRectSize,ImageResampleMode,TileSize, and many other. “Glitch” of using out of bounds colors to makeDecalandTextureglow is also valid use-case.
Now, due to the fact that Roblox has blocked Content feature to 18+ verified users, I must also tell why this feature should be made WITHOUT it restricting to 18+ users:
In the case of EditableImage, users can draw inapopriate things. It’s absolutely possible to do 1:1 with ViewportFrame, even now. The only diffirence between this two is first allowing us to directly work with pixels, and second one is some sort of “Vector” drawing. With parts. I can make inapopriate thing in ViewportFrame, it will be not moderated - same for EditableImage. This isn’t reason to lock this particular feature behind verification - without it I just need spam ViewportFrame.