B3d Pipeline v0.5

Community Forums/Developer Stations/B3d Pipeline v0.5

Pudding(Posted 2003) [#1]
B3d Pipeline v0.5

- Now supports Max6
- B3d Extensions Library
- Bunch of new extensions:
- Animated brushes and maps
- Export visibility track
- Blitz3d render options (EntityOrder() etc.)
- Blitz3d collision setting (EntityBox etc.)
- updated the docs
- more...

I'm particularly interested in feedback and suggestions for the design of the B3d Extensions Library. The B3d Viewer has been the main testbed for the library so far, so I'm curious to see how other people take to it...

Pudding


Caff(Posted 2003) [#2]
Cool! The b3d extension stuff looks interesting, I'll have to play with that for a bit :)


Beaker(Posted 2003) [#3]
What is a "visibility track"? Also, do you think exporting bezier splines would be possible/useful?


Akat(Posted 2003) [#4]
1) visibilty track was the same function as the togle between 'ShowEntity' + 'HideEntity' in the animation track.

2) bezier spline is great for camera smooth movement like slow-in and slow-out... i asked for it before... thanx Pudding


R0B0T0(Posted 2003) [#5]
Thanks Pudding, I'm glad to see that you are still improving this essential tool.


Skitchy(Posted 2003) [#6]
Bloody brilliant as always :) Work of art.


@rtur(Posted 2003) [#7]
Excelent work! This is the most usefull tool for Blitz that i've seen for last 2 years!

But some suggestions:

-Export user defined properties... for example user can make unit for RTS and set all its properties(like speed, damage etc) This will be usefull for any kind of games imho...(Would be cool if there will be unlimited amount of user defined properties:-)
-maybe ability to export camera range or camera targect...
-In occluder.bb may be little faster if u'll change visibility test to this:
If EntityInView(occ\entity,EXT_RenderCam)
If EntityVisible(occ\entity,EXT_RenderCam)
ShowEntity(occ\entity)
Else
HideEntity(occ\entity)
EndIf
EndIf
And there is bug with collisions modificator. I can't apply both collisions and render modificators, one of them disables other one. For example i can't set Entity order and make it Pickable.
And some errors was with collisions mod-r. I don't know why it can be, I'll test it little more and report to u when extractly it gives error.

Thanks a lot!
Ps: Sorry for my english:-)


Pudding(Posted 2003) [#8]
Skitchy:
Thanks!

Masterbreaker:
The visibility track controls an entity's alpha. You can use it to fade objects in and out.
I do want to export splines (it would be useful for AI paths etc.) I'm thinking about exporting a mesh similar to the way koekjesbaby generates a wireframe in this code archive This has the added advantage that you can see the spline curve in wireframe.

Akat:
Are you talking about animation curves or actual splines? The pipeline already exports animation curves for ease in/out, but it has to approximate them as straight lines since Blitz only uses linear interpolation. You can set the accuracy of the approximation using Optimize Keys.

@rtur:
- I want to export user defined properties, but haven't decided how I'm going to implement it yet. I'm torn between using an extension in the b3d file, or exporting a parallel text/xml file that can be edited without re-exporting the max file. I know in day to day production I find the latter approach more useful...
- I might just add EntityInView as another option in the Render modifier.
- I'll look into the modifiers disabling each other...
- Let me know when you track down the collisions modifier bugs.


BTW has anyone had problems with the Max6 export plugin? I got email from someone who couldn't get it to work, so if anyone else is having difficulties, it would help me identify the problem.

Pudding


Beaker(Posted 2003) [#9]
Pudding - creating a mesh for the actual spline itself would be great. A tube mesh would have its uses as well as wireframe only.


Pudding(Posted 2003) [#10]
You can export a tube mesh now:

- in the Rendering rollout, make the spline Renderable
- display the render mesh and tweak the settings (thickness, sides...)
- add an Edit Mesh modifier and export

I could force the exporter to recognize a Renderable spline and not need the Edit Mesh modifier. In fact I'll probably do that...

Pudding


Rob(Posted 2003) [#11]
This is amazing stuff.
I was playing with maxscript not too long ago with the idea of perhaps having max precalculate a vis table.


Chaos(Posted 2004) [#12]
Is anyone having a problem with the Pipeline in MAX 6? - I have had it working in max 4.2 and max 5 but If i try to run it in Max 6 I get the error code 126 module not found error when it trys to load b3dexp.dle. (I have applied the max6 patch !)

Any help would be appreciated :)

Chaos


Akat(Posted 2004) [#13]
me too...


Akat(Posted 2004) [#14]
o one more thing - how to export lights from max into B3D file, look at this code:

extModel = EXT_Entity = EXT_InitEntity(model)
if (EXT_NumLights(extModel)=0) Then RuntimeError("No Lights in b3d File!")

and yes it is - there is no light contain in that file even i put it before in max


Pudding(Posted 2004) [#15]
I think I finally tracked down why the Max6 exporter doesn't work for some people.

For anyone who's interested, I found this on the Discreet forums:

If you use .net and your project is set to multithreaded DLL (or anything DLL) it will link the c runtime explicitly to msvcr71.dll and msvcp71.dll. Usually this is fine in earlier versions of dev studio, as it will link to versions of the msvcrt dll that are on the users system. The way to fix it is to include those dlls in the plugin directory, or to link implicitly by specifying "Multithreaded" and not "Multithreaded DLL" for example. Welcome to the wonderful world of windows programming!


This seems to do the trick. Unfortunately, the exporter is currently out of sync with the v0.5 pipeline (I've added some stuff!). So there's no point in me posting a new exporter until I release v0.6.

In the meantime you could try finding msvcr71.dll and msvcp71.dll on your system and copying them to your max
plugins folder.

Anyway, I should be releasing v0.6 in the next week or so...


Akat, do the lights show up in the B3d Viewer? Also, if you hit Tab in the viewer does it appear in the scene graph?

-Pudding


David(Posted 2004) [#16]
i cant move or rotate entity loaded with this lib, why?


Chaos(Posted 2004) [#17]
ok - Ive got it working - Thankyou Pudding for the prompt reply!!

BUT - Do not copy the msvcr71.dll and msvcp71.dll into your plugins directory - it still wont work, instead copy them into the root of your max installation folder (ie C:\3dsmax6) and it should work just fine!

Thanks for pointing us in the correct direction Pudding! - cant wait for v0.6!


Akat(Posted 2004) [#18]
B3d viewer... yes it is
scene graph... also it did

but when i try to check it it using ext_numlights(), it said something like 'no light in the scene' - and the loaded scene have nothing but the plain ambient.

can u give a simple code to retreive light using B3D Extensions...