vertex, level, texture animation etc.

Blitz3D Forums/Blitz3D Beginners Area/vertex, level, texture animation etc.

Nenad(Posted 2007) [#1]
Hi, relative new to Blitz and i have few starter questions :)

1. When i use level designing software or world modeler, lets say, I have few meshes of trees... of course i will rotate them, multiply them and scale them to give the feeling of difference. Does b3d export then "flattens" all that information an produce one big new mesh, or it calculate my meshes inside the b3d, therefore a big mesh but smaller because calculated ?
Can i have animated props (branches bending for example) when i build level that way, or it must be imported in level afterwards?

2. Lets say i have about 30 3Dscenes, which fits into the window, like small levels; Is it better to load them as an big mesh or to load the separate levels as i need them ?
What if i produce level from array matrix, loading meshes into their position - is this too painfull for Blitz3D speed?

3. Does b3d support vertex animation?

4. What about animated textures for the meshes, what is the method for that ? (for example, i want to have on my characte facial gestures by animating its texture)

Thanks in advance !

Nenad


Naughty Alien(Posted 2007) [#2]
1) B3D export will not 'flatten' your geometry unless you did that in your 3D modelling tool...you will get exactly what you create in your 3D modelling program (it should be like that if you did it properly)

2)That depending on your level design as well as polycount..

3) Use MD2

4) Create anim strips (separate animation frames within one big image) and load them with LoadAnimTexture


IPete2(Posted 2007) [#3]
(1) Use loadanimmesh to load multiple mesh levels and animations. You need to read up more on this to get the best from it, and it will depend how you animate stuff, bones work well - using the skin modifier in 3dsmax exported using the B3d Pipeline.

(2) again maybe use loadanimmesh to load a huge level made of smaller meshes, becareful of the surface count, and remove all excess unused polygons. Keep textures down on objects, try to use one texture with more than one texture on it. Keep textures in multiples of 2 i.e. 128 * 128, 2546 *256, 512 * 512 or variations 256 * 512. Don't exceed 2048 * 2048 and try to be lower unless you need the detail. Also look out for the dds texture code which is around so you get more hardware compressed textures and faster access to them in runtime.

(3) what above said.

(4) You could use "Glueit" to create the animstrips - very nice. You can find the child of a mesh sing the findchild command, and replace the texture using textureentity - but you must have separate objects to be able to texture that object efficiently.

IPete2.


Nenad(Posted 2007) [#4]
Thanks for your guidelines, guys, i will need to practice with some of my meshes and animations and see how it goes in praxis!
Also need to dig more in existing demos/examples...


Nenad(Posted 2007) [#5]
Erm, just a sec... I will still be able to reffer to some specific mesh inside imported huge level? (for example, house with door in forest, will i be still able to for example rotate specified object in level (door - opens when pushed))?
I guess yes, by calling it with some command by its (mesh) label ?


b32(Posted 2007) [#6]
I think you need the FindChild or GetChild functions:
scene = LoadAnimMesh("scene.b3d")
door = FindChild(scene, "door")
TurnEntity door, 0, 90, 0



Nenad(Posted 2007) [#7]
Thant must be it, tnx :)
Just inspecting if I am guessing right!