Un'estenzione della classe [page:MeshStandardMaterial], che fornisce proprietà di rendering basate sulla fisica più avanzate:
Come risultato di queste complesse caratteristiche di ombreggiatura, MeshPhysicalMaterial ha un elevato costo di prestazioni, per pixel, rispetto ad altri materiali utilizzati in three.js. Molti effetti sono disabilitati per impostazione predefinita, e viene aggiunto un costo quando questi vengono abilitati. Per ottenere risultati ottimali, specificare sempre una [page:.envMap mappa ambientale] quando si usa questo materiale.
[example:webgl_materials_variations_physical materials / variations / physical]
[example:webgl_materials_physical_clearcoat materials / physical / clearcoat]
[example:webgl_materials_physical_reflectivity materials / physical / reflectivity]
[example:webgl_loader_gltf_sheen loader / gltf / sheen]
[example:webgl_materials_physical_transmission materials / physical / transmission]
[page:Object parameters] - (opzionale) un oggetto con una o più proprietà che definiscono l'aspetto del materiale.
Qualsiasi proprietà del materiale (inclusa qualsiasi proprietà ereditata da [page:Material] e [page:MeshStandardMaterial]) può essere passata qui.
L'eccezione è la proprietà [page:Hexadecimal colore], la quale può essere passata come stringa
esadecimale e per impostazione predefinita è `0xffffff` (bianco). [page:Color.set]( color ) viene chiamato internamente.
Vedi le classi base [page:Material] e [page:MeshStandardMaterial] per le proprietà comuni.
Il colore in cui la luce bianca si trasforma a causa dell'assorbimento quando raggiunge la distanza di attenuazione. Il valore predefinito è `bianco` (0xffffff).
Densità del mezzo, data come distanza media percorsa dalla luce nel mezzo prima di interagire con una particella. Il valore è indicato nello spazio del mondo. Il valore predefinito è `0`. Density of the medium given as the average distance that light travels in the medium before interacting with a particle. The value is given in world space units, and must be greater than zero. Default is `Infinity`.
Rappresenta l'intensità dello strato di vernice trasparente, da `0.0` a `1.0`. Usare le proprietà relative al trasparente per abilitare i materiali multistrato. Il valore predefinito è `0.0`.
Il canale rosso di questa texture è moltiplicato per [page:.clearcoat], per controllare l'intensità del rivestimento per pixel. Il valore predefinito è `null`.
Può essere utilizzato per abilitare le normali indipendenti per lo strato di rivestimento trasparente. Il valore predefinito è `null`.
Quanto [page:.clearcoatNormalMap] influisce sullo strato di rivestimento trasparente, da `(0,0)` a `(1,1)`. Il valore predefinito è `(1,1)`.
Rugosità dello strato di rivestimento trasparente, da `0.0` a `1.0`. Il valore predefinito è `0.0`.
Il canale verde di questa texture è moltiplicato per [page:.clearcoatRoughness], per controllare la rugosità del rivestimento per pixel. Il valore predefinito è `null`.
Un oggetto della forma:
{
'STANDARD': ''
'PHYSICAL': '',
};
Questo viene utilizzato dal [page:WebGLRenderer] per selezionare gli shader.
Indice di rifrazione per materiali non metallici, da `1.0` a `2.333`. Il valore predefinito è `1.5`.
Grado di riflettività, da `0.0` a `1.0`. Il valore predefinito è `0.5`, il quale corrisponde all'indice di rifrazione di 1.5.
Questo modella la riflettività dei materiali non metallici. Non ha alcun effetto quando [page:MeshStandardMaterial.metalness metalness] è `1.0`.
L'intensità dello strato di lucentezza, da `0.0` a `1.0`. Il valore predefinito è `0.0`.
Rugosità dello strato di lucentezza, da `0.0` a `1.0`. Il valore predefinito è `1.0`.
Il canale alfa di questa texture è moltiplicato per [page:.sheenRoughness], per controllare la rugosità della lucentezza per pixel. Il valore predefinito è `null`.
La tinta brillante. Il valore predefinito è `0xffffff`, bianco.
I canali RGB della texture sono moltiplicati per [page:.sheenColor], per controllare sulla tinta per pixel. Il valore predefinito è `null`.
Un float che ridimensiona la quantità di riflessione speculare solo per i non metalli. Quando è impostato su zero, il modello è effettivamente Lambertiano. Da `0.0` a `1.0`. Il valore predefinito è `0.0`.
Il canale alfa di questa texture è moltiplicato per [page:.specularIntensity], per controllare l'intensità speculare per pixel. Il valore predefinito è `null`.
Un [page:Color] che tinge la riflessione speculare ad incidenza normale solo per i non metalli. Il valore predefinito è `0xffffff`, bianco.
I canali RGB di questa texture sono moltiplicati per [page:.specularColor], per controllare il colore speculare per pixel. Il valore predefinito è `null`.
Lo spessore del volume sotto la superficie. Il valore è dato nello spazio delle coordinate della mesh. Se il valore è 0 il materiale è a parete sottile. Altrimenti il materiale è un limite di volume. Il valore predefinito è `0`.
Una texture che definisce lo spessore, memorizzata nel canale G. Questo sarà moltiplicato per [page:.thickness]. Il valore predefinito è `null`.
Grado di trasmissione (o trasparenza ottica), da `0.0` a `1.0`. Il valore predefinito è `0.0`.
I materiali sottili, trasparenti o semitrasparenti, in plastica o in vetro rimangono ampiamente
riflettenti anche se sono completamente trasmissivi. La proprietà di trasmissione può
essere utilizzata per modellare questi materiali.
Quando la trasmissione è diversa da zero, l'[page:Material.opacity] deve essere impostata a `0`.
Il canale rosso di questa texture è moltiplicato per [page:.transmission], per controllare la trasparenza ottica per pixel. Il valore predefinito è `null`.
Vedi le classi base [page:Material] e [page:MeshStandardMaterial] per i metodi comuni.
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]