Principled Hair BSDF

Principled Hair BSDF nod under Melanin koncentration.

Bara cyklar

The Principled Hair BSDF är en fysikaliskt baserad, lättanvänd shader för rendering av hår och päls.

Tips

Realistiskt hår bör ha ett minimum av varians mellan varje sträng. Shadern tar hänsyn till detta genom att ange två värden, Random Color och Random Roughness, som återskapar de angivna Melanin/Roughness-värdena till intervallet \(Color/Roughness \pm Randomization\%\).

Inmatningar

Vanlig

Färg

RGB-färgen på strängen. Används endast i Direct coloring.

Råd

Den valda färgen omvandlas till en absorptionskoefficient med följande formel (avsnitt 4.2 i [CBTB16]):

\[\sigma_{a} = \frac{\ln(Color)} {\left(5.969 - 0.215\beta_{N} + 2.532\beta_{N}^{2} - 10.73\beta_{N}^{3} + 5.574\beta_{N}^{4} + 0.245\beta_{N}^{5}\right)^{2}}\]

där \(\beta_{N}\) är hårets radiella grovhet efter tillämpning av randomisering (om specificerat).

../../../_images/render_shader-nodes_shader_hair-principled_demo-color.jpg

Färga hår med hjälp av parametriseringen Direct coloring. (Siffrorna överst är RGB-värdena.)

Melanin

Absolut kvantitet av pigment. Intervall \([0, 1]\) motsvarande \([0\%, 100\%]\).

Råd

Detta är en linjär mappning till den underliggande exponentialfunktionen:

\[melanin\_qty = -\ln(\max(1.0 - Melanin, 0.0001))\]
../../../_images/render_shader-nodes_shader_hair-principled_demo-melanin.jpg

Melanin.

Melaninrödhet

Förhållandet mellan feomelanin och eumelanin. Intervall \([0, 1]\) motsvarande \([0\%, 100\%]\).

Råd

Formeln för förhållandet är: \(eumelanin = Melanin×(1.0-MelaninRedness)\), \(pheomelanin = Melanin×MelaninRedness\).

De resulterande mängderna omvandlas (efter randomisering, om så anges) till absorptionskoncentration med hjälp av följande formel (avsnitt 6.1 i [EFHLA11], justerat för intervallet \([0, 1]\)):

\[\begin{split}\sigma_{a} = eumelanin × \left[\begin{matrix} 0,506 \\ 0,841 \\ 1,653 \\ \end{matrix}\right] + pheomelanin × \left[\begin{matrix} 0,343 \\ 0,733 \\ 1,924 \\ \end{matrix}\right]\end{split}\]
../../../_images/render_shader-nodes_shader_hair-principled_demo-melanin-redness.jpg

Melaninrödhet.

Färgton

Färg som används för att färga håret efter applicering av melaninpigmentet. Den är inte föremål för randomisering. Den kan inaktiveras genom att ställa in färgen på vit.

Råd

Detta omvandlas via färgmappningen ovan och läggs till absorptionskoefficienten för melaninkoncentrationen.

../../../_images/render_shader-nodes_shader_hair-principled_demo-tint.jpg

Tint, med Melanin 0,1 och motsvarande RGB-värden.

Absorptionskoefficient

Dämpningskoefficient \(\sigma\).

IOR

Brytningsindex (IOR) som anger hur mycket strålen ändrar riktning. Vid 1,0 passerar strålar rakt igenom som i ett transparent material; högre värden ger mer brytning. Standardvärdet är \(1.55\).

Förskjutning

Förskjuter hårets glans genom att öka vinkeln mellan hårstråets fjäll och hårstråets skaft. Människohår har vanligtvis låga värden.

Slumpmässig färg

För varje sträng, variera melaninkoncentrationen med \(RandomFactor\). Område \([0, 1]\) motsvarande \([0\%, 100\%]\) av den ursprungliga melaninkoncentrationen.

Råd

Melaninkoncentrationen multipliceras med \(randomFactor\), där \(randomFactor = 1,0 + 2,0×(Random - 0,5) × RandomColor\).

../../../_images/render_shader-nodes_shader_hair-principled_demo-random-color.jpg

Slumpmässig färg.

Slumpmässig ojämnhet

För varje sträng varierar du båda grovhetsvärdena med \(RandomFactor\). Intervall \([0, 1]\) motsvarande \([0\%, 100\%]\) av de ursprungliga grovhetsvärdena.

Råd

Den tillämpade formeln är densamma som för Random Color.

../../../_images/render_shader-nodes_shader_hair-principled_demo-random-roughness.jpg

Slumpmässig ojämnhet.

Slumpmässig

Källa för slumpmässiga tal. Om ingen nod är ansluten här, instansieras den automatiskt med det värde som erhålls från Hair Info ‣ Random.

Chiang Modell

Chiang-modellen bygger på en gaussisk fördelning med separata ojämnheter längs med och vinkelrätt mot håret.

Grovhet

Ange hur mycket ljusskenet ska jämnas ut i riktning mot hårstrået. För låga värden jämnar ut håret så att det nästan ser metalliskt ut, vilket gör att glinten ser ut som Fireflies; medan en för hög inställning resulterar i ett Lambertian-utseende.

../../../_images/render_shader-nodes_shader_hair-principled_demo-roughness.jpg

Grovhet.

Radiell ojämnhet

Ange hur mycket reflexerna ska jämnas ut i hårets normalriktning. För låga värden koncentrerar skimret, medan för höga värden sprider ljuset över hela hårstråets bredd.

Råd

Matematiskt mappas denna parameter till den logistiska distributionens skalfaktor \(s\) (avsnitt 4.1 i [CBTB16]).

../../../_images/render_shader-nodes_shader_hair-principled_demo-radial-roughness.jpg

Radiell ojämnhet.

Kappa

Simulerar en glänsande päls genom att reducera Roughness till den angivna faktorn endast för den första ljusreflektionen (diffuse). Intervallet \([0, 1]\) motsvarar en minskning med \([0\%, 100\%]\) av den ursprungliga Roughness.

../../../_images/render_shader-nodes_shader_hair-principled_demo-coat.jpg

Kappa.

Huang modell

Huang-modellen bygger på mikrofacettbaserad reflektion och transmission och stöder elliptiskt format hår.

Bildförhållande

Förhållandet mellan den mindre axeln och den större axeln i ett elliptiskt tvärsnitt. Rekommenderade värden är 0,8~1 för asiatiskt hår, 0,65~0,9 för kaukasiskt hår, 0,5~0,65 för afrikanskt hår. Den stora axeln är i linje med kurvans normal, som kan skapas med geometrinoder, men som inte stöds i äldre partikelhår.

Grovhet

Mikrofasettråhet för reflektion och transmission.

Reflektion

Valfri faktor för modulering av den första ljusreflektionen från hårets yta. Färgen på denna komponent är alltid vit. Behåll denna 1,0 för fysisk korrekthet.

Växellåda

Valfri faktor för modulering av transmissionskomponenten. Fångar upp färgen på pigmentet i håret. Behåll denna 1,0 för fysisk korrekthet.

Sekundär reflektion

Valfri faktor för modulering av den komponent som sänds in i håret, reflekteras av hårets baksida och sedan sänds ut ur håret. Denna komponent är orienterad ungefär runt den inkommande riktningen och plockar upp färgen på pigmentet i håret. Behåll denna 1,0 för fysisk korrekthet

Egenskaper

Parametrisering av färg

Shadern ger tre olika sätt, eller parametriseringar, att färga hårstråna.

Direkt färgläggning:

Välj önskad RGB-färg så kommer shadern att approximera den nödvändiga absorptionskoefficienten (nedan).

Koncentration av melanin:

I detta läge definieras färgen som mängden och förhållandet mellan de pigment som vanligen finns i hår och päls, eumelanin (förekommer i brunsvart hår) och pheomelanin (rött hår). Mängden anges i indata Melanin och förhållandet mellan dem i Melanin Redness. Ökande koncentrationer gör håret mörkare (följande är med Melanin Redness \(1\)):

  • Vit (Melanin \(0\))

  • Blond (Melanin \(0.25\))

  • Rödaktig (Melanin \(0.5\))

  • Brun (Melanin \(0.75\))

  • Svart (Melanin \(1\))

Dessutom gör Tint-ingångarna det möjligt att färga håret med önskad färg.

Absorptionskoefficient:

Anger dämpningskoefficienten \(\sigma_{a}\), som tillämpas av Beer-Lamberts lag. Detta läge är främst avsett för tekniska användare som vill använda koefficienter från litteraturen utan någon form av konvertering.

Utgångar

BSDF

Standard shader-utdata.

Referenser

Den här shadern är en implementering av artiklarna av Chiang et al. [CBTB16] och Huang et al. [HHH22].

[CBTB16] (1,2,3)

Chiang, M. J. , Bitterli, B. , Tappan, C. och Burley, B. (2016), A Practical and Controllable Hair and Fur Model for Production Path Tracing. Computer Graphics Forum, 35: 275-283. doi:10.1111/cgf.12830

[EFHLA11]

d’Eon, E. , Francois, G. , Hill, M. , Letteri, J. och Aubry, J. (2011), An Energy-Conserving Hair Reflectance Model. Computer Graphics Forum, 30: 1181-1187. doi:10.1111/j.1467-8659.2011.01976.x

[HHH22]

Huang W., Hullin M.B. Hanika J. (2022), A Microfacet-based Hair Scattering Model. Computer Graphics Forum, 41: 79-91. doi:10.1111/cgf.14588