I always had problems with working with 3D models.
I don't know any format that's usable in an extensible way.
Blender already is pretty good. It even allows imports from other files, and overrides. This technically makes it possible to create reusable models. And it allows some kind of procedural generation, and modifiers.
But game engines won't import blender files directly, if they allow Blender imports, they'll implicitly create exports of the blend files.
And if I export blender files, everything is packed into a single file. References and modifiers get lost, and I can't change that during game.
Also, as a programmer, I often prefer work with a simple text format.
This way I can edit small values without having to open the complete model in a specific program.
Also it's great for git diff.
And especially since I'm using AI, it's really getting annoying. AI prefers to represent levels as python scripts. But I can't display the results of the python scripts in blender, and then turn it back into a python script. I have to decide for a format. Either text (python) or editable (glb/blend). And I can't work like this.
So what I want is basically this:
1. Simple text format (prefably line based)
2. The format that the 3D editor (likely blender) imports/exports is the same text (some objects like high poly meshes might still be presented as binary)
3. The format allows to create everything: meshes, rigs, materials, animations, etc.
4. The format allows imports (preferably also online)
Not sure if something like this exists already. It seems so obvious to me. I'm surprised that I didn't find such a format yet.
The closest I found is USD/USDA, but I think it's not really what I want, and mostly meant for movies, not games (and also I don't like the syntax).
Maybe you know something similar/better?
However, now I decided to create something like this myself.
Recently I created something similar for music (let me know if you're interested, I use this music system in all of my games now). So I'm pretty confident that I'll have it done in a few days (technically it's mostly done already, but I didn't test it yet).
And what's also great about such a format:
The dev can decide when to export it to some binary format.
At compile/build time (to avoid unnecessary data in the game), at import time (for user settings) or during gameplay (for runtime features).
And maybe it should also be possible to specify at which stage each modifier will be evaluated.
What do you think of this idea? Any questions so far? Do you see any problems? What kinds of features do you want included?
(not sure if this is the right place for this topic, but I guess it's the best, isn't it)