Model / Animation advice needed

Blitz3D Forums/Blitz3D Programming/Model / Animation advice needed

BioHazard(Posted 2004) [#1]
Hello all!

I would like to pick your brains on a small problem I have.

I am creating a program in B3D that plays a story using 3d objects (3DS meshes). I do all my character design, animation and texturing in poser 5. To play these animations in B3D, I export multiple 3ds files from poser then load tham all into an array in B3D. The code is something like this...

dim joe(500)
for m = 1 to 500
joe(m)=loadmesh("joe_model"+m+".3ds")
next

The program then adds a room, some static meshes and then animates the scene by stepping through all the meshes. Load 500 or more 3ds files in B3D!!!! Yes, I know it seem silly, but it works, and doesn't eat as much ram as you might think - in fact it works good on a very bare machine.

Using this system provides a very smooth and highly detailed looking animation, in fact it looks as though it were rendered to an AVI right from poser itself. The problem is in the loading time for the 500 or more single 3ds frames is quite long. Using a precaching scheme, I have managed to load aprox. 4 meshes per second, but this is far from fast enough.

Now before you tell me I'm crazy and start using words like "milkshape" and "lithunwrap", let me state....

I do not want to bone, skin, and animate my models using any other program besides poser! I can create a model complete with animation and skin using poser in under an hour that looks as good as the animation on the cartoon "reboot", and I have no intention in going back to the mdl format due to it's low quality output. I am not writing games or FPS engines, so blocky, lowpoly models with minimal textures is of no interest to me at all. My models use aprox 20,000 polys, and have highly detailed texture maps. A typical walk, turn and sit animation may contain 500-800 individual 3DS frames. I have managed to load over 2500 seperate 3DS files into B3D without loading my mid-range PC down (yes, that's 2500 meshes with at least 20,000 polys each!).

So after all of that, here is my question...

Does anyone have any ideas on getting 500-2000 single 3DS meshes into Blitz extremely fast? Loading from disk is not cutting it.

I have explored the following....

1) Importing all 3DS frames into MED and exporting an md2 model. This works, but looks like crap, especially due to the ultra low res 8 bit PCX texture stupidity. I will not explore the md2/milkshape road again.

2) Saving each part of the model as separate 3DS files, then making the animation using a BVH motion data routine to re-animate the model parts in B3D. This is still under testing, but I expect to have bad looking joints.

I might explore the following once I learn more....

1) Creating an animated .X file from the 3DS frames - is this possible?

2) Creating an animated B3D file from the 3DS frames - is this possible?

So there you have it.

Any ideas?

Cheers,
Brad


jhocking(Posted 2004) [#2]
Is there a reason you need to have the actual 3D models in Blitz? Why don't you simply render a movie from Poser and play that movie?

I haven't played with Poser much so I don't know what exactly it can do, but I would guess that your best option would be to export to .x and convert to b3d file format using Ultimate Unwrap. The conversion preserves skeletal animation and blended vertex weights.


ZombieWoof(Posted 2004) [#3]
@bio: exactly the situation I'm in.. my artists love Poser :)

I'm having a huge problem with getting models exported with the correct texturing -- have you run into the issue, and if so, how did you get around it ?? Specifically, the problem I have is exporting a composite scene made from many props, on export, everything that uses a "Preview" texture ends up using a "Preview" randomly selected from the set of "Preview" textures present in the scene. (i.e. Poser's exporter doesnt make sure texture names are unique on export)

I'm currently looking at exporting obj+bvh from poser, then pumping that into milkshape for the conversion to b3d, but havent run any tests yet (Just ordered milkshape today). Have you ??

I've tried BodyStudio/3DSMax/various exports, but have had problems with textures and/or exported models not loading

EMail me with everything you have tried so far and lets compare notes, see if we cant get this resolved either with existing tools or a bit of code :)

@jhocking: Poser5 is primarily intended as a body animation tool for high poly character models, with extensive pose and morph capability. For instance, from a given base model, you can adjust body proportions, genitalia, facial expressions, skin tones, add dynamic clothing and hair (you get realistic hair/clothing movement when animated), generally create super-detailed charater animation and rendering.

You can also assemble scenes for your character to be animated against, making it an awesome tool for cutscene creation. However, its not something you can use to create the models, you are stuck either using existing charaters and props, or going through quite a process from a custom mesh to something poser can work with.

Nothing you cant do in 3DS or any other high end modeling package, but the price is right at $200 and its 1000% easier to use than a generalized modeling package.

