Open Bat-Computer opened 8 months ago
To make this proposal most relevant, https://github.com/godotengine/godot-proposals/issues/7232 needs to be implemented first. Otherwise, scene thumbnails may not be as helpful as you'd hope.
Is there anyway to make this modular? I imagine it would be useful to have something almost like a separate instance of Godot running that has been converted into an asset manager and has all of a persons assets that they own pre-loaded and cached.
Rather then importing all the assets that you think you will use into your project every time you start a new one you could instead open this asset manager application. You could then dock the manager into one of the existing panels or keep it separate? You would then single or multi-select the assets that you want from the manager and drag them in to your scene. In the background Godot would grab the file from its location in the file system and import it into the project placing them within a predefined asset location, and would automatically switch over to the imported asset/s and put their location at the mouse cursor location to place in the scene.
I know very little about KitBash3D's Cargo Application, but I think something like this might work similarly to what it looks like they have.
Another idea, as the one above still doesn't really solve the main issue of thumbnails for assets within the project itself, would be to have the asset manager as described above kind of connect into the projects filesystem, again a single repository location from where all projects pull in their assets, but placed right along side all the other items in the projects filesystem. I imagine something could already be implemented with something like Nextcloud's Virtual Drive but with the pre-caching of the thumbnails.
I know this kind of extends outside the scope of this issue quite a lot, but just thought to put out ideas since there is some overlap.
Edit: just linking this Prop Painter project by glidedhipbone for reference, it's licensed under the GPL-3.0 license but may be useful in some ideas with getting thumbnail generation.
To make this proposal most relevant, #7232 needs to be implemented first. Otherwise, scene thumbnails may not be as helpful as you'd hope.
Can't we use the thumbnail generator used by the Gridmap node?
Can't we use the thumbnail generator used by the Gridmap node?
GridMap thumbnails are generated differently from scene thumbnails, but they are only available for meshes within a MeshLibrary resource. I think they're also only generated when converting a scene to a MeshLibrary, not when you load meshes directly in a MeshLibrary resource (which I tend to do when prototyping).
If you have full-blown 3D scenes, they are made of multiple nodes. Therefore, they can't have their thumbnails be generated like MeshLibrary does. They can be made to look visually similar, but the implementation behind the scenes has to be completely different.
As 3D thumbnailing can be a complex problem; maybe we can focus on the simple case of having 1 mesh in a file (e.g. glb, fbx, blender, tscn ) for now? To solve that specific case will already be super useful for 3D level editing and make many users happy.
My point is that this simple case (1 mesh) was solved by whever wrote the MeshLibrary, and we could reuse their solution. The more complex cases could be solved later on? In fact, for full-blown levels, the user might want to make their own thumbnail.
Describe the project you are working on
3D Game with multiple levels using pre-made game assets from Synty and other asset packs.
Describe the problem or limitation you are having in your project
To create levels quickly and reduce time, I really need to see the 3D models I have imported to be displayed as thumbnails in the FileSystem window. This would allow me to easily find the correct asset without having to double-click the 3D model to open up the 'Advanced Import Settings' to see which model is which.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
Having the ability to 'see' which model is which, instead of having to read carefully each file name of each 3D model or having to open the 'Advanced Import Settings' window would save a lot of time creating levels. GridMaps aren't a good solution as the models have to fit into a specific grid. Most 3D levels have arbitrary sized models, unlike a 2D game where image assets are typicaly 16x16, 32x32 etc.
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
In the FileSystem view...![Screenshot 1](https://github.com/godotengine/godot-proposals/assets/40317509/90b8babe-e339-4a95-b6cc-730b4ba7d55c)
or in it's own Horizontal tab...![Screenshot 2](https://github.com/godotengine/godot-proposals/assets/40317509/7095a6c8-bda1-4304-8a19-b691a20e21a7)
If this enhancement will not be used often, can it be worked around with a few lines of script?
I'm not sure how easy it would be to script, however we can already display thumbnails in GridView, so the code should be there I'd imagine.
Is there a reason why this should be core and not an add-on in the asset library?
this should be core functionality. If it was a plugin it could easily be broken in updates.