ZDoom / gzdoom

GZDoom is a feature centric port for all Doom engine games, based on ZDoom, adding an OpenGL renderer and powerful scripting capabilities
http://zdoom.org
GNU General Public License v3.0
2.43k stars 535 forks source link

Problems with .md3... #1286

Closed EkidonaArubino closed 3 years ago

EkidonaArubino commented 3 years ago

I have been studying the possibilities of .md3 for a very long time, and I realized that .md3 has worn out, like other supported formats (I will not even talk about wavefront)... Problems with code functions To begin with, .md3 does not count on the presence of an armature (it may be, but in the GZDoom code its presence is not checked in any way, which deprives many of the possibilities to work with it: combine frames, fix objects on them (FPSCamera), etc. )... also, don't forget about the lack of support for commands like "A_OverlayOffset", "A_Offset", etc. Technical problems with the format itself You just have to remember that the format itself is very outdated, and it is problematic to create such a model ... of course, this is possible using the same Noesis, but this does not negate the fact that the format itself has few possibilities, and when exporting / importing, problems become not less... Sentence I'm sure that this was said before me, but I'll say it: create support for the .fbx(Filmbox) format ... yes, it sounds impudent, because I understand that this is not very simple, but it will really give more opportunities to work ALREADY IN 3D...

With developer love: エキドナ アルビノ(The worst ending ever, i know)...

EkidonaArubino commented 3 years ago

And yes, the A_Overlay command itself does not work completely for the models: while "crossing" actors with different models, I noticed that the "upper" model does not play animations (swapped, and everything is the same) ...

nashmuhandes commented 3 years ago

It has already been concluded in the past that FBX support will not be added into GZDoom because it is a proprietary format. Besides, FBX is usually only used as an intermediary format during the asset import stage - taking Unreal or Unity as an example, the FBX model isn't used directly. When you drag and drop FBX models into the editor, they are then converted into whatever internal format each engine uses respectively. It doesn't make sense to directly use the FBX file at runtime in the game engine.

EkidonaArubino commented 3 years ago

It has already been concluded in the past that FBX support will not be added into GZDoom because it is a proprietary format. Besides, FBX is usually only used as an intermediary format during the asset import stage - taking Unreal or Unity as an example, the FBX model isn't used directly. When you drag and drop FBX models into the editor, they are then converted into whatever internal format each engine uses respectively. It doesn't make sense to directly use the FBX file at runtime in the game engine.

Ok, I agree, although it didn't hurt to improve the mechanics of .md3 ...

PROPHESSOR commented 3 years ago

@nashmuhandes

FBX support will not be added into GZDoom because it is a proprietary format

What about glTF?

rawr51919 commented 3 years ago

Note that if glTF or similar is implemented, MD3 will have to stay for compatibility reasons

EkidonaArubino commented 3 years ago

@nashmuhandes

FBX support will not be added into GZDoom because it is a proprietary format

What about glTF?

Yes, the idea is good ("personal opinion", no more), but we are talking not only about modernizing formats, but also about improving the functionality ... I have already given examples: combining frames, deforming a mesh without armature, checking the bones of armature and objects ( the presence of them in the model, their position and direction) and so on ... FBX can really be used in its original form, without conversion and other "shamanism and necromancy", and I know quite a few game engines that read the "Filmbox" format in direct / original form (for example - HPL2 / 3) ...

Note that if glTF or similar is implemented, MD3 will have to stay for compatibility reasons

"Add" and "replace" are different words with different meanings (especially in chemistry and the sciences based on it) ... it is logical to assume that .md3 will not be touched ... at least - I hope ...

EkidonaArubino commented 3 years ago

@nashmuhandes, sorry, but I have something to argue with now... about the use of the "FBX" format... I just found a whole SDK on the official "Autodesk" site... I found it before, but did not give any meaning to it... in any case, there is all the necessary library for reading and exporting / importing the model format itself... https://www.autodesk.com/developer-network/platform-technologies/fbx-sdk-2020-0 There are also examples in the form of open source... Sorry again, but my question is: can you add the ability to use "FBX" ..?

Doom2fan commented 3 years ago

FBX will never be added, regardless of whether skeletal animation is added or not. FBX is not a model format, it's a scene exchange format. Any engines that "support" it are converting it to some other format when you import them, be it an actual or internal model format. FBX is not suited for use as a model format in any way. The FBX SDK you linked is also proprietary (as is the FBX format itself) and closed source, and as such, it cannot be legally used by GPL software.

Regardless, no skeletal-animation model formats will ever be added until GZDoom actually has support for skeletal animation. Which it currently does not, and no one interested in adding it is interested in designing the modding API for it and coding it.

EkidonaArubino commented 3 years ago

FBX will never be added, regardless of whether skeletal animation is added or not. FBX is not a model format, it's a scene exchange format. Any engines that "support" it are converting it to some other format when you import them, be it an actual or internal model format. FBX is not suited for use as a model format in any way. The FBX SDK you linked is also proprietary (as is the FBX format itself) and closed source, and as such, it cannot be legally used by GPL software.

Regardless, no skeletal-animation model formats will ever be added until GZDoom actually has support for skeletal animation. Which it currently does not, and no one interested in adding it is interested in designing the modding API for it and coding it.

Well, now everything is clear... sorry again...

PROPHESSOR commented 3 years ago

What about https://www.assimp.org/? It has its own independent model format that can import 30+ model formats Support for at least basic features like geometry, textures, UV maps and, preferably, animations will already be an excellent solution Moreover, assimp already out of the box supports md3 and obj formats @nashmuhandes @coelckers @jewalky @alexey-lysiuk

alexey-lysiuk commented 3 years ago

If you find someone who will integrate this library, we can consider its addition. Otherwise, chances are very slim.