B3D Mesh format

Blitz3D Forums/Blitz3D Programming/B3D Mesh format

GIB3D(Posted 2009) [#1]
One quick question about the B3D format. Are you allowed more than one texture, for multiple surfaces inside one mesh? I don't mean multiple textures on one surface.

Example, let's say you have two buildings, a brick one, and one made out of wood. You would need 2 textures, for 2 surfaces, but exported as one mesh and loaded as one mesh. I have tried it and it didn't work but I want to know for sure from somebody else if it's true or false.


Matty(Posted 2009) [#2]
Yes a single mesh can have more than one surface, each with a different texture.

What program do you use to create your meshes?


Kryzon(Posted 2009) [#3]
You can have multiple brushes for each mesh. Let's say you are building a room as a single mesh, but you want the floor to have a wooden texture, the ceiling to have this smooth concrete, etc.

You can perfectly do that, and tools like B3D Pipeline for 3DS Max help you a lot with material managing and manipulation outside of code
(saving you the trouble of having to customize a brushe's alpha values and texture\FX flags while in-code).

Problem is...new brush = new surface. A brush has layers of textures, each one of these texture layers does not equal a new surface. Only brushes, when applied to polygons, separate these polygons into a different surface for each brush. And each surface increases CPU cost.
That means, having 2 different brushes in a single mesh equals 2 surfaces for that mesh (1 surface will hold all the polys with one brush, the same for the other).

Of course by having a fully textured level doesn't mean you are going to have a major slowdown, but you should use the same brush for different polygons that should have the same texture, instead of creating a new brush for it every time. It's all about optimization that does not compromise the final result.


GIB3D(Posted 2009) [#4]
I use Milkshape3D (because it's all I could afford) for modeling.

I was modeling a small level to test out a Spyro clone I'm making. I figured I didn't want everything to look like stone, so I changed a texture for some a wall, the wall being in the same b3d file as the rest of the level. I gave it a texture and all was fine inside Milkshape3D, but when I loaded it in Blitz3D, only the first texture worked, the wall was completely white.


Ross C(Posted 2009) [#5]
I believe MilkShape has a pretty poor .b3d export. Last time i checked, it didn't export group names, for multi mesh .b3d files. But, double check the texture your using is in the same directory as the mesh.


GIB3D(Posted 2009) [#6]
The texture is in the same place as the other texture so yea, it should work. Also, I just tested it in .3ds format to see what would happen. It worked. I'm not too sure about .3ds though. I don't know the limitations. What sucks is that I bought MilkShape thinking it was something I could afford, and was something I could get started with, but there's no updates anymore and modeling things fast enough is hard to do. If I could afford Maya, I would buy it in an instant, oh how I love Maya... om nom nom. Plus in Maya, you can actually UV Map like it's no big deal, but Milkshape3D makes it harder than it needs to be.


GIB3D(Posted 2009) [#7]
All is well now! I downloaded a newer version off of the website, I didn't know there was an update to the exporter. The textures work as expected.