Difference between revisions of "Material"

From BZFlagWiki
Jump to: navigation, search
(Added magic material psuedodocumentation, courtesy JeffM2501)
(Code)
Line 34: Line 34:
 
dyncol=specify a dynamic color. -1 for no dynamic color.
 
dyncol=specify a dynamic color. -1 for no dynamic color.
 
ambient=ambient color
 
ambient=ambient color
diffuse=diffuse (main) color
+
diffuse=diffuse (main) color (red,green,blue,alpha)
 
color=synonym for diffuse
 
color=synonym for diffuse
 
specular=specular color
 
specular=specular color

Revision as of 16:22, 13 May 2007

A material is used in a BZFlag world to define a new look for otherwise regular objects, such as meshboxes.

Code

To put a material in your map, first it must be defined:

material
 name example_material
 texture filename
 addtexture filename
 notextures
 notexcolor
 notexalpha
 texmat -1
 dyncol -1
 ambient 0.0 0.0 0.0 1.0
 diffuse 1.0 1.0 1.0 1.0
 color 1.0 1.0 1.0 1.0
 specular 0.0 0.0 0.0 1.0
 emission 0.0 0.0 0.0 1.0
 shininess 0.0
 resetmat
end

Valid parameters for a Material are:

name name for reference
texture set the texture (don't use PNG extension)
addtexture add a texture (again, no PNG extension)
notextures don't use textures.
notexcolor don't apply the color to the texture
notexalpha don't use the texture's alpha channel
texmat specify a texture matrix. -1 for no texture matrix.
dyncol specify a dynamic color. -1 for no dynamic color.
ambient ambient color
diffuse diffuse (main) color (red,green,blue,alpha)
color synonym for diffuse
specular specular color
emission emission color
shininess shiny!
resetmat restore default values

To actually apply a texture, you must use some sort of reference in an object, like so:

meshbox
 position 0 0 10
 rotation 0
 size 10 10 5
 matref example_material
end

Magic Material Names

General

GroundMaterial

Skybox

LeftSkyboxMaterial RightSkyboxMaterial FrontSkyboxMaterial BackSkyboxMaterial TopSkyboxMaterial BottomSkyboxMaterial

History

Materials were added in BZFlag 2.0.0.

Editor Support

Materials are supported in Blender with BZWTools, pyBZEdit, and Wings3D with the BZW Exporter for Wings3D. Materials are NOT supported in BZEdit or BZFed.