Seamless integration - 3D World Studio & Blitz3D

Community Forums/Developer Stations/Seamless integration - 3D World Studio & Blitz3D

JoshK(Posted 2005) [#1]
I just finished the .b3d exporter for 3D World Studio. Exported .b3d files appear in Blitz exactly as they do in the editor, complete with entities, brushes, meshes, transparency, masking, and lighting. Lightmaps, vertex lighting, and static shadowmaps all export into a .b3d file, ready to use in Blitz3D, with no special code required. You can even set the exporter to launch your own Blitz3D project straight from the editor.

The only difference here is I used a little fog in the Blitz3D viewer.

BlackD(Posted 2005) [#2]
Nice. I'll buy it as soon as my bank account is back in the black. :) In terms of editing, it appears to be fairly similar to Hammer/World Craft. Is this correct? As I'm quite familiar with that package, but can't stand the effort required to convert maps to B3D format.


JoshK(Posted 2005) [#3]
The program is very similar to Hammer/Worldcraft, but it has several extra features, like referenced meshes and lightmapping in the editor. I am also in the process of adding terrain, using a method like what Half-Life 2 uses.

ShadowTurtle(Posted 2005) [#4]
I want to use maps with high polycount, but bigger (like Quake II). Is a BSP (VIS etc.) Export aviable? I means the technical algorythmn.

How many Surfaces and Textures have your map (see upper screenshot)? My map editor uses Surfaces how exists textures (* Areas (VIS)).

Erm.. i mean: Makes 3D World Studio optimally exports?

BlackD(Posted 2005) [#5]
Do you mean, in exporting, does it assign multiple locations with the same texture to a single surface?

SillyPutty(Posted 2005) [#6]
Wow halo, this is looking good indeed, will definately be buying soon !

JoshK(Posted 2005) [#7]
The editor exports each object and brush surface separately, so you can maintain control over it in your own program. If you want just simple and fast rendering, use LoadMesh(). If you want to go through the map and find entities and special objects, use LoadAnimMesh(). If you wish, you can always use AddMesh() to collapse the mesh into single surfaces, whichever way you choose to divide the map up.

Blitz3D doesn't really support any visibility or bsp method. You can export to .map, which can be compiled in a bsp compiler, but it would probably be more trouble than it was worth.

Ricky Smith(Posted 2005) [#8]
Looks really good halo and the export to .b3d is a very welcome addition.

IPete2(Posted 2005) [#9]
I agree with Smiff, a great addition for us guys! Thank you.


VIP3R(Posted 2005) [#10]
Excellent work halo, looks great!

JoshK(Posted 2005) [#11]
If you want to test it out, here is the latest patch:

Post feedback here:

If everything is okay, I will make a new installer with this version.

ShadowTurtle(Posted 2005) [#12]
This is not good, halo. I do want both. Dynamic and static objects in "single surface"-system too. In order to administer an object (dynamic), i must administer all (static objects)?

Ok. My map editor have a Dynamic/Static flag:

So does export an 20 Mesh (~15 Surfaces) map into two Meshs. One with 3 Surfaces (3 Textures). And one for dynamic manage. Like this.
(h=show/hide help;esc=quit;f1=wireframe mode;f2=area-culling mode;f3=vsync;f4=fullscreen)

I think, i do use my own map editor.

btw. this supports area-culling (like VIS) optimaly too.

JoshK(Posted 2005) [#13]
Your post is bordering on spamming my thread.

It wouldn't make sense to collapse all meshes. If you just want a simple fast render, use LoadMesh() to load the map as a collapsed mesh. If you want advanced options, use LoadAnimMesh(), and you can have control over every single surface.

For example, a dynamic decal light routine I use only works if I have know where every single face of every brush object in the map is. Loading a collapsed mesh would destroy this. I can still collapse the mesh myself in my world-loading routine, and the Wiki will show you how to do this.

My method gives all the benefits of a single surface render, but you get extra information a collapsed mesh would lose.

And if you just want a simple single-surface render, use LoadMesh().

Warren(Posted 2005) [#14]
Your post is bordering on spamming my thread.

Oh noes!!1!

Physt(Posted 2005) [#15]
Halo -

The screen shot looks great.