BMD file

From Pikmin Technical Knowledge Base
Revision as of 21:35, 14 August 2021 by Espyo (talk | contribs) (Moving from JSON file. See deletion log there for details.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Editor's note: This page is under construction.

Pikmin 2 uses .json (Javascript Object Notation) files to handle the materials of its 3D models. All .bmd files in Pikmin come with a mat.json and a texheader.json. The mat.json contains the data related to the model's material, which is read by the game to produce the final model in-game. Every mat.json has the same variables that control what the model will look like.

Mat.json

"Name" Name of material that is being defined.
"Flag" Material flag value.
"ColorChannelControlsCount" Amount of color channel controls.
"NumTexGensCount" Amount of texture generators.
"NumTevStagesCount" Amount of tev stages.
"Textures" The list of textures that the material uses, in square brackets
"IndTexEntry"
"HasLookup"
"IndTexStageNum"
"TevOrders"
"TexCoord"
"TexMap"
"Matrices"
"Matrix"
"Exponent"
"Scales"
"ScaleS"
"ScaleT"
"TevStages"
"TevStage"
"IndTexFormat"
"InTedBiasSel"
"IndTexWrapId"
"IndTexWrapS"
"IndTexWrapT"
"AddPrev"
"UtcLod"
"AlphaSel"
"CullMode" Determines which faces to render.
"MaterialColors"
"ChannelControls"
"Enable"
"MaterialSrcColor"
"LitMask"
"DiffuseFunction"
"AttenuationFunction"
"AmbientSrcColor"
"AmbientColors"
"LightingColors"
"TexCoord1Gens"
"Type"
"Sources"
"TexMatrixSource"
"PostTexCoordGens"
"TexMatrix1"
"Projection"
"Type"
"EffectTranslation"
"Scale"
"Rotation"
"Translation"
"ProjectionMatrix"
"PostTexMatrix"
"TevOrders"
"TexCoord"
"TexMap"
"ChannelId"
"ColorSels"
"AlphaSels"
"TevColors"
"KonstColors"
"TevStages"
"ColorInA"
"ColorInB"
"ColorInC"
"ColorInD"
"ColorOp"
"ColorBias"
"ColorScale"
"ColorClamp"
"ColorRegId"
"AlphaInA"
"AlphaInB"
"AlphaInC"
"AlphaInD"
"AlphaOp"
"AlphaBias"
"AlphaScale"
"AlphaClamp"
"AlphaRegId"
"SwapModes" Determines the channel that each channel will draw from. 0 = Sample from Red 1 = Sample from Green 2 = Sample from Blue 3 = Sample from Alpha.
"RasSel"
"TexSel"
"SwapTables"
"FogInfo"
"RangeAdjustmentTable"
"AlphCompare" Creates a filter based on the Alpha of the pixel that determines whether or not that pixel is rendered.
"Comp0"
"Reference0"
"Operation"
"Comp1"
"Reference1"
"BMode" Determines how a mesh is rendered in relation to meshes that have already been rendered.
"Type"
"SourceFact"
"DestinationFact"
"Operation"
"ZMode"
"Enable"
"Function"
"UpdateEnable"
"ZCompLoc"
"Dither"
"NBTScale"
"Unknown1"