MeshStandardNodeMaterial
A standard physically based rendering (PBR) node material that uses the metalness–roughness workflow to produce a wide range of realistic surfaces. It is the node-based counterpart to MeshStandardMaterial and the general go-to in Three.js for photoreal results. [1, 2]
Core Advantages
Its key advantage is the intuitive metalness–roughness workflow, which simplifies authoring realistic materials. [1] Set whether the surface behaves as a metal (metalness=1) or a dielectric (metalness=0), then control smoothness with roughness to efficiently approximate most real-world materials, balancing realism and performance. [1, 2]
Common Uses
Render common metals such as chrome, gold, and steel. [2]
Model dielectrics (non-metals) like plastics, wood, concrete, and ceramics. [2]
Default material in standard PBR pipelines (e.g., glTF models). [1]
Create surfaces across a smoothness range, e.g., polished floors vs. matte walls.
How to adjust
Adjust mainly via `metalness` and `roughness`. For metals set `metalness` to 1 (then `color` tints reflections); for dielectrics set it to 0 (then `color` is diffuse albedo). `roughness` controls micro-surface smoothness from 0 (mirror-like) to 1 (fully diffuse). For per-pixel control, drive `metalnessNode` and `roughnessNode` with textures (e.g., `metalnessMap`, `roughnessMap`). Other important inputs include `normalMap` for surface detail and `emissiveNode` for self-illumination.
Code Examples
1<mesh>
2 <sphereGeometry />
3 {/* A standard PBR material */}
4 <meshStandardNodeMaterial
5 color='gold'
6 metalness={0.9} // Higher = more metallic
7 roughness={0.2} // Lower = smoother
8 />
9</mesh>