Optionalname: stringOptionalbaseColor: stringOptionalmetallic: numberOptionalroughness: numberOptionalalpha: numberOptionalemissiveColor: stringOptionalemissiveIntensity: numberOptionalzOffset: numberOptionalzOffsetUnits: numberOptionalbaseColorTexture: anyOptionalmetallicRoughnessTexture: anyOptionalnormalTexture: anyOptionalemissiveTexture: anyOptionalocclusionTexture: anyOptionalalphaMode: alphaModeEnumOptionalalphaCutoff: numberOptionaldoubleSided: booleanOptionalwireframe: booleanOptionalunlit: booleanName identifier for the material
Base/albedo color of the material in hex format
Metallic factor (0 = dielectric, 1 = metallic)
Roughness factor (0 = smooth/mirror, 1 = rough/diffuse)
Overall opacity/transparency of the material (0 = fully transparent, 1 = fully opaque)
OptionalemissiveEmissive color - the color the material appears to emit (glow)
Intensity multiplier for the emissive color
Z-buffer depth offset factor to help with z-fighting on coplanar surfaces
Z-buffer depth offset units for fine-tuned z-fighting control
OptionalbaseTexture to use for base/albedo color
OptionalmetallicCombined metallic-roughness texture (metallic in B channel, roughness in G channel)
OptionalnormalNormal/bump map texture for surface detail
OptionalemissiveTexture for emissive/glow areas
OptionalocclusionAmbient occlusion texture for soft shadows in crevices
Alpha/transparency mode: opaque, mask (cutout), or blend (translucent)
Alpha threshold for mask mode (pixels below this are fully transparent)
Render both sides of faces (equivalent to disabling backFaceCulling)
Render material as wireframe
Disable lighting calculations and render flat/unlit
Generic PBR (Physically Based Rendering) material creation options. These properties represent the common subset available across BabylonJS, ThreeJS, and PlayCanvas. Property names follow BabylonJS conventions and are mapped to equivalent properties in other engines.