ПредишенСледващото

HDR Color Picker

Визуализацията на HDR (висок динамичен диапазон) в Unity

В стандартната изображения, червен, зелен и син компоненти на пиксел представлява от фракционна число в диапазона 0..1, където 0 означава нулев интензитет, и устройството е максималният интензитет на дисплея. Въпреки че е лесен за употреба, той не отразява начина, по който светлината е в сцена от реалния живот. Човешкото око обикновено се приспособява към условията на осветление, така че един обект, който се появява бял в слабо осветена стая, може да бъде по-малка яркост от сив обект на дневна светлина в действителност. Освен това, окото е по-чувствителни към яркост разлики в долния край на обхвата от най-горната част.

Можете да получите по-интригуващо и визуални ефекти, ако предоставянето е адаптиран така, че обхватът на стойностите на пикселите по-точно да отразява нивото на осветеност, които биха могли да присъстват в реалната сцена. Въпреки, че тези стойности са много и изискват обратно свързване на разположение на устройството за изображение на обхвата, междинни изчисления (като Unity последваща обработка ефекти) ще даде по-реалистични резултати. Възможността за вътрешни графична презентация използват стойности извън границите 0..1 е същността на High Dynamic Range (HDR) рендериране.

HDR е включен за всяка камера поотделно при използване на съставните Камера свойства: -

Когато HDR е активна, на сцената се представя в образа буфера на HDR, който може да бъде домакин на пикселните стойности извън границите 0..1. След това този буфер се подлага на последваща обработка чрез последваща обработка ефекти като HDR цъфтеж. Ефектът от пост-обработка tonemapping конвертирате изображението HDR към стандартен нисък динамичен диапазон (LDR) изображение, което да бъде изпратено на екрана. Преобразуване на LDR трябва да се случва в някакъв момент в процеса на работа след обработка на ефекти, но това не трябва да се случи в последния етап, ако е след това да се прилага като се използват само LDR ефекти след обработка. За удобство, някои от ефектите от последваща обработка може да бъде автоматично се превръща в LDR след прилагането на HDR ефекти (вж. Раздел Scripting показани по-долу).

Tonemapping (тонален компресия)

Tonemapping - е процес на пакетиране HDR стойности обратно в диапазона на LDR. Има много различни методи, и това, което е добро за един проект не може да бъде най-добрият избор за друг. В Unity включва набор от различни ефекти tonemapping пост-обработка. За да ги използвате, изберете активи -> Import пакет -> Ефекти на изображението (Pro само). след това изберете камерата в сцената и да изберете компонента -> Графични ефекти -> ToneMapping. Подробни видове описание tonemapping могат да бъдат намерени в документацията за ефектите от последваща обработка.

Unity - употреба визуализация HDR (висок динамичен обхват) за единство
Изключително ярка сцена, извършени в HDR. Без tonemapping, повечето от пикселите изглежда да е извън обхват.
Unity - употреба визуализация HDR (висок динамичен обхват) за единство
В една и съща сцена, както по-горе. Но този път, tonemapping ефект носи най-интензивните райони в по-надеждна гама. Имайте предвид, че дори и адаптивна tonemapping може плавно се движи от върха на изображението, като по този начин се симулира адаптивен характер на улавяне медийни средства (напр. Очите, камери).

HDR Блум и Glow

Използването на HDR ви дава възможност да получите много по-голям контрол в пост-обработка. В LDR цъфтеж (цъфтеж) има жалко страничен ефект на размазване в много области на екрана, дори ако интензивността на пикселите на по-малко от 1.0. С HDR Блум може да се прилага само за тези области, където интензивността е по-голям от един. Това води до желания резултат, когато съседните пиксели "пръснати" само на много светли елементи сцена. Вграден в пост-обработка "Блум и Lens Сигнални ракети" ефекти вече поддържа HDR. За да го добавите към камерата, изберете активи -> Import пакет -> Ефекти на изображението (Pro само). след това изберете камерата в сцената и да изберете компонента -> Графични ефекти -> Bloom. По-подробно описание на ефекта "Bloom" може да се намери в документацията за ефектите от последваща обработка.

Unity - употреба визуализация HDR (висок динамичен обхват) за единство
В тази сцена, слънцето, отразена от прозорците на колата са стойностите на интензитета на по-голяма от 1,0. Блум може да отнеме и да подчертаем тези области, само ако фотоапаратът е включен HDR, което позволява да улови тези интензивни райони.
Unity - употреба визуализация HDR (висок динамичен обхват) за единство
прозореца на колата ще остане без блясък, ако камерата не е включена HDR. Единственият начин да добавите блясък - нисък праг на интензивност, но след това започват да светят и други нежелани части от изображението.

  • Цветовете в райони с висока интензивност не се губят
  • По-добре подкрепа за разцвет и блясък (блясък).
  • Намаляване на ивици-артефакти в райони с ниска честота осветление

Забележки за употреба

Forward Rendering (превантивен рендиране)

В активен режим на изобразяване HDR се поддържа само ако представят ефекта от пост-обработка. Това се дължи на проблеми с производителността. Ако не представи последваща обработка, ефекти, а след това ще има картографиране тон и интензивност, ще бъдат отрязани. В тази ситуация, на сцената ще бъдат предоставени директно в bekbufer, която не се поддържа от HDR.

Разсрочено Rendering (разсрочено рендиране)

В режим на HDR, споменът за светлина prepass буфер буфер също ще се открояват като буфер с плаваща запетая. Това намалява свързване осветление буфер. HDR се поддържа, когато отсрочените оказване, дори и да не се използват за последваща обработка ефекти.

За да се пост-обработка на скрипта ефекти могат да се добавят ImageEffectTransformsToLDR атрибут да покаже, че буфера дестинация трябва да бъде в фоторезистора, а не в HDR. По същество това означава, че скриптът може автоматично да конвертирате LDR след прилагането му HDR ефекти след обработка.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!