News:

One Minute Game Review by The Happy Friar: https://ugetube.com/@OneMinteGameReviews
Also on Rumble: https://rumble.com/c/c-1115371

idTech 4 (aka Doom 3 tech) Discord Server! https://discord.gg/9wtCGHa

Main Menu

Model formats

Started by MrC, May 26, 2015, 06:38:19 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

MrC

Quote from: The Happy Friar on May 25, 2015, 08:44:17 AM
*cough*add vertex deformation please*cough*

Haha, YES, second that, although maybe I'm missing something but I sometimes wonder why people continue with MD5 for their custom forks instead of adding support for FBX, I mean I understand if you're using D3 content of course so you'd still want to keep support for it but I mean adding additional formats. Maybe FBX is a mess? There's an open source library that can use FBX (which has morphs, among a bunch of other things) and if I'm not mistaken is supported by a very wide range of programs but anyway back to the point...

I also agree that a GUI would be fantastic and I just want to add whatever you're doing keep at it (unless it's serial killing), learn and tinker and learn some more but above all else never stop having fun doing it. Keep up the great work Radegast!

motorsep

Quote from: MrC on May 26, 2015, 06:38:19 AM
Haha, YES, second that, although maybe I'm missing something but I sometimes wonder why people continue with MD5 for their custom forks instead of adding support for FBX, I mean I understand if you're using D3 content of course so you'd still want to keep support for it but I mean adding additional formats. Maybe FBX is a mess? There's an open source library that can use FBX (which has morphs, among a bunch of other things) and if I'm not mistaken is supported by a very wide range of programs but anyway back to the point...

FBX is not geared toward real-time rendering. It's an exchange format and it's used in all engine as that. FBX gets transformed by modern engines into internal format. So technically if Doom 3 used FBX, it would internally convert into MD5 anyway. The whole reason behind engine companies jumping on board with FBX is to have no headaches supporting exporters for multiple 3D apps.

So if the engine doesn't support morphs internally, then even with FBX it wouldn't be possible to have them.

Alembic format is what you want for morphs. However, Blender doesn't have support for it and won't have import/export for it in the nearest future.

There is Lightwave MDD format that does morphs, but no game engine have ever used it. Maybe it's inefficient for real-time rendering, maybe there are other reasons why, I don't know. Blender supports export/import into MDD, so I figured that would be a viable alternative.

Another way to go is to have multiframe ASE (no specs, no exporter at this time for internal storage of frames) with external frames (so 1000 frames will get you 1000 ASE files). Doom 3 BFG could binarize/compress all frames into one binary model. It wouldn't work with old Doom 3 because straight forward morph anim models eat a lot of RAM (and most likely VRAM).

The Happy Friar

md3 support could be added to D3 for vertex-only (no bones in model) model animations.  It's pretty universally supported. 

motorsep

#3
Quote from: The Happy Friar on May 26, 2015, 02:39:45 PM
md3 support could be added to D3 for vertex-only (no bones in model) model animations.  It's pretty universally supported.

Blender 2.7x doesn't have MD3 export/importer. Maya/MAX don't have it either.

The only benefit in using non-skeletal animating format is in allowing to have non-character animations (any kind of deformations involving a lot of vertices; bakes physics; etc.)

BloodRayne

#4
Quote from: motorsep on May 26, 2015, 02:46:02 PM
Quote from: The Happy Friar on May 26, 2015, 02:39:45 PM
md3 support could be added to D3 for vertex-only (no bones in model) model animations.  It's pretty universally supported.

Blender 2.7x doesn't have MD3 export/importer. Maya/MAX don't have it either.

The only benefit in using non-skeletal animating format is in allowing to have non-character animations (any kind of deformations involving a lot of vertices; bakes physics; etc.)

http://www.katsbits.com/tools/#md3
http://forums.duke4.net/topic/1065-md3-exporter-for-3ds-max-2010-x86-and-x64/

Direct link for Maya. http://www.redprodukt.com/post/muskoka-1.0.0-b11-windows-maya85.exe

I thought Blender does it natively? Otherwise this might help, indeed for 2.4x though. But it might work as well for 2.7:

Blender 2.42
http://download.blender.org/release/Blender2.42/blender-2.42-windows.exe

Python 2.4.4
http://www.python.org/download/releases/2.4.4/

