Announcing b3D Pipeline

Blitz3D Forums/Blitz3D Programming/Announcing b3D Pipeline

Pudding(Posted 2003) [#1]
NEW v0.4 Morphs!
NEW v0.3 Bones!

b3D Pipeline is a package of tools that builds an art pipeline from 3dsMax to Blitz3d.

3dsMax B3d Exporter:
- Exports smoothing groups
- Exports second UV channel
- Exports vertex colors +alpha
- Handles multiple color channels per vertex
- Recognizes Standard Material
- Recognizes Multi/Sub Object Material
- All export parameters exposed to Maxscript
- Converts to relative texture paths

3dsMax Blitz3d Material/Map:
- Blitz3d Material and Map support all Blitz3d features
- Finally, multi-texturing export from Max!

B3d Extensions:
- Emulates b3d support for cameras, lights, fog, ambient…
- B3d Extensions library coming soon…so you can use B3d Extensions in any Blitz3d project.

B3d Viewer:
- Supports B3d Extensions
- View models with cameras, lights, ambient, fog etc. exported from Max
- Command line (call from Maxscript or associate with b3d file type)
- Integrates with B3d Exporter for b3d previews in Max
- Basic scene graph view

b3D Pipeline Homepage

-Pudding


Rob(Posted 2003) [#2]
EXCELLENT!


Mathieu A(Posted 2003) [#3]
RE - EXCELLENT!!

I wait this tools for a long time, it will be very usefull!! Thank you


Skitchy(Posted 2003) [#4]
Sounds good.

Will it support vertex-level animation (morphing)? Before anybody states the obvious ".b3d doesn't suuport that" - there are ways to cheat. I reckon a one-bone-per-vertex option should do the trick.


Space_guy(Posted 2003) [#5]
it looks good!
just hoping atleast one tool will be released one day that exports bone animation from max


Ricky Smith(Posted 2003) [#6]
Sounds most promising !


but will support animation soon.



This seems to be the cliche/standard phrase for everyone who is developing a Max to .b3d exporter. ;)

Hope this really does get added and your exporter wont fall into a black hole like some other previous attempts!


SopiSoft(Posted 2003) [#7]
Good work m8, i hope you get the animation done sooon ;-D

Im one of many persons who seriously needs a 3dsmax to .b3d exporter with boned animation as soon as possible...


Gabriel(Posted 2003) [#8]
Will it support vertex-level animation (morphing)? Before anybody states the obvious ".b3d doesn't suuport that" - there are ways to cheat. I reckon a one-bone-per-vertex option should do the trick.


Er.. yeah, but wouldn't that make the file incredibly bulky and slow to animate?


Mathieu A(Posted 2003) [#9]
certainly...


Jeremy Alessi(Posted 2003) [#10]
We're having a problem getting the script to compile in version 5.1 of Max.

"The material and texture editor portions work and look very promising, but unfortunately there is no export as that’s the part that wouldn’t load."


Pudding(Posted 2003) [#11]
Sorry about that - I compiled it for Max5.0!

I'll recompile now and post when it's up...

-Pudding


Pudding(Posted 2003) [#12]
Actually that wasn't the problem, I uploaded a debug dle instead of a release one (I only tested it on machines that had Visual Studio installed on them!)

I uploaded a new zip.

Also if you want to just grab the new dle you can get it here:
new dle

Let me know if it works now,
-Pudding


Rob(Posted 2003) [#13]
Oh this gets better and better. Will you charge for it?


SopiSoft(Posted 2003) [#14]
Great!!! now it also works with 3dsmax 4.0 !!! ;-D


Jeremy Alessi(Posted 2003) [#15]
It works for us as well. Apparently, there's a viewer also which is making it easy on my artist to view multitextured results.


Rimmsy(Posted 2003) [#16]
nice.

matt


R0B0T0(Posted 2003) [#17]
Awesome, and even better if you can eventually pull it all off!


Mathieu A(Posted 2003) [#18]
An excellent tool. It will be very usefull for us. Works fine on my computer


Pudding(Posted 2003) [#19]
I fixed a bug in the Blitz3d Map (B3dMap.mse) - the script would crash if it couldn't find a texture map (if you moved it or whatever)

You can get the updated file here here

Rob, I probably won't charge for it. I'm making it mainly for myself and I'm using the public release to hash out all the bugs. I've already found a few bugs that I wouldn't have otherwise - or would only have found in the thick of production when I wouldn't really want to take time out to debug the art tools.

-Pudding


Mathieu A(Posted 2003) [#20]
Thanks pudding


(tu) sinu(Posted 2003) [#21]
excellent stuff, something like this has been a long time coming but looks well worth it.

A bit of competition for all you other plugin developers :)


Shambler(Posted 2003) [#22]
Not working in MaxV3.1, do you plan to support versions this old?


Pudding(Posted 2003) [#23]
Sorry, I probably won't be supporting Max3.1 (just out of curiosity, is it the exporter that fails? what about the materials?)

-Pudding


poopla(Posted 2003) [#24]
Sounds cool m8. My team may snag a liscense :)


Shambler(Posted 2003) [#25]
For you curiosity, it fails when Max starts with errors

The Procedure entry point ?GetRsrcString@ClassDesc@@UAEPADH@Z could not be located in the dynamic link library core.dll.

Then a few Syntax errors

at groupBox expected <rollout call>
In line radioButtons Blend "" pos[25,94] width:58 height:48 labels:#("Alpha","Multiply","Add")
default: 1 columns: 1

and about 3 others similar to the above.


R0B0T0(Posted 2003) [#26]
Just got this error while loading a texture into B3d map in the material editor:

(grabbed from the maxscript listener)
-- Error occurred in btn_map.pressed()
-- Frame:
>> MAXScript Rollout Handler Exception: -- Runtime error: substring start out of range: -17 <<

Just realized this may be because the texture was an odd size (not power of 2)


R0B0T0(Posted 2003) [#27]
P.S. being able to preview the scene with B3Dviewer from within Max is just brilliant!


Pudding(Posted 2003) [#28]
That maxscript error is a silly bug of mine when trimming the file path to fit the button. The map should still work, you'll just get that annoying warning with short file paths!

I'll post a new B3dMap.mse soon to fix this...

Glad you like the b3dviewer in Max - I've got a new version with a scrub bar and vcr controls to preview animations. Just finishing up some code to optimize animation export then I'll post b3D Pipeline v0.2!

-Pudding


Pudding(Posted 2003) [#29]
Get the updated B3d Map here

replace the script in scripts\startup

-Pudding


R0B0T0(Posted 2003) [#30]
Thanks pudding, I appreciate the fact that the package you are putting together seems well thought out and covers all the bases.

Of course I (like all the other Max users I'm sure) are anxiously awaiting the final frontier.. animation!

Looking forward to the next release!


CyBeRGoth(Posted 2003) [#31]
This is really cool!
Finally what you export in max, is what you get in blitz. Thanks for releasing this to the public!

The animation is going to be cool too :)


Pudding(Posted 2003) [#32]
v0.2 now exports hierarchical animation (no bones yet)

b3D Pipeline Homepage

Right now the animation export just samples a keyframe for every frame of the animation. I'm working on some algorithms to reduce keyframes, but in the meantime I wanted to release this bare bones implementation to track down any glaring bugs before I work on optimizations. The scene graph in the b3d viewer (hit tab) now shows keyframe graphs, so you can check those against the animation curves in Max.

Also the b3d extensions don't animate fully yet, but I'm putting those on the backburner for a bit till I get all the basic stuff done - I want bones as much as you guys!

-Pudding


Mathieu A(Posted 2003) [#33]
Great Thank you very much!!


Space_guy(Posted 2003) [#34]
sounds great :)
great tyiming as all the sudden i have a few friends who want to make some models for me so it will be sweet once the bones are in :)


Pudding(Posted 2003) [#35]
I uploaded a couple of bux fixes:

- Fixed: Splines and other unrecognized objects could corrupt the exported file.
- Fixed: Materials of hidden objects were still exported.

You can grab the new dle here.

replace the dle in your max plugins folder.

-Pudding


Mathieu A(Posted 2003) [#36]
I try the animation tools, it was very very good.
Good luck for the bones exporter!!


BODYPRINT(Posted 2003) [#37]
This tool has been an absolute God send.

I can view my B3d models directly in 3d Max just makes everything soooo much easier.

Thanks heaps Pudding, and PLEASE keep up the good work !!


Binary_Moon(Posted 2003) [#38]
Can you increase the camera range in the max viewer. It seems really low at the moment (about 300 units?) I'd say make it at least 1000.

Otherwise this is absolutely stunning. I'm very much looking forward to the addition of boned animation.

Will it work with Physique and Skin modifiers or just skin/ physique - I'd prefer skin if only one.


Gabriel(Posted 2003) [#39]
Cool. I hate physique anyway and since we don't have support for weighted vertices, it's pointless using the envelopes anyway. Much quicker to drag-select your vertices and type in a weight of 1 or 0. So skin is just fine with me. Loving the exporter so far by the way.


Binary_Moon(Posted 2003) [#40]
That's cool. I'm not a character studio fan either :)


Caff(Posted 2003) [#41]
I just wanted to say thanks, great work you're doing Pudding!!

Having a few problems with using the materials. I'm not sure I'm doing it right...

For some reason the perspective view won't show a Blitz brush when I assign to something, but when I do a b3d preview, or max render, the texture is there...

Can anyone be good enough to post a step-by-step guide to using the B3d material/maps? I need to start looking at texture baking for lightmaps also, has anyone got this going?


Pudding(Posted 2003) [#42]
Are you using the "Show Map in Viewport" button in the material editor (looks like a checkered box)?

-Pudding


Ruz(Posted 2003) [#43]
Ahh you had me going there, for a minute I thought this was the bones version. I look forward to that though and congrats on what you have done so far.
So you won't be suporting biped then?That would be a shame , since I have so many animations that I did using freeform biped.
Not complaining though, you are doing work vital to the future of the universe and should be commended highly.


Caff(Posted 2003) [#44]
Oops, thx Pudding, that explains it :)


Gabriel(Posted 2003) [#45]
So you won't be suporting biped then?That would be a shame , since I have so many animations that I did using freeform biped.


He only said he wasn't going to initially support physique. There's no reason at all that you can't use Skin with Biped. I do it all the time, as I like having the IK setup for me, but physique is cumbersome and loaded with features that don't achieve anything without vertex weights.


Pudding(Posted 2003) [#46]
EDITED!!
B3d Pipeline v0.3 (Bones!)

NOTE: This is my first crack at exporting skin/bones from Max. For now you have to follow some fairly strict guidelines:

- The exporter currently only supports the Max Skin modifier (Use Skin: Advance Params: Rigid Vertices)

- EDIT: I THINK I FIXED THIS IN THE LATEST ZIP: To orient a skinned mesh correctly, make sure it is created at world pos 0,0,0 with rotation 0,0,0... EDITED

- If you want to preview boned characters in the B3d Pipeline Viewer, bones must have the prefix "bone" or "bip" (not case sensitive). This is a workaround for a Blitz limitation in determining if an entity is a bone or a mesh.

- Adding a scene root is now optional, however, bear in mind that Blitz doesn't seem to like b3d files with multiple roots - if you have multiple roots add the scene root (B3d Extensions should also use the scene root).

- Characters shouldn't use the scene root since the skinned mesh should be the only root (so also hide the bones before exporting/viewing).

- The b3d viewer will play animations nested in the hierarchy of the b3d file and is more flexible with the added scene root (eventually it will handle a whole cut-scene - camera, lights, editing, particles etc. ) When you export the b3d file remember that the viewer doesn't represent the default Blitz3d behavior - but it will be easy with the B3d Extensions library... :)

I know these limitations are a pain, and I am investigating ways to improve the situation! In the meantime, test this version of the exporter so I can hammer out some of the bugs...

ALSO: Please delete UI\macroscripts\b3dviewer.mcr; It has been replaced with B3dPipeline.mcr. All B3dPipeline tools are now under the category "B3dPipeline Tools" in the Customize UI options. You'll have to remap any buttons/menus you made - sorry for the inconvenience!

Get it here

Read the readme for more details...

-Pudding


Pudding(Posted 2003) [#47]
I uploaded a new zip file (the old one was missing a couple of icon images and the b3d viewer was missing a cursor in full screen mode)

-Pudding


Space_guy(Posted 2003) [#48]
this is the best news i heard all day :)
ill test it tonight


Filax(Posted 2003) [#49]
Support Character Studio in future ??? plzzzzzzz ! :)


Chgros(Posted 2003) [#50]
yes pleazzzz , me toooooo , i need character studio !
thx

^_^


Pudding(Posted 2003) [#51]
You should be able to use Skin on a Biped skeleton. Also Discreet has some kind of Physique to Skin converter that you could try (for game development purposes Skin is just as capable as Physique and is less buggy)

I may yet support Physique - I'll just have to get over my gut level hatred for Character Studio (Why can't I use animation curves?! Why do open layers corrupt the saved file?! Why can't I save/load physique settings reliably?! Why no vertex weight table?! Why is copy/paste pose so buggy?! etc.)

Older versions of Max had limited character/bones support, but in Max5 I really don't see the benefit of Character Studio (okay, maybe if you use the crowds feature...) Having a prebuilt IK biped is cool, but the inability to use track view curves is a HUGE drawback. Just following the character rigging tutorial in Max5 you can build a better skeleton that's much easier to animate...

Anyway, enough ranting (I'm just bitter from 3 years using Character Studio at work...)

-Pudding


Gavin Beard(Posted 2003) [#52]
sorry to be so stupid, but how can i get it to show vertex color, i have tried my norm. texture bakin in 3dsmax, but when i use the viewer or export and use blitz its just a plain mesh, no color?


Binary_Moon(Posted 2003) [#53]
AFAIK you can use function curves in the latest version of character studio (version 4?). I wouldn't know for sure since i don't use it myself but I'm pretty sure I saw a demo of it at ECTS last year.

I'm gonna have a play with the bone system now :)


Pudding(Posted 2003) [#54]
RE: Will it support vertex-level animation (morphing)? Before anybody states the obvious ".b3d doesn't suuport that" - there are ways to cheat. I reckon a one-bone-per-vertex option should do the trick.

Hey Skitchy,

I tried out the one-bone-per-vertex thing just for the hell of it and it works really well!!

I exported a 30 frame animation of a 1024 polygon teapot with a melt modifier. The b3d file has 530 bones(!) but it animates great!

So the next version of b3d Pipeline will export morphing! You'll be able to animate the mesh using any Max modifier, do whatever you want, and export it to Blitz.

Of course you can make huge unworkable files if you're not careful, but it'll be your choice!

-Pudding

BTW how are people finding the bone export. I know the export options aren't terribly clear right now. If you're having trouble exporting a character, hide everything but the skinned mesh and DON'T add a scene root on export...


Filax(Posted 2003) [#55]
Great Job pudding !!!!!!!!!!!! Rob killer ;)


Space_guy(Posted 2003) [#56]
bone export works quite well :)
thanks alot!


Binary_Moon(Posted 2003) [#57]
DON'T add a scene root on export...


What's a scene root?

BTW how are people finding the bone export


I only set it up today, and have had a quickplay. It all seems to work really well. Thanks muchly.


Skitchy(Posted 2003) [#58]
Pudding - Grat news! I'm glad you tried my idea, and even more glad that it works :)

There's an optimisation to be found here somewhere. Let me just search my brain.......

Ah yes. Lets say you have a cube. You animate the 'top' of the cube (4 verts) so that it moves 'up', slowly elongating the object over 10 frames.
Now, if you think about it, each of the verts that make up the 'top' dont need their own bone, because they share an identical animation. They could be assigned to a single bone that moves 'up' over 10 frames. Instant optimisation!

This could be taken further with a 'threshold' parameter (although the maths would be harder). In the previous example, imagine that one of the verts on the 'top' moves 0.5 of a unit further than the rest. To have the animation export at 100% accuracy you'd need to give it its own bone. However, if you could detect verts that moved in 'similar' ways (based on a unit threshold or something) you could drastically reduce the number of bones required.
As I said, the animation wouldn't be 100% accurate, but it could be a user defined option.

Also, any verts that dont move at all could be assigned to a single, non-animated bone.

Hope this helps. I've been considering all this stuff for ages (I was going to write my own exporter eventually), but since yours is so great and I'll be using it instead you're welcome to take these ideas on :)


Ruz(Posted 2003) [#59]
great plugin pudding, been using it to great effect in recent days. enabled me to export lightmaps from max using the second uv channel and the luminaire plugin. Animation works great.
I even tried lightmapping my player and it looks cool
The only thing i had problems with was the alpha flag just couldn't get it to work. the alpha channel come out white in Blitz
If i use a standard max bitmap it works fine.


Caff(Posted 2003) [#60]
Ruz, can you post some details on how you managed to get the lightmap out? Say I have just a basic 3d map which is textured with Blitz3d textures?

thanks


Ruz(Posted 2003) [#61]
ok, let me get my thoughts together and I will send you the info. i have doen a lot of this in the past few days, got some really nice results. wll be posting my new update soon


Caff(Posted 2003) [#62]
Excellent, thanks Ruz :) Look forward to what you've been working on, sounds very interesting from some of your posts.


CyBeRGoth(Posted 2003) [#63]
Oi Ruz, dont keep it to yourself!

Post it here so everyone can get the info :)


Pudding(Posted 2003) [#64]
B3d Pipeline v0.4

Morphs:
- Animate the mesh using any Max modifier
- Add a User Defined Property: "B3dMorph" (case sensitive)
NOTE: morphs make a bone per vertex, it's very easy to make huge, unworkable files - use with caution!

Optimize Keys:
- Optimize animation keys


Get it at the usual place...

-Pudding


Beaker(Posted 2003) [#65]
Sounds great.


Space_guy(Posted 2003) [#66]
interesting :)


Mathieu A(Posted 2003) [#67]
excellent work pudding!! as always...


Rob(Posted 2003) [#68]
I'm happy to announce that my max plugin is now dead! If mark is reading this, it would be preferable to host pudding's pleasing plugin (PPP).

Nice one pud, because I really don't have time to finish mine! In fact I fully intend to use yours :) I think it's a sensible thing to host a link to yours from this very site!


Pudding(Posted 2003) [#69]
pudding's pleasing plugin - I like that!

One thing I want to improve in the next release is the presentation of the export options (see the "B3d pipeline confusing" thread in the Other Tools forum).

-Pudding