The unfortunate thing is that except for a very few models, all the poser characters are 15-30,000 polys, with extreme detail at the face, hands, and feet to support pose/morph of fingers/toes/face. The available low poly models are not well supported with clothing/hair/props.

Poser's export system is also a bit dodgy, when you have a model assembled from many parts, it seems incapable of properly exporting the textures, and curious labs is intent on blaming the model creators rather than fixing the problem. I'm working on tools to fix the problem :)


Gabriel(Posted 2004) [#4]
Now before you tell me I'm crazy and start using words like "milkshape" and "lithunwrap", let me state....

I do not want to bone, skin, and animate my models using any other program besides poser! I can create a model complete with animation and skin using poser in under an hour that looks as good as the animation on the cartoon "reboot", and I have no intention in going back to the mdl format due to it's low quality output.


Have you actually read the Poser license? I don't have it installed, but I'm almost certain that the license specifically forbids redistributing Poser models, textures and animations.


Synchronist(Posted 2004) [#5]
Greenbriar Studios http://www.greenbriarstudio.com/3D/
His tools are Poser-centric and evidently will import all necessary info for animation/rigging from the Poser model.
I don't use Poser, I got a demo to check out the .dts and .b3d export features.

You can request a demo and he'll send one to you email.


IPete2(Posted 2004) [#6]
Sybixsus is exactly right. Poser is for rendered images only - I believe that you cannot distribute or re-distribute your models unless you are using the re-distributable versions of the models - so take care!

Besides the models are far too high a polygon count to be useful. A rendered animation is definately the best way to go, using Lightwave or similar to add extra scenery etc works very well.

I have just done a set of vikings as flat 2d- graphics overlaid in a 3d world. Animated too! Looks very good, I'm very happy with the results so far.

Also using Mimic Pro you can have synchronised speech.

IPete2.


BioHazard(Posted 2004) [#7]
I do not export poser models. I make my own poser ready models and textures.

Bio


IPete2(Posted 2004) [#8]
Bio,

Wow - how do you do that? I have often wondered how you make models for Poser so I could have a go. As it is I have to render them out for my new project. This works very well and infact the style is quite good to look at...

Have a look:



ps the green background is normally transparent.

IPete2.


Bob3d(Posted 2004) [#9]
I'd say...go for modelling in Wings3d, map in Ultimate Unwrap, animate in Character Fx. But long road till you learn all that, in case you arrive.

Bones and weights models are spcially good for many frames, hi res meshes. Poser models use to be hi res, too much.

I don't like Milkshape (though I bought it) at all for animation (for other stuff, yes) as it has only weight of 1.0 or 0. Not too good human meat bending.

BTW, I think u can change later on the tga with same name for one of 24 bits, in med I dunno...I used to create the anim in Quake modeller, and make th etexturing and uvmapping in NST, but long ago.

Character FX allows exporting as md2, but has its problems there.

My fav path is Wings3d-> ultimate unwrap-> character fx->(b3d or x format) -> Ultimate unwrap (for welding or some more editing) -> direct to whatever the engine.


BioHazard(Posted 2006) [#10]
Well, it's been 2 years, and I still cannot make B3D play nice with Poser (see original post). Too bad! I figured by now someone else would find a way.

Loading multiple 3DS files is the only way to go, but it is just a lttle too slow.

I guess my application is a lttle odd (a 3d story book), but I will keep trying and hope to find a way.

Cheers all! Great stuff in this forum. B3D rawks.



For extreme machines -> www.atomiczombie.com


Barliesque(Posted 2006) [#11]
Well, whenever the subject of 3D model format conversion comes up, the answer almost invariably involves using Ultimate Unwrap3D... whether you're interested in using it for its excellent UV unwrapping features or not, the list of supported formats is fairly extensive... having said that, it does not include Poser's native format. So what I would do is try each of Poser's export formats, and see which make it into Unwrap3D succesfully. Then re-save as a B3D.

Your application *could* be very valuable... if it allows the user to control the camera, 'actors' and sound effects (maybe even some lip-sync animation) according to a timeline--or something like that--then that would be very useful for game programmers in the community who want to create realtime 3D cut-scenes. ...Is that anything like what you're working on?


Barliesque(Posted 2006) [#12]
...and MilkShape is the other application that always comes up for format conversion.


Ricky Smith(Posted 2006) [#13]
...Fragmotion also has loads of import/export formats including .b3d.