Game Development Community

Improving the art pipeline

by Lukas Joergensen · in Torque 3D Professional · 05/28/2013 (10:20 am) · 7 replies

I think we should work on the art pipeline in T3D.. Currently most people issues that I spot around here is that they are having trouble exporting their objects from [insert modelling program] to Torque3D.

Let this be the discussion thread for these issues!

Firstly, can anyone summarize exactly what the issues people encounter are?(I'm not an artist, merely a coder so haven't tried to find any issues myself lol)

Secondly, have anyone worked on the fbx importer that BrokeAss Games released?


Thirdly, can anyone supply some sample files showing the issues that us coders can play around with?

#1
05/28/2013 (11:17 am)
Well as a novice i had alot of "fun" learning asset creation, two biggest things i had issues with was character animation import and terrain opacity layer maps.

I used Blender to create simple animations for a rigged character, and the way you do this is by exporting in .dae and then importing to torque. And the blenders dae exporter is far from perfect to say the least, it messes up all the bones in some weird way. Basicaly just by trial and error i managed to determine the necessary options and conditions to import it. For example in blender i have to tick the "export for second life" tickbox. I have no idea what it does i just know it helps. Or in torque i have to disable "bone scaling" or it will mess up animation. Unlike expensive proffesional software, which will often fix things in files on the fly or tell you exactly whats wrong, free and open software just either fails silently or propagates errors further down the line. And you have to either use trial and error or "read the importer code".And for a novice second is not an option.

With opacity maps, they need to be in this precise format(like 8bit or monochrome grayscale), have fun creating those. And their path in the file system cant be too long or they will silently fail.And for some reason first opacity map you use while importing must be blank white, or weird behaviour would ensue.

Or like heightmap must be 16 bit image, while 90% of graphical editors cannot save to 16 bit images(GIMP included). I had to learn specialized software Imagemagick, and alot of stuff you wont find in the torque documentation, just to be able to import terrain.

So the biggest issue for a novice is lack of detailed documentation on these hidden limitations, since writing smart importers which can handle different formats exported from different applications will be too much for this project i think.
#2
05/28/2013 (11:26 am)
I'm pretty sure I can fix the 16 bit image stuff using imagemagick it's just a matter of:
convert "file" -depth 16
Probably some way to do it with the tools already in T3D.
Same for the opacity maps.
Will have a look at the issue with file system paths being too long aswell.

The importer/exporter stuff is ofc the hardest things to fix so I'd be happy if some more experienced members of the GG community could help me on that one!

Thanks for your feedback! Lets hope we can get all these small bumps smoothed out!
#3
05/29/2013 (1:28 pm)
@Taras about the heightmap. What bit depths can you export to if not 16 bit? 8 bit simply doesn't have enough information.

Okay here is the math:
8 bit gives 256 different shades of gray which only gives you a reasonable output on flat terrains. (default terrain height is 256 so this gives you steps of 1 meter height since there is only 1 shade of gray for each meter)
16 bit gives 65536 different shades of gray which gives you a reasonable output on almost any realistic terrain. (256 steps per meter)

So unless the graphic program you use can give other bit depths than 8-bit we would have to make some kind of alternative solution (e.g. using rgb images or something which might just make it more difficult to use.)

Using GeoControl2 my primary issue was that it only exported 16bit tif images which was difficult to convert.
What is your exact issue?
#4
05/29/2013 (2:29 pm)
My rant was mostly not about lack of particular features, but rather about lack of explanation of the current ones.

With the terrain example, when i was importing my first terrains the result was that it imported it but the terrain was "blocky", i had to search the forums to find some 3 year old post that explained to me, that it was because terrain bit depths was not right. So i had to download various image editors only to determine that they dont really export 16 bit, hours later i found imagemagick...
Now imagine if the moment i imported terrain with wrong depths, torque would say to me "Dude convert this terrain to 16 bit with imagemagick using this commandline..".
It would saved me couple evenings. I figured it out in the end, but im sure lots of people didnt and just moved on to the next engine.
Im not competent enough to discuss whats right or wrong regarding any aspects of the engine, im just giving you my 'novice user' perspective.

#5
05/29/2013 (2:32 pm)
It's not about competence! It is the novice user's perspective I'm after.
So what I find curious is, how did you fix it with imagemagick?
What did you export it as, how did you get an acceptable quality?

So if you are willing to tell me, can you tell me what tool you use to export the image, what you export it as (possibly a sample image would be awesome) and what you did to it with imagemagick?
Perhaps I can implement it directly into the engine.
#6
05/29/2013 (3:08 pm)
@Taras
I've gotten everything from static shapes to player models into T3D and I've never had to export it in second life mode before. Any other issues I ran into with rigs or whatnot were me having set it up wrong in the model, or forgetting minor tweaks and load order stuffs. So I'm kind of curious about the model you were having those problems with.

What version of blender? Can you post the file? What version of T3D?

One thing I'd been looking at to streamline the pipeline for our tools(and probably get released to everyone else) is retouching the Shape Editor's 'Hints' functionality.
It's already in there for stuff like players or vehicles, but that's about it.
I'm thinking one thing that'd help a lot is customizable hints for project-specific shapes/rigs, so you can set up a hints config to let you integrate a new player model with your project's specific rig into the game faster.

That, and have the helper be a little more centerpiece. When loading a file from a dae, it should have something pop up in a corner or whatever to launch the hints so you can quickly run the model through the hints and get it configured to work with your project instead of needing to do a lot of additional manual tweaking. That and adjust the hints system to indicate better what it's doing, etc.
#7
05/29/2013 (4:21 pm)
I havent touched asset creation for month, so i cant provide you with more specifics. Here is model that i used learning animation import.
speedy.sh/eFVGa/example-model.zip
Just something you can play with. Load it in blender, go to pose->constaints->clear all constraints, and it should be ready to export. I used blender version 2.66. I remember i managed to import it properly.

Regarding terrain i ended up purchasing L3dt and it works great. I cant provide you with any files, and therefore any reproducible issues, since i have deleted them. Im now developing with more procedural generation in mind and minimum manual asset creation.