How would I create a viewport model silhouette procedurally?

What I’m trying to achieve: A procedurally generated silhouette of a model using a viewport GUI. The following picture describes what I mean:

If you look closer, you’ll realize that it’s a pretty obvious silhouette of a procedurally generated image. I’m wondering how they did this, perhaps using some very bright lights inside the viewport?

I’ve tried using Viewport.ImageColor and the lighting properties of it, but to no avail. Does anyone have a clue on how they did this? Thanks

I managed to achieve what you are looking for by setting the LightColor to 0, 0, 0 and then setting Ambient to the desired silhouette color. Also, if you see a weird outline on the object, set the viewport’s BackgroundColor3 to 127, 127, 127 or a colour similar to the silhouette.

1 Like

Hm, I’ve given it a try and I got a different result:

As you can see on the bottom right, there is no completely white silhouette of the weapon rack model displayed. I’ve tried setting it to other unique colors like orange or blue, but they all end up having some color deviation because of their different shades.

I’ll see if I can do a work-around for this, but thanks for replying

EDIT: Apparently the work-around was as simple as making everything inside the viewport SmoothPlastic and Color3.new(255,255,255)

Wow, I sure did have a brainfart :joy:

Does anyone know how to do this? It doesn’t work.

Ah, it’s fairly easy. You can use a viewport fitting module such as this (and do the necessary CFrame adjustments)

  1. Clone the desired model and place it within the Viewport
  2. Make sure the viewport is properly set up (CurrentCamera is set, model is properly positioned, etc). It’s recommended you set the Camera FieldOfView to something low, such as 30, it just makes the model look better.
  3. Once you have it all properly set up, you can run a for loop on all of the BaseParts inside the recently-cloned model and set each of their materials to Neon and Color to 255, 255, 255
  4. Voila; procedurally generated weapon silhouette. You can adjust the ViewportFrame’s ImageTransparency and ImageColor3 to mess around, but that’s generally how it works
  5. Optionally, you can set the ViewportFrame’s lighting to be completely dark (That is, Color3 = 0, 0, 0) if you want your image to appear flat
1 Like