Make ViewportFrame generate Content images, with all other image possibilities

I use ViewportFrame very frequently, due to various reasons:

  1. I don’t need to upload specific image to roblox - it’s generated from parts and camera!
  2. It NOT uses internet to download images, because ViewportFrame renders it. Only meshes and images which are inside ViewportFrame needs to be loaded for it to work.
  3. It just allows me to make a lot of animations inside it without making spritesheets for every angle possible.
  4. Image generated from it is always in wanted size - if screen is big - it will be as big as needed too, without any stretching
  5. 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.

  1. If ViewportFrame scene gets updated, it will update generated Content image too.

  2. Produced image size by ViewportFrame will be the same as ViewportFrame.AbsoluteSize

    • If it exceeds 1024x1024 size, and Roblox NOT supports that, then image should be downscaled to 1024x1024.
  3. ViewportFrame.ImageColor shouldn’t affect outcome of Content, because it’s post-processing of the image.

  4. Idk if ViewportFrame updates image, if it has Visible == 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 property DisplayCurrentRender, which controls this behavior.
    Reason to that is how this feature will be used - users will generate image with ViewportFrame, and store it in some ScreenGui and make it invisible, and use result image where needed.

  5. When result Content image is used in other Image-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 make Decal and Texture glow 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.

5 Likes

I fully agree with this.

I don’t think Content itself is restricted, only EditableMeshes and EditableImages. With this Feature Request, you should be able to have 1 ViewportFrame that provides an image to multiple ImageLabels, Decals etc through their respective ImageContent/TextureContent properties, regardless of 18+ Verified status.

However, it looks like this has been requested before. You should consider replying to the thread below with the contents of your post:

2 Likes

This would be incredibly useful to me as a developer. Especially being able to use this paired with EditableImage to be able to do image processing on for some cool effects

2 Likes