What fuzz is actually modellingCo fuzz naprawdę modeluje
Specular, clearcoat and glass are all the same story: light bouncing off a surface made of tiny mirrors. Fuzz is not that story. Fuzz models the millions of tiny fibres standing up out of a surface — the down on a peach, the pile on velvet, the microscopic fluff on unfinished cotton, the dust that has settled on everything in a room that hasn't been cleaned.
Specular, clearcoat i szkło to ta sama historia: światło odbijające się od powierzchni zrobionej z drobnych lusterek. Fuzz to nie ta historia. Fuzz modeluje miliony drobnych włókien sterczących z powierzchni — meszek na brzoskwini, włos na aksamicie, mikroskopijny puch na surowej bawełnie, kurz osiadły na wszystkim w niesprzątanym pokoju.
Those fibres don't lie in the surface — they stick out of it, roughly along the normal. When you look straight down at them you see almost nothing: you're looking at their tips, which have hardly any area. When you look across them at a glancing angle you see their entire sides at once, thousands of them overlapping, and they light up. That is why fuzz appears as a rim.
Te włókna nie leżą w powierzchni — sterczą z niej, mniej więcej wzdłuż normalnej. Gdy patrzysz na nie prosto z góry, nie widzisz prawie nic: widzisz ich końcówki, które mają znikomą powierzchnię. Gdy patrzysz na nie pod kątem muskającym, widzisz naraz całe ich boki, tysiące nachodzących na siebie, i one się rozświetlają. Dlatego fuzz pojawia się jako obwódka.
Think of it asPomyśl o tym tak
A field of wheat seen from a helicopter versus seen from the edge of the field. From above it's mostly soil. From the side it's a solid wall of stalks catching the light. Nothing about the wheat changed — only how much of each stalk you can see. Now ask yourself what "roughness" would even mean for that field. The useful number is how far the stalks lean.
Pole zboża widziane z helikoptera i widziane z brzegu pola. Z góry to głównie ziemia. Z boku to lita ściana źdźbeł łapiących światło. Nic w zbożu się nie zmieniło — tylko to, jak dużo każdego źdźbła widzisz. A teraz zapytaj siebie, co „chropowatość” miałaby dla tego pola w ogóle znaczyć. Użyteczna liczba to jak mocno źdźbła się pochylają.
Why "roughness" is the wrong questionDlaczego „chropowatość” to złe pytanie
Roughness has a precise job. It widens a lobe that is centred on the mirror direction — the way the light would bounce off a perfect mirror. Roughness 0 means all the energy sits exactly on that direction; crank it up and the lobe spreads out around it. Every roughness slider you have ever touched does this.
Chropowatość ma precyzyjne zadanie. Poszerza płat wyśrodkowany na kierunku lustrzanym — tam, gdzie światło odbiłoby się od idealnego lustra. Chropowatość 0 oznacza, że cała energia siedzi dokładnie na tym kierunku; podkręć ją, a płat rozlewa się wokół niego. Każdy suwak chropowatości, jakiego kiedykolwiek dotknąłeś, robi właśnie to.
Now look at where the fuzz lobe actually is. Drag the light around below and watch both panels. The microfacet lobe follows the mirror direction obediently. The fuzz lobe ignores it completely and piles up at the horizon — at grazing angles — no matter where the light goes.
A teraz spójrz, gdzie naprawdę jest płat fuzzu. Poprzeciągaj światło poniżej i obserwuj oba panele. Płat mikrofasetkowy posłusznie podąża za kierunkiem lustrzanym. Płat fuzzu kompletnie go ignoruje i piętrzy się przy horyzoncie — pod kątami muskającymi — niezależnie od tego, gdzie pójdzie światło.
Where the light goes — drag the lightDokąd idzie światło — przeciągnij źródło
Cross-section through the surface. The shaded shape is how much light leaves in each direction.Przekrój przez powierzchnię. Zacieniony kształt pokazuje, ile światła wychodzi w każdym kierunku.
Move the roughness slider: the left lobe grows around a point that moves with the light. Move the cone slider: the right lobe grows, but it grows from the horizon inward. There is no centre for a roughness to spread away from — which is exactly why calling it roughness would be naming something that isn't there.
Poruszaj suwakiem chropowatości: lewy płat rośnie wokół punktu, który przesuwa się razem ze światłem. Poruszaj suwakiem stożka: prawy płat też rośnie, ale rośnie od horyzontu do środka. Nie ma środka, od którego chropowatość mogłaby się oddalać — i właśnie dlatego nazwanie tego chropowatością byłoby nazywaniem czegoś, czego nie ma.
What the cone angle actually measuresCo właściwie mierzy kąt stożka
If the fibres all stood perfectly straight up, they'd all present their sides at exactly the same grazing angle, and the rim would be a hairline. Real fibres lean. Fuzz Cone Angle is the half-angle of the cone they lean within: how far off vertical a typical fibre tilts.
Gdyby wszystkie włókna stały idealnie pionowo, wszystkie pokazywałyby swoje boki pod dokładnie tym samym kątem muskającym, a obwódka byłaby włoskowa. Prawdziwe włókna się pochylają. Fuzz Cone Angle to kąt połówkowy stożka, w którym się pochylają: jak mocno typowe włókno odchyla się od pionu.
Which makes the behaviour predictable without any maths. A tight cone means the fibres agree with each other, so they all light up at the same viewing angle: a thin, bright, well-defined rim. A wide cone means they disagree, so different fibres catch the light at different viewing angles, and the effect spreads inward from the silhouette across the whole surface — dimmer, because the same energy now covers far more of the object.
Dzięki temu zachowanie jest przewidywalne bez żadnej matematyki. Ciasny stożek oznacza, że włókna są ze sobą zgodne, więc wszystkie rozświetlają się pod tym samym kątem patrzenia: cienka, jasna, wyraźna obwódka. Szeroki stożek oznacza, że się nie zgadzają, więc różne włókna łapią światło pod różnymi kątami, a efekt rozlewa się od sylwetki do środka po całej powierzchni — ciemniej, bo ta sama energia pokrywa teraz znacznie więcej obiektu.
The fibres, and what they do to the sphereWłókna i to, co robią z kulą
Left: a cross-section of the fibre bed. Right: the same cone angle, rendered.Po lewej: przekrój przez ściółkę włókien. Po prawej: ten sam kąt stożka, wyrenderowany.
Fuzz only on the sphere — no diffuse, no specular — so you can see the lobe on its own. Notice that widening the cone doesn't make the rim softer so much as it makes it bigger and weaker. That's the distinction a roughness slider could never communicate.
Na kuli sam fuzz — bez diffuse, bez speculara — żeby zobaczyć płat w izolacji. Zauważ, że poszerzenie stożka nie tyle zmiękcza obwódkę, co czyni ją większą i słabszą. Tego rozróżnienia suwak chropowatości nigdy nie byłby w stanie przekazać.
But Arnold calls it roughnessAle Arnold nazywa to chropowatością
It does — Sheen Roughness, a 0-to-1 value defaulting to 0.3. And this is worth being precise about, because the usual explanation ("same thing, different units") is wrong in a way that costs you time.
Owszem — Sheen Roughness, wartość od 0 do 1, domyślnie 0.3. I warto tu być precyzyjnym, bo zwykłe wyjaśnienie („to samo, inne jednostki”) jest błędne w sposób, który kosztuje czas.
Arnold's sheen is a different distribution. Its shader graph routes Sheen Roughness into a dedicated sheen BSDF built on the Conty–Kulla velvet distribution — a formulation that also peaks at grazing, but reaches that peak by a different curve than a cone of fibres does. So the two controls are not the same quantity measured in different units. They are two models that happen to produce a similar look, each with its own natural parameter.
Sheen Arnolda to inny rozkład. Jego graf shadera prowadzi Sheen Roughness do dedykowanego BSDF-a sheen opartego na rozkładzie velvet Conty'ego–Kulli — sformułowaniu, które też ma szczyt przy kącie muskającym, ale dochodzi do niego inną krzywą niż stożek włókien. Te dwie kontrolki nie są więc tą samą wielkością w innych jednostkach. To dwa modele, które przypadkiem dają podobny look, każdy z własnym naturalnym parametrem.
Which of the two names is "right" is a matter of taste, but they reveal different priorities. Arnold's picks the name an artist already recognises, so the slider needs no explanation. Pixar's picks the name that describes the actual quantity, so the number means something you could measure with a microscope. You pay for Arnold's convenience the moment you need to know what the value physically means — and for Pixar's honesty the moment you meet the parameter cold.
To, która z tych nazw jest „słuszna”, to kwestia gustu, ale zdradzają różne priorytety. Arnold wybiera nazwę, którą artysta już zna, więc suwak nie wymaga tłumaczenia. Pixar wybiera nazwę opisującą faktyczną wielkość, więc liczba znaczy coś, co dałoby się zmierzyć mikroskopem. Za wygodę Arnolda płacisz w chwili, gdy musisz wiedzieć, co wartość fizycznie oznacza — a za uczciwość Pixara w chwili, gdy spotykasz ten parametr po raz pierwszy.
The 32× rule, testedReguła 32×, sprawdzona
The standard conversion is Cone Angle = 32 × Sheen Roughness, which turns Arnold's default 0.3 into about 9.6°. It's a good starting number. But since the two sides are different models, it is a fit, not a conversion — and a fit is only accurate over the range it was fitted for.
Standardowe przeliczenie to Cone Angle = 32 × Sheen Roughness, co zamienia domyślne 0.3 z Arnolda na około 9.6°. To dobry punkt wyjścia. Ale skoro obie strony to różne modele, jest to dopasowanie, a nie przeliczenie — a dopasowanie jest dokładne tylko w zakresie, dla którego je zrobiono.
So test it. The sphere below is Arnold's sheen on the left and PxrSurface's fuzz on the right, with the 32× rule linking them. Sweep the roughness through its range and watch the seam: around the default it is genuinely hard to see, and out at the extremes the two halves drift apart. Unlink them to hunt for a better match at whatever value you actually work at.
Więc to sprawdź. Kula poniżej to sheen Arnolda po lewej i fuzz PxrSurface po prawej, powiązane regułą 32×. Przejedź chropowatością przez cały zakres i obserwuj szew: w okolicy domyślnej wartości jest go naprawdę trudno dostrzec, a na skrajach połówki się rozjeżdżają. Rozłącz je, żeby poszukać lepszego dopasowania przy wartości, przy której faktycznie pracujesz.
Arnold sheen (left) · PxrSurface fuzz (right)Sheen Arnolda (lewo) · Fuzz PxrSurface (prawo)
Velvet lives at the high end, where the fit is weakest. A Sheen Roughness of 0.8 maps to 25.6°, which is a very wide cone — the effect stops being a rim and becomes an all-over haze. If the reference had a defined edge of light along the silhouette, come back down and set the cone by eye instead of by formula.
Aksamit żyje na górnym końcu, gdzie dopasowanie jest najsłabsze. Sheen Roughness 0.8 mapuje się na 25.6°, czyli bardzo szeroki stożek — efekt przestaje być obwódką i staje się mgiełką po całości. Jeśli referencja miała wyraźną krawędź światła wzdłuż sylwetki, zejdź niżej i ustaw stożek na oko, a nie ze wzoru.
Degrees you can reason aboutStopnie, które da się ogarnąć
The quiet advantage of an angle is that it survives being thought about. "Roughness 0.4" tells you nothing you can check. "The fibres lean up to 13°" is a claim about the world — you can look at a macro photograph of the real material and form an opinion.
Cichą zaletą kąta jest to, że znosi zastanawianie się nad nim. „Chropowatość 0.4” nie mówi nic, co dałoby się sprawdzić. „Włókna pochylają się do 13°” to twierdzenie o świecie — możesz spojrzeć na makrofotografię prawdziwego materiału i wyrobić sobie zdanie.
| MaterialMateriał | Cone angle, roughlyKąt stożka, z grubsza | WhyDlaczego |
|---|---|---|
| Velvet, newAksamit, nowy | 4–8° | Cut pile, all standing to attention. Tight bright rim.Runo cięte, wszystko na baczność. Ciasna, jasna obwódka. |
| Velvet, crushed or wornAksamit zgnieciony lub zużyty | 15–25° | The pile has been pushed over and no longer agrees with itself.Runo zostało przygniecione i nie jest już ze sobą zgodne. |
| Peach skin, apricotSkórka brzoskwini, morela | 10–18° | Fine down growing in every direction at once.Delikatny meszek rosnący we wszystkie strony naraz. |
| Dusty surfaceZakurzona powierzchnia | 25–40° | Not fibres at all — settled particles with no common direction.To wcale nie włókna — osiadłe cząstki bez wspólnego kierunku. |
| Brushed cotton, flannelBawełna szczotkowana, flanela | 12–20° | Raised nap, softer and less regular than velvet.Podniesiony włos, miększy i mniej regularny niż aksamit. |
Treat these as a starting bracket to light and judge, not as truth — the number that matters is the one that matches your reference under your key light. But starting from "is this fabric more like new velvet or more like dust?" is a far better question than guessing at a roughness.
Traktuj to jako punkt wyjścia do oświetlenia i oceny, a nie jako prawdę objawioną — liczy się ta wartość, która zgadza się z twoją referencją przy twoim świetle kluczowym. Ale zaczynanie od pytania „czy ta tkanina jest bliżej nowego aksamitu, czy bliżej kurzu?” jest dużo lepsze niż zgadywanie chropowatości.
Common pitfallsTypowe pułapki
Then you asked for a cone of a third of a degree, and the fuzz has effectively vanished — a rim too thin to survive a single pixel. This is the single most common fuzz bug when porting, because 0.3 is a perfectly sensible-looking roughness and a nonsensical angle. The field wants tens, not tenths.
To poprosiłeś o stożek jednej trzeciej stopnia i fuzz praktycznie zniknął — obwódka zbyt cienka, by przetrwać jeden piksel. To najczęstszy błąd z fuzzem przy przenoszeniu, bo 0.3 wygląda na całkiem sensowną chropowatość, a jest bezsensownym kątem. To pole chce dziesiątek, nie dziesiątych.
A narrow cone only shows where the surface turns away from camera. A sphere has a full range of angles, so it always displays the effect beautifully; a flat-on garment panel may contain almost no grazing angles at all. Judge fuzz on the actual silhouette you'll be rendering, in the actual lighting.
Wąski stożek pokazuje się tylko tam, gdzie powierzchnia odwraca się od kamery. Kula ma pełen zakres kątów, więc zawsze pięknie prezentuje efekt; płasko ustawiony panel ubrania może w ogóle nie zawierać kątów muskających. Oceniaj fuzz na tej sylwetce, którą naprawdę będziesz renderować, i w docelowym świetle.
That's correct behaviour, not a bug. The same light is being spread over more of the surface, so the peak drops. If you want it wider and as bright, raise Fuzz Gain to compensate — the two controls are doing genuinely different jobs.
To poprawne zachowanie, nie błąd. To samo światło rozkłada się na większej części powierzchni, więc szczyt spada. Jeśli chcesz szerzej i tak samo jasno, podnieś Fuzz Gain jako kompensację — te dwie kontrolki robią naprawdę różne rzeczy.
AiStandardSurface → PxrSurfaceAiStandardSurface → PxrSurface
The full parameter-by-parameter walkthrough, with Fuzz in its place alongside every other layer.
Pełne przejście parametr po parametrze, z fuzzem na swoim miejscu obok wszystkich pozostałych warstw.