BZFlag map making tutorial. Part 3

In this tutorial I will focus on how to texture basic objects, I should point out that texturing is a great tool, but is no replacement for playability. Playability should be the primary goal for any map.

I should also point out that the bzflag wiki has tons of info on material.

wiki link on material


Ok lets start off with a basic material object. Then we will move to the more advanced options with material.

***********************************************
material # <--- object name
name test     # <-- name is important for using it later
addtexture telelink # <-- this is the telelink texture
end                 # <-- this goes without saying
****************************************


Notice the telelink texture, it is local texture local textures are located on every client and can be called without the use of a absolute path or extension.


The location of these local textures, varies depending on your O/S.


Now in order to use this material we must have a object to apply it too.


************************************************


material # <--- object name
name test     # <-- name is important for using it later
addtexture telelink # <-- this is the telelink texture
end                 # <-- this goes without saying


box 
pos 0 0 0 
size 30 30 15 
matref test # <-- we are calling the material.
end


pyramid
pos 100 0 0
size 15 15 15
matref test # <-- calling it again
end



************************************************




Ok lets see how this looks.





Now as you can see it applied the teleporter link material to the box and pyr.




Now lets add a little spice to it, using diffuse.



************************************************


material # <--- object name
name test     # <-- name is important for using it later
addtexture telelink # <-- this is the telelink texture
diffuse blue        # <-- diffuse is a way to add color and more
end                 # <-- this goes without saying


box 
pos 0 0 0 
size 30 30 15 
matref test # <-- we are calling the material.
end


pyramid
pos 100 0 0
size 15 15 15
matref test # <-- calling it again
end



************************************************




Lets take another look.




Now as you can see it 'diffused' the telelink with blue.

Now another use of diffuse is to make things transparent or semi-transparent.


 ************************************************



material # <--- object name
name test     # <-- name is important for using it later
addtexture telelink # <-- this is the telelink texture
diffuse 1 1 1 .5        # <-- diffuse is a way to add color and more
end                 # <-- this goes without saying


box 
pos 0 0 0 
size 30 30 15 
matref test # <-- we are calling the material.
end


pyramid
pos 100 0 0
size 15 15 15
matref test # <-- calling it again
end




************************************************



Now using diffuse the first 3 numbers are colors the last is opacity. A value of 1 in the first 3 simply uses the natural texture without change. So in the example above the '.5' is 50% opacity.


A value of 1 in the last number of diffuse is no change, and a value of 0 is invisible.


Lets take a look.








So thats what diffuse does.

Now there are many textures on your local computer, but there is also many textures available at the image submission, In order for players to see the textures they must be submitted to image submission. Images are approved by the bzbb admin and must adhere to the terms of service. now that thats said lets move on the remote textures.

Lets take the same example as above and apply some remote textures to them.



 ************************************************



material 
name test     
addtexture http://images.bzflag.org/astevens/ahs3_chunk.png #<--
diffuse 1 1 1 1       
end                 


box 
pos 0 0 0 
size 30 30 15 
matref test 
end


pyramid
pos 100 0 0
size 15 15 15
matref test 
end




************************************************


Now lets see the results.




Ok well thats the basics of texturing. feel free to study the material page of the wiki for more details.

And remember, TEST, TEST, TEST, and test some more. :-)


--ahs3


Comments