Hi! I develop Building Tools by F3X, and we’d like to add a thumbnail image to our model (as you are able to do with plugins).
This would let us make the original model more visually distinguishable in the catalog and search features, and reduce the incidents where people get old, outdated, re-uploaded, broken copies from other folks.
Is this a feature that might be coming soon? We’re about to release version 2.0.0 and we already designed a few thumbnails in case this feature is added.
You can kind of already add thumbnails to your models, but uploading icons should definitely be a feature by default.
To add a thumbnail to an existing model right now, you’ll need to include two garbage objects that unfortunately need to ship with your model: a Camera named ThumbnailCamera, and a part+decal for your thumbnail. Insert the part+decal, position your camera at it, and copy the Camera under workspace. Paste it, name it “ThumbnailCamera”, and then save F3X, the garbage part+decal, and the garbage camera as a single model to ROBLOX. The uploaded model will show your decal as the thumbnail.
This worked for now! Thank you! It took a while to get it right, but it looks pretty nice—only downside is that it’s an extra unnecessary part, but at least it automatically deletes itself.
If you’re okay with sacrificing your workflow for a slightly better user experience you can always modify the XML by hand to make the thumbnail objects non-archivable, so when they save and reopen their places the objects will disappear. Definitely a hack.
Wouldn’t you have to modify the XMLs before uploading? Every time I’ve tried to upload a model with non-archivable objects they aren’t rendered in the thumbnail (which makes sense since they don’t really exist). How would changing the property in a model file be any different than changing it through the explorer?
The hack I was suggesting was every time you are going to publish your model, you save it as an .rbxmx file, open the file, edit the XML so all temporary objects have their Archivable properties set to false, save the file, and then publish it yourself using a tool to send HTTP requests like Fiddler. The temporary objects will be deserialized and rendered by the thumbnailing service but when your users save their places containing your model and reopen their places, the temporary items will be gone.
How does the render service make use of the ThumbnailCamera?
Would it work if you parent it to nil in the XML?
(aka would it still be used to position the render camera?)
Hmm how does it use the camera?
Does it insert it into “workspace” and use that as currentcamera?
Or does it just read the CoordinateFrame stuff from the XML?
If it just reads from the XML, it shouldn’t care about its parent.
That would allow us to parent it to nil.
or you can just add something to studio that automaticly removes ThumbnailCamera on insert
When you import this file into Studio you will be left with an empty model, because as the file is being deserialized the part’s Parent will be set to nil.
After loading the asset, the thumbnailer looks for a ThumbnailCamera named “CurrentCamera” and use that if it exists.
The problem with removing ThumbnailCameras on insert is that you may actually want to retain the ThumbnailCamera (e.g. you are updating one of your models which already has a nice thumbnail).
Better solution than the model thumbnail equivalent of releasing a program with debugging tools enabled because “It’s easier for developers to debug that way”:
On the “publish success” popup you get when you publish an asset, in addition to the close/okay button, have a “set thumbnail” button for models. Clicking this would start the camera at the last saved cframe (so you don’t lose it for good thumbnail angles) or just the default if one hadn’t been set. From there, you could position the camera around the model and click “Done” to set the thumbnail. Not sure if it would be better for that to happen by creating another viewport in the publish window with only the model in it, or using the existing viewport somehow.
Edit: It’s also a bonus because setting a model’s thumbnail would then be apparent instead of the current obscure way of using a special name that you wouldn’t find easily. This could also be used for places so you didn’t lose your thumbnail place whenever you edited it again.
What about having an option in studio “Remove ThumbnailCamera” that’s enabled by default?
If you want tp use an already existing camera, you could quickly disable it.
Could even have it that it gets removed by default, but you can toggle an option to have a button to toggle it off.
With scripts as the main parent being uploaded as a model, it’d appear as
Like EchoReaper said, you’d have to use the ThumbnailCamera and part+decal method, in which case a lot of front-page models use.
It’s annoying enough to try to position the camera to where you’d like. Making an option to put model icons will erase the hassle of trying to getting your model to look good at first impression.
Models that haven’t been uploaded an image yet, of course, will have an auto-generated image may it be auto-generated model view or the default script image. And models with ThumbnailCamera in them will still function.
We really need something to upload thumbnails to models, instead of having to set a ThumbnailCamera which takes lots of time if you want it to be perfect.
If this was implemented, it would improve my experience because I can work more efficiently when creating and publishing models. I don’t want to spend an hour on getting the right ThumbnailCamera.