Blender MD3 import/export 2.42
http://www.katsbits.com/files/md3/blender-md3.zip
http://www.katsbits.com/tools/


By the way, did you see the new features in Blender? http://www.cgchannel.com/2015/05/check-out-the-new-features-in-blender-2-75/

motorsep

@BloodRayne: You aren't serious, are you? The future is already here :) Blender 2.75 is upon us, Maya 2016 and MAX 2016. I know there are some people who use Blender 2.4x , but the rest successfully migrated to the modern and current tools ;)

BloodRayne

Quote from: motorsep on May 26, 2015, 03:37:22 PM
@BloodRayne: You aren't serious, are you? The future is already here :) Blender 2.75 is upon us, Maya 2016 and MAX 2016. I know there are some people who use Blender 2.4x , but the rest successfully migrated to the modern and current tools ;)
Did you read the post in total, or just glanced? I clearly stated you should *try* it on the new platform.

motorsep

Quote from: BloodRayne on May 26, 2015, 03:45:37 PM
Did you read the post in total, or just glanced? I clearly stated you should *try* it on the new platform.

2.4x add-ons will never work on 2.7x - API has changed dramatically so any 2.4x add-on has to be rewritten for 2.7x

TeaMonster

Later versions of Blender (can't remember the exact number) have MD3 export thanks to a nice guy on the EDuke32 site. The ONLY reason they have one is due to that nice guy on that forum. The minute that guy decides to do something else with his life, that is IT - Literally, 'game over'.

All these ancient model formats are a pain in the ass for modellers due to ancient tools and no support anywhere. Doomsday engine is about to make the same mistake.

motorsep

The best and only practical solution is to make standalone FBX > (MD5, ASE, LWO) converter.

The Happy Friar

Quote from: TeaMonster on May 26, 2015, 06:44:40 PM
All these ancient model formats are a pain in the ass for modellers due to ancient tools and no support anywhere. Doomsday engine is about to make the same mistake.

We're talking about model formats for engines that range from 11 (D3) to 19 (Quake) years old.  Besides the fact that Blender 2.4x supports all the model formats for id games in that range (and works on any windows system in the last decade and a half, possibly) there's no reason to make new import/export plugs for newer programs unless you have a specific reason to.  Even that "old" Blender version is far superior to the tools developers had when all those games came out.  Today, there really is no reason people can't be pumping out models for Pre-Rage id games irregardless of the format they're in.

There will never be a standard model format with the exception of Lightwave object (LWO) and Wavefront object (OBJ) (because they just won't dieeeeeeeee!).   Everything else has been the results of a specific need (like a game engine format) or a model format fad (like FBX) that dies out as quickly as a game engine format.


motorsep

Well, specific reason is that all of the artists moved on to Blender 2.7x :) The issue is that those artists moved away from Quakes and Dooms to UE4 / Unity (also because modders dropped the ball on most of idTech based games; and artists need programmers). Thus it's a vicious cycle :(

FBX will not die out any time soon. It's a one and only exchange format today that is used by all 3D apps. So game engines use it to, but converting FBX into their own format internally. This way there is less (or even none) maintenance when it comes to supporting multiple 3D apps.

So the best way to go about it is making modular FBX > game format app that can support MD5, ASE, LWO, IQM, etc.

TeaMonster

2.48 dates back to 2008. In 'CG Time', that is about 50 real years old. The basic Blender file format isn't compatible unless you save as. Also, all the colour directions of normal maps are backward to everything else. It's a pain in the ass.

motorsep

Quote from: TeaMonster on May 28, 2015, 02:59:31 PM
2.48 dates back to 2008. In 'CG Time', that is about 50 real years old. The basic Blender file format isn't compatible unless you save as. Also, all the colour directions of normal maps are backward to everything else. It's a pain in the ass.

I am totally with you on this one :)

BielBdeLuna

#14
maybe another possibility is to add a new model format for specific situations and left md5 for skeletal animation models, create something like a md7 format with vertex weights and vertex blending targets, for the facial animation of the characters and other uses that go beyond the possibilities of md5, maybe even enhance the md5 with those features and then call it md7, so no compatibility is lost for existing mods, and newer mods and TCs can use md7 for everything.

from Blender perspective exporter wise those new features (vertex wheights, and vertex blender targets) don't seem difficult to implement.

what features does md6 include?

does FBX include some sort of compression? or is it binarized in some way?