ThumbnailCreator - A simple plugin to help you create model thumbnails easily

Untitled (2)
Introducing, ThumbnailCreator, my first ever plugin! With this plugin, you can easily create perfect thumbnails for model! You can select which angle to make thumbnail from, you can also make decals a thumbnail like this Bubbient model I made earlier. Since it’s my first ever plugin I am publishing, it might have a lots of bug. Please report bugs by messaging me on DevForum, would really help.

You might think that some plugins like this already exist. Well, I have tried the plugins and found out that it only adds a GUI to crop - and nothing. So I decided to make a fully functional thumbnail maker plugin.

Special Features:

  • Easy to use.
  • Changes FieldOfView for perfect thumbnails.
  • Does everything (almost) automatically.
  • UI Suitable for every device.
  • Shows error so developers can understand what mistake they are making.

I had also like to share my source code, it would be great if I could have some feedback, or suggestion - or any bug reports. Please do not use this to copy my plugin and use it as yours.

Source Code

I know it’s way too simple. Please note, this is my first plugin :flushed:

local plugInButton = plugin:CreateToolbar("Techyfied's Plugins"):CreateButton("ThumbnailCreator", "Create custom thumbnail for your model and publish to ROBLOX!", "rbxassetid://5349149252")
local Selection = game:GetService("Selection")

local pluginOn = false

local gui = script.Parent.ThumbnailCreatorGui
gui.Parent = game.CoreGui

local allowedClasses = {
	["Model"] = true,
	["Part"] = true,
	["CornerWedgePart"] = true,
	["MeshPart"] = true,
	["TrushPart"] = true,
}

plugInButton.Click:Connect(function()
	pluginOn = not pluginOn
	plugInButton:SetActive(pluginOn)
	
	if pluginOn then
		game.Workspace.Camera.FieldOfView = 40
		mainVisible()
	else
		game.Workspace.Camera.FieldOfView = 70
		mainVisible()
	end
	
	gui.Enabled = pluginOn
end)

-------------------------------------------------------------------------------------------
local button = gui.Frame.Main.Button
local mainText = gui.Frame.Main.MainText
local errorText = gui.Frame.Main.ErrorText
local successText = gui.Frame.Main.SuccessText

function mainVisible()
	mainText.Visible = true
	errorText.Visible = false
	successText.Visible = false
end

function errorVisible()
	mainText.Visible = false
	errorText.Visible = true
	successText.Visible = false
end

function successVisible()
	mainText.Visible = false
	errorText.Visible = false
	successText.Visible = true
end

function createThumbnail()
	local cCamera = game.Workspace.Camera:Clone()
	local selectedObjects = Selection:Get()
	local parent = workspace
	if #selectedObjects == 1 then
		local firstSelection = selectedObjects[1]
		parent = firstSelection
		
		if allowedClasses[parent.ClassName] then
			local oldThumbnailCamera = parent:FindFirstChild("ThumbnailCamera")
			
			if oldThumbnailCamera then
				oldThumbnailCamera:Destroy()
			end
			
			cCamera.Parent = parent
			Selection:Set({cCamera})
			cCamera.Name = "ThumbnailCamera"
			successVisible()
			wait(7)
			mainVisible()
		else
			errorVisible()
			errorText.Text = "The class you have selected is not allowed. Try using a part or model"
			wait(5)
			mainVisible()
		end

	end
		
	if #selectedObjects == 0 then
		errorVisible()
		errorText.Text = "Nothing selected. Select a model and try again"
		wait(3)
		mainVisible()
	end
		
	if #selectedObjects >= 2 then
		errorVisible()
		errorText.Text = "Too many items selected. Please select one model and try again."
		wait(4)
		mainVisible()
	end
end

button.MouseButton1Click:Connect(function()
	createThumbnail()
end)    

Tutorial

It is really easy if you know what you are doing.

  • Make a model or get any model inside workspace. I’ll be using “Drooling Zombie” as an example.

  • Now click on the plugin button to turn it on
    image

  • Your screen should look like this

  • Now move your camera to the angle you want.

  • In explorer, select the model that you are making thumbnail of.
    image

  • Click on the done button of the plugin
    image

And you’re done if it’s success. If it says error, try again. Now right click on the model, save to Roblox. Please note that, in studio preview, the custom thumbnail will not be previewed. It works when you upload. Simple save it. And then - go to “My Models” from Toolbox and BOOM. You have successfully set your custom thumbnail. It is now going to make more developers interested in your model or script.

You can now click on the Plugin button again to close.

If you want to see if this actually works, this is the model. Check it out!

Compare Studio View & Thumbnail View

in Studio:

Model thumbnail view (on Website):
image

Model thumbnail view (on studio Toolbox)
image

Please note:

  • This won’t work unless you have a camera called Camera in workspace, which is added by default in Roblox games. Do not rename it. I’m still trying to fix this and make it work for any workspace camera.
  • As it’s my first plugin, it might have a lots of bug.

Thank you :heart:. Feel free to suggest anything, or report bugs - by messaging me or replying here. Also you can add me in Discord, Techy#9999 for more plugin ideas. Before leaving,

Rate ThumbnailCreator Plugin

  • 1
  • 2
  • 3
  • 4
  • 5

0 voters

Latest Update:

48 Likes

Very simple to use. I wouldn’t use it in the future though.

1 Like

Alternatively, you could just duplicate your camera, rename it ThumbnailCamera, and parent it to the model.

1 Like

Yeah. You also have to do some.more things like changing the FieldOfView. It also crops it using a GUI so the thumbnail can be perfect.

1 Like

UPDATE 1.1

  • Supports more classes now! You can now make thumbnails of Model, Part, MeshPart and every kind of parts. Let me know if there is any other Class to add. Special thanks to @IEnforce_Lawz
  • Automatically replaces old ThumbnailCamera (if exists). Makes your work a lot more easier.

More updates coming soon, if I get enough support from this. Thank you for trying my plugin!

3 Likes

Just do if selected:IsA(“BasePart”) or selected:IsA(“Model”), a table of allowed classes is unnecessary. :flushed:

2 Likes

That would make the script more long I think. However, I don’t think it’s really necessary since the current on works perfectly.

1 Like

Actually, it would shorten it because the table is no longer needed.

The current one will not work perfectly because you’re still missing some part classes anyways which using :IsA(“BasePart”) would fix.

1 Like

This doesn’t look as great as it sounds by the screenshots.

I would recommend to make it look like a real photo editor.

1 Like

Just tried this and it worked amazingly! I do however have a suggestion; make the plugin automatically put the part(s) inside a model for the player so they don’t get confused! Also, make sure your game is published first before using, this didn’t work in an unpublished game for whatever reason.

2 Likes

@0Techy Hey, I’m wondering how you set a Decal to the thumbnail?

Upload the decal, add it on a part and resize the part. Then use the plugin to set the part’s decal as your model’s thumbnail.

Oh, now I see! Thanks. I will use this

I will use this plugin for creating a thumbnail model, but it’s perfectly working. I show the creator marketplace, but it is good and everyone uses the plugin to capture the model for viewing thumbnails I’ve ever created.

1 Like

@0Techy I would like to inform you that the Accessory class and the Tool class can also have a ThumbnailCamera in it. Could you add those to the plugin so we can make thumbnails of them too? There might be other classes too but I cant think of any more at the moment.

local allowedClasses = {
	...
	["Accessory"] = true,
	["Tool"] = true,
}

As of now the only way to make a thumbnail of an Accessory or a Tool would be grouping them, making the thumbnail, moving the thumbnail to the Accessory or Tool and ungrouping and deleting the group.

Did you try doing game:GetService("Workspace").CurrentCamera?

By the way thank you so much. An amazing plugin for those who wish to upload models to Roblox and to make it look good in the toolbox. For those who say it dont work must first see the tutorial.

Thanks for the information.

I was a beginner scripter when I created this plugin and never really updated the plugin due to the cropping UI being super unstable. However, I’ll take your suggestion into action and will whitelist those classes as soon as possible. Thank you again.

2 Likes