Dlaczego węzeł Alpha Over rozjaśnia mój obraz?

Dec 11 2020

W projekcie Cycles w Blenderze 2.9 chcę, aby wszystkie obiekty otrzymywały białe światło z otoczenia, więc ustawiłem Właściwości świata -> Powierzchnia -> Kolor na biały.

Ale chcę, aby tło końcowego wyniku było ciemnoniebieskie, więc sprawdziłem Właściwości renderowania -> Film -> Przezroczysty i użyłem węzła Alpha Over w kompozytorze, aby uzyskać niebieskie tło.

Oto oryginalny wyrenderowany obraz z przezroczystym tłem:

A to jest obraz z niebieskim tłem wkomponowanym w:

Jak widać, tryb Alpha Over sprawia, że ​​obraz jest znacznie jaśniejszy. Ale tego nie chcę: chcę tylko oryginalny obraz na niebieskim tle.

Co próbowałem:

  1. Zaznaczenie opcji „Convert Premul” (nie powinno być potrzebne, ponieważ renderowany obraz zawiera już wstępnie zwielokrotniony kanał alfa)
  2. Ręczna zmiana „Fac” (która ma nieoczekiwane zachowanie: potrzeba bardzo małej wartości (0,0001), aby pierwszy plan był przezroczysty. Oczekiwałem, że pierwszy plan będzie przezroczysty w 50% przy Fac = 0,5)
  3. Podłącz wyjście Alpha węzła Render Layers do wejścia Fac węzła Alpha Over (nie powinno być potrzebne, ponieważ kanał alfa powinien już znajdować się na samym obrazie)
  4. Ustawienie jasności lampy Sun, która jest również w mojej scenie, na 0. To wszystko nie rozwiązało mojego problemu.

Moje pytanie: jak uzyskać renderowany obraz na niebieskim tle bez rozjaśniania renderowanego obrazu?

Każda pomoc jest mile widziana!

Odpowiedzi

1 GordonBrinkmann Dec 11 2020 at 19:31

Jedną z rzeczy, które możesz zrobić, aby zmniejszyć nadmierną jasność w częściach półprzezroczystych, jest użycie węzła Alpha Convert Node w Compositor . Umieść go między warstwami renderowania a Alpha Over i ustaw na „Straight to Premul”. To znacznie zmniejsza jasność w przezroczystych obszarach.

Przezroczystość w renderowaniu nadal nie będzie wyglądać jak przezroczystość w węźle przeglądarki .

Aby uzyskać taki wynik, musisz zmniejszyć wartości RGB obrazu, na przykład za pomocą węzła Kolor> Mieszaj z włączoną opcją Zacisk . Następnie możesz pomnożyć obraz czystą bielą lub dodać czystą czerń, a wtedy na wyjściu wszystkie jasne piksele zostaną zaciśnięte na biało i działa na to przezroczystość alfa. Chodzi o to, że jeśli tego chcesz, to dlaczego jasność jest tak wysoka?

Chociaż powiedziałeś, że ustawiłeś siłę lampy słonecznej na 0, a nawet to nie zmieniło się zbytnio, plik, który dostarczyłeś, miał słońce o sile 1000. W Blenderze, słońce nawet przy sile tylko 10 jest bardzo jasny.

Tak więc renderowanie pliku z sześcianem i słońcem 1000 spowodowało, że wokół sześcianu pojawiły się półprzezroczyste obszary o wartościach RGB powyżej 150 lub nawet 200 przy przezroczystości 60% -80%, co daje piksele znacznie przewyższające biel. I dlatego wszystko jest o wiele jaśniejsze niż w widoku tła.

Aby uzyskać pożądany efekt, należy ustawić słońce znacznie niżej. Jeśli twoje obiekty wyglądają na szare zamiast na białe i dlatego zwiększyłeś wartość słońca, spróbuj ustawić Przekształcenie widoku> Standardowy zamiast Filmowy w Zarządzaniu kolorami .