Node för brustextur

Node för brustextur.

Noden Noise Texture utvärderar ett fraktalt Perlin-brus vid de inmatade texturkoordinaterna. Den kan användas för en enda utvärdering av Perlin-brus eller för att kombinera flera oktaver (lager) med allt finare detaljer.

Inmatningar

Ingångarna är dynamiska: de blir tillgängliga vid behov beroende på nodens egenskaper.

Vektor

Texturkoordinat att utvärdera bruset på; standardvärde är Genererade texturkoordinater om uttaget inte är anslutet.

W

Texturkoordinat för att utvärdera bullret på.

Skala

Skala för basljudets oktav.

Detalj

Antal ljudoktaver. Detta kan ha en bråkdel, i vilket fall en blandning utförs (t.ex. en detalj på 2,5 resulterar i en 50% blandning mellan 2 och 3 oktaver).

Grovhet

Blanda mellan ett mjukare brusmönster och ett grövre med skarpare toppar.

Lacunaritet

Skillnaden mellan skalan för varje två på varandra följande oktaver. Större värden motsvarar större skala för högre oktaver.

Förskjutning

En extra offset till varje oktav bestämmer den nivå där den högsta oktaven visas.

Förstärkning

En extra multiplikator för att ställa in oktavernas storlek.

Förvrängning

Mängden distorsion.

Egenskaper

Dimensioner

Dimensionerna på det utrymme där bullret ska utvärderas.

1D:

Utvärdera bruset i 1D-rymd vid ingången W.

2D:

Utvärdera bruset i 2D-rymd vid indata Vektor. Z-komponenten ignoreras.

3D:

Utvärdera bruset i 3D-rymden vid ingången Vektor.

4D:

Utvärdera bruset i 4D-rymd vid ingången Vector och ingången W som den fjärde dimensionen.

Observera

Högre dimensioner motsvarar högre renderingstid, så lägre dimensioner bör användas om inte högre dimensioner är nödvändiga.

Typ

Typ av Noise-textur, med olika sätt att kombinera oktaver.

fBM:

Fractal Brownian motion, ger ett homogent och isotropt resultat. Värden från oktaver läggs ihop.

Multifraktal:

Mer ojämn, varierar beroende på plats och liknar verklig terräng. Värden från oktaver multipliceras tillsammans.

Hybrid Multifractal:

Skapar toppar och dalar med olika grovhetsvärden, som om riktiga berg reser sig ur platta slätter. Kombinerar oktaver med hjälp av både addition och multiplikation.

Räfflad Multifraktal:

Skapar skarpa toppar. Beräknar det absoluta värdet av bruset, skapar ”canyons” och vänder sedan ytan upp och ner.

Hetero Terräng:

På samma sätt som Hybrid Multifractal skapar en heterogen terräng, men med likheter med flodkanaler.

Normalisera fBM

Om den är aktiverad säkerställer den att utdatavärdena ligger inom intervallet 0,0 till 1,0. Om den är inaktiverad är intervallet högst -(Detail + 1) till Detail + 1 (mindre om Roughness < 1).

Utgångar

Faktor

Värde av fraktalt brus.

Färg

Färg med olika fraktalt brus i varje komponent.

Exempel

../../../_images/render_shader-nodes_textures_noise_example.jpg

Brus Textur med hög detaljrikedom.

Olika typer av buller med samma parametrar.
../../../_images/render_shader-nodes_textures_musgrave_example-type-fbm.jpg

fBM (fraktal Brownian Motion).

../../../_images/render_shader-nodes_textures_musgrave_example-type-multifractal.jpg

Multifractal.

../../../_images/render_shader-nodes_textures_musgrave_example-type-hybrid.jpg

Hybrid Multifractal.

../../../_images/render_shader-nodes_textures_musgrave_example-type-terrain.jpg

Heterogen terräng.

../../../_images/render_shader-nodes_textures_musgrave_example-type-ridged.jpg

Ridged Multifractal.

Anteckningar

Även om bruset är slumpmässigt till sin natur följer det ett visst mönster som kanske inte utvärderas till slumpmässiga värden i vissa konfigurationer. Tänk till exempel på följande konfiguration där ett rutnät av objekt har ett material som utvärderar en brusstruktur på deras platser. Man skulle kunna förvänta sig att objekten har slumpmässiga värden eftersom de har olika platser, men så är inte fallet.

../../../_images/render_shader-nodes_textures_noise_issue-constant-value.png

Ett exempel på en konfiguration där bruset utvärderas till ett konstant värde.

Det verkar som om alla objekt har ett värde på 0,5. För att förstå varför detta händer, låt oss titta på följande plot av en 1D-brusstruktur.

../../../_images/render_shader-nodes_textures_noise_1d-noise-plot.png

En plott av ett 1D-brus med noll detaljer och noll distorsion.

Den horisontella linjen anger ett värde på 0,5 och de vertikala linjerna anger hela tal med en brusskala på 1. Som synes skär bruset alltid 0,5-linjen vid hela tal. Eftersom de ovan nämnda objekten var fördelade på ett rutnät och har heltalsplaceringar, utvärderas de alla till 0,5. Vilket förklarar problemet i fråga.

I allmänhet kommer varje diskret utvärdering av brus vid heltalsmultiplar av brusskalans reciproka alltid att utvärderas till 0,5. Av detta följer också att utvärderingar som ligger närmare detta kommer att ha värden som ligger nära 0,5. I sådana fall är det nästan alltid att föredra att använda White Noise Texture.

Oavsett vilket kan man mildra detta problem på ett antal sätt:

  • Justera skalan på bruset för att undvika att bruset hamnar i linje med utvärderingsdomänen.

  • Lägg till en godtycklig förskjutning av texturkoordinaterna för att bryta anpassningen till utvärderingsdomänen.

  • Utvärdera bruset i en högre dimension och justera den extra dimensionen tills ett tillfredsställande resultat uppnås.

../../../_images/render_shader-nodes_textures_noise_issue-constant-value.png

Problem med konstant värde.

../../../_images/render_shader-nodes_textures_noise_solution1-constant-value.png

Förmildra problemet genom att justera skalan.

../../../_images/render_shader-nodes_textures_noise_solution2-constant-value.png

Förmildra problemet genom att lägga till en godtycklig offset.

../../../_images/render_shader-nodes_textures_noise_solution3-constant-value.png

Förmildra problemet genom att utvärdera i en högre dimension.

På samma sätt kan man i andra konfigurationer uppleva vissa bandmönster i bruset, där det finns band med områden med hög kontrast följt av band med områden med låg kontrast. Exempelvis kan plana ytor som är något lutade längs en av axlarna ha ett sådant bandmönster.

../../../_images/render_shader-nodes_textures_noise_issue-banding.png

Ett exempel på en konfiguration där bruset har ett bandmönster.

Detta beror på att en liten lutning längs en av axlarna gör att värdena längs den vinkelräta axeln ändras mycket långsamt, vilket gör att brusets rutnätsstruktur blir tydligare. Det enklaste sättet att minska detta problem är att rotera koordinaterna med en godtycklig mängd.

../../../_images/render_shader-nodes_textures_noise_solution-banding.png

Förmildra problemet genom att rotera koordinaterna med en godtycklig mängd.