@motion-script/core / PhysicalMaterial3D
Interface: PhysicalMaterial3D
Defined in: render3d/material.ts:120
Everything StandardMaterial3D has plus the expensive extras: clearcoat,
transmission (real refraction), sheen and iridescence. Costs more per pixel, so
reach for standard unless a surface needs these.
Extends
Omit<StandardMaterial3D,"type">
Properties
alphaMap?
optionalalphaMap?:Texture3D
Defined in: render3d/material.ts:62
Per-pixel opacity, read from the red channel.
Inherited from
alphaTest?
optionalalphaTest?:number
Defined in: render3d/material.ts:30
Structural. Discard fragments below this alpha. Cheap cutout transparency.
Inherited from
anisotropy?
optionalanisotropy?:number
Defined in: render3d/material.ts:151
Anisotropic (brushed-metal) highlight stretching.
anisotropyRotation?
optionalanisotropyRotation?:number
Defined in: render3d/material.ts:153
Degrees.
aoMap?
optionalaoMap?:Texture3D
Defined in: render3d/material.ts:64
Ambient occlusion, read from the red channel. Needs a second UV set.
Inherited from
aoMapIntensity?
optionalaoMapIntensity?:number
Defined in: render3d/material.ts:65
Inherited from
BasicMaterial3D.aoMapIntensity
attenuationColor?
optionalattenuationColor?:Color
Defined in: render3d/material.ts:135
Volumetric absorption colour at attenuationDistance.
attenuationDistance?
optionalattenuationDistance?:number
Defined in: render3d/material.ts:136
blending?
optionalblending?:Blending3D
Defined in: render3d/material.ts:36
Structural. How the colour combines with the framebuffer.
Inherited from
clearcoat?
optionalclearcoat?:number
Defined in: render3d/material.ts:123
A second specular lobe over the base — car paint, lacquer, varnish.
clearcoatMap?
optionalclearcoatMap?:Texture3D
Defined in: render3d/material.ts:125
clearcoatNormalMap?
optionalclearcoatNormalMap?:Texture3D
Defined in: render3d/material.ts:126
clearcoatRoughness?
optionalclearcoatRoughness?:number
Defined in: render3d/material.ts:124
clearcoatRoughnessMap?
optionalclearcoatRoughnessMap?:Texture3D
Defined in: render3d/material.ts:127
color?
optionalcolor?:Color
Defined in: render3d/material.ts:104
Inherited from
depthTest?
optionaldepthTest?:boolean
Defined in: render3d/material.ts:45
Test against the depth buffer. Turn off to force draw-on-top.
Inherited from
depthWrite?
optionaldepthWrite?:boolean
Defined in: render3d/material.ts:43
Write to the depth buffer. Turn off for additive glows and inside-out shells.
Inherited from
displacementBias?
optionaldisplacementBias?:number
Defined in: render3d/material.ts:73
Inherited from
BasicMaterial3D.displacementBias
displacementMap?
optionaldisplacementMap?:Texture3D
Defined in: render3d/material.ts:71
Displaces vertices along their normals. Needs a subdivided geometry.
Inherited from
BasicMaterial3D.displacementMap
displacementScale?
optionaldisplacementScale?:number
Defined in: render3d/material.ts:72
Inherited from
BasicMaterial3D.displacementScale
dithering?
optionaldithering?:boolean
Defined in: render3d/material.ts:51
Smooth gradient banding.
Inherited from
emissive?
optionalemissive?:Color
Defined in: render3d/material.ts:86
Self-illumination colour. Does not light other objects (see post bloom).
Inherited from
emissiveIntensity?
optionalemissiveIntensity?:number
Defined in: render3d/material.ts:87
Inherited from
StandardMaterial3D.emissiveIntensity
emissiveMap?
optionalemissiveMap?:Texture3D
Defined in: render3d/material.ts:88
Inherited from
StandardMaterial3D.emissiveMap
envMap?
optionalenvMap?:Texture3D
Defined in: render3d/material.ts:75
Reflected environment. Usually inherited from the scene's environment.
Inherited from
envMapIntensity?
optionalenvMapIntensity?:number
Defined in: render3d/material.ts:77
Multiplies light received from the environment.
Inherited from
BasicMaterial3D.envMapIntensity
flatShading?
optionalflatShading?:boolean
Defined in: render3d/material.ts:112
Structural. Facet shading — one normal per triangle.
Inherited from
StandardMaterial3D.flatShading
ior?
optionalior?:number
Defined in: render3d/material.ts:138
Index of refraction. 1.5 glass, 1.33 water, 2.42 diamond.
iridescence?
optionaliridescence?:number
Defined in: render3d/material.ts:144
Thin-film interference — soap bubbles, oil slicks, beetle shells.
iridescenceIOR?
optionaliridescenceIOR?:number
Defined in: render3d/material.ts:145
iridescenceThicknessRange?
optionaliridescenceThicknessRange?: readonly [number,number]
Defined in: render3d/material.ts:146
key?
optionalkey?:string
Defined in: render3d/material.ts:54
Explicit reconciler identity — see Transform3D.key.
Inherited from
lightMap?
optionallightMap?:Texture3D
Defined in: render3d/material.ts:79
Baked light added on top, unaffected by scene lights.
Inherited from
lightMapIntensity?
optionallightMapIntensity?:number
Defined in: render3d/material.ts:80
Inherited from
BasicMaterial3D.lightMapIntensity
map?
optionalmap?:Texture3D
Defined in: render3d/material.ts:60
Base colour (albedo). Sampled as sRGB.
Inherited from
metalness?
optionalmetalness?:number
Defined in: render3d/material.ts:108
0 dielectric → 1 metal. Metals tint their reflections by color.
Inherited from
metalnessMap?
optionalmetalnessMap?:Texture3D
Defined in: render3d/material.ts:110
Inherited from
StandardMaterial3D.metalnessMap
normalMap?
optionalnormalMap?:Texture3D
Defined in: render3d/material.ts:67
Tangent-space normals. Sampled as linear data, not colour.
Inherited from
normalScale?
optionalnormalScale?:number|Vector2
Defined in: render3d/material.ts:69
Normal strength, per axis. A number applies to both.
Inherited from
opacity?
optionalopacity?:number
Defined in: render3d/material.ts:19
0–1. Needs transparent to actually show through. Free to animate.
Inherited from
params?
optionalparams?:Record<string,unknown>
Defined in: render3d/geometry.ts:14
Inherited from
polygonOffset?
optionalpolygonOffset?:boolean
Defined in: render3d/material.ts:47
Nudge depth to break z-fighting between coplanar surfaces.
Inherited from
MaterialCommon3D.polygonOffset
polygonOffsetFactor?
optionalpolygonOffsetFactor?:number
Defined in: render3d/material.ts:48
Inherited from
MaterialCommon3D.polygonOffsetFactor
polygonOffsetUnits?
optionalpolygonOffsetUnits?:number
Defined in: render3d/material.ts:49
Inherited from
MaterialCommon3D.polygonOffsetUnits
roughness?
optionalroughness?:number
Defined in: render3d/material.ts:106
0 mirror-smooth → 1 fully diffuse.
Inherited from
roughnessMap?
optionalroughnessMap?:Texture3D
Defined in: render3d/material.ts:109
Inherited from
StandardMaterial3D.roughnessMap
sheen?
optionalsheen?:number
Defined in: render3d/material.ts:140
Retroreflective sheen — cloth, velvet, dust.
sheenColor?
optionalsheenColor?:Color
Defined in: render3d/material.ts:141
sheenRoughness?
optionalsheenRoughness?:number
Defined in: render3d/material.ts:142
side?
optionalside?:Side3D
Defined in: render3d/material.ts:32
Structural. Which faces to rasterize. Default "front".
Inherited from
specularColor?
optionalspecularColor?:Color
Defined in: render3d/material.ts:149
specularIntensity?
optionalspecularIntensity?:number
Defined in: render3d/material.ts:148
Strength/tint of the dielectric specular highlight.
thickness?
optionalthickness?:number
Defined in: render3d/material.ts:132
Wall thickness for transmission tinting.
thicknessMap?
optionalthicknessMap?:Texture3D
Defined in: render3d/material.ts:133
toneMapped?
optionaltoneMapped?:boolean
Defined in: render3d/material.ts:40
Structural. Apply the scene's tone mapping. Default true.
Inherited from
transmission?
optionaltransmission?:number
Defined in: render3d/material.ts:129
Light transmitted through the surface — glass, water. Needs transparent.
transmissionMap?
optionaltransmissionMap?:Texture3D
Defined in: render3d/material.ts:130
transparent?
optionaltransparent?:boolean
Defined in: render3d/material.ts:28
Structural. Opt into alpha blending. Off by default because blended surfaces must be depth-sorted, which costs correctness at intersections — prefer alphaTest for cutouts like foliage.
Inherited from
type
type:
"physical"
Defined in: render3d/material.ts:121
vertexColors?
optionalvertexColors?:boolean
Defined in: render3d/material.ts:38
Structural. Read per-vertex colours from the geometry's color buffer.
Inherited from
visible?
optionalvisible?:boolean
Defined in: render3d/material.ts:21
Hide without removing. Free to animate.
Inherited from
wireframe?
optionalwireframe?:boolean
Defined in: render3d/material.ts:34
Structural. Draw edges only.