Edytor Nodów – wstęp 14

Zaczynamy mówić w Polskim Kursie Blendera o nodach.

Witam! Tak, dziś jest ten dzień! Jest to długo oczekiwany temat, i zapewne wielu ostrzyło zęby na ten czas. Nadchodzi długi tydzień wolny dla wielu od pracy, więc jest to czas w sam raz dla studiów i zgłębiania Blendera. Dlatego wrzucam tutorial dotyczący podstaw pracy z Edytorem Nodów, a w kolejnych odcinkach, w kolejnych tygodniach będziemy powolutku oglądać to, co Blender ma do zaoferowania w Nodach.

W tym materiale omówiłem prawie wszystkie istotne podstawy korzystania z edytora, zapomniałem tylko wspomnieć o kombinacji Ctrl+Shit+LPM na nodzie. Powoduje ona, że do wyjścia koloru z noda podłącza się od razu aktywny nod podglądu (Viewer), jeżeli taki dodaliśmy. Cóż, zapomniałem aby to pokazać, dlatego piszę teraz, a w przyszłości zapewne będziemy z tego korzystali. Polecam!

 

Poniżej załączam przykładowy efekt otrzymany dzięki działaniu nodów: pierwszy obrazek to surowy render wprost z Blendera, drugi to efekt działania nodów kompozytowych. Jeżeli nie widzisz różnicy, zgłoś się do swojego lekarza :)

Render krwinki nie zmodyfikowanej przez system nodów – tzw. render „surowy”

Wygląd krwinki po jej transformacji za pomocą systemu nodów z Blendera.

Zapraszam do komentarzy :)

14 thoughts on “Edytor Nodów – wstęp

  1. Odpowiedz leks Sty 4,2016 01:57

    Mam takie pytanie. Być może trochę głupie z racji posiadanej wiedzy. Nody to dla mnie nowość i zastanawiam się czy w ogóle będą mi potrzebne do tego do czego jest mi potrzebny teraz blender. Chce się skupić na modelowaniu obiektów do silnika Unreal, ale jednocześnie zainteresował mnie też render Cycles, z myślą o jakichś wizualizacjach etc. Opiera się on na nodach. Nie wiem czy dobrze to wszystko rozumiem, ale do Cyclesa nie można chyba zrobić tekstur i materiali bez użycia nodów, a w Blender Render używać do tego nodów. Nie można chyba w prosty i szybki sposób zrobić sobie np. rendera w cycles, by za chwilę bez kilkudziesięciu minut pracy wyrenderować to samo w blender render (bo nody itd.) Nody nie wczytują mi się też do modeli które chce zaimportować w Unrealu. I mam rozsterke. Bo zrobie coś ładnie wyglądającego w Cycles i za każdym razem jak będę chciał to wyrenderować czy to w Blender Render (może takiej potrzeby nie bedzie) czy wczytać do Unreala to wszystkie tekstury, normal mapy, bumpy czy co tam jeszcze za każdym razem będzie trzeba ustawiać od zera? Dobrze to rozumiem? Może w tym temacie nagrał Pan coś albo zna Pan odpowiedź na te kwestie? Pozdrawiam, jestem pod wrażeniem jak Pan to wszystko zdołał nagrać a co dopiero zrozumieć i ogarnąć w ciągu krótkiego ludzkiego żywota ;).

    • Odpowiedz piotao Sty 24,2016 16:33

      Problem przenoszenia materiałów pomiędzy silnikami 3d istniał od zawsze. Aby uzyskać w UDK coś podobnego do tego co masz zrobione w Cycles, potrzebujesz zrobić bake całej tekstury z Blendera i taki ‚obrazek’ użyć jako teksturę w UDK. W Blender Internal także jest system nodów dla tekstur, ale starszy i bardziej ograniczony. Jednak materiału na dzień dzisiejszy nie przeniesiesz. Słyszałem jednak, że są jakieś rozważania na temat przynajmniej częściowej integracji materiałów, ale to dla potrzeb gier, a nie modelowania 3d. Może w przyszłości pewne cechy Cycles i materiałów UDK będą wspólne.

  2. Odpowiedz pawianek Sty 11,2015 18:58

    Wspaniałe kursy , bardzo dziękuję

  3. Odpowiedz Wiesław Lip 6,2012 16:29

    Piotrze, dzięki! Dobrze, ża nam doradzasz. Włożyłbym spooro energii w naukę renderowanie z cieniami bez obiektów i okazałoby sie, że nie uzyskałbym oczekiwanego efektu. Teraz wiem, że zostaje tylko podział na fragmenty z wcześniejszym wypalaniem cieni (jeśli potrzeba) i to wypróbuję.

  4. Odpowiedz Wiesław Lip 2,2012 18:59

    Jeden ratunek w nodach, bo na nowy komputer mnie w tej chwili nie stać. Wciąż komputer się dusi z powodu tego, że robię ze szczegółami fragment miasta. Sam plik blend ma już 400 MB, a powinien posiadać drugie tyle. Blender się wyłącza przygotowując Raytejsing. Zrozumiałem, że nody pozwalają dzielić scenę na części i renderować częściami a potem składać. Mam nadzieję, że to zmniejsza zapotrzebowanie pamięci. Kiedy będzie tutorial na ten temat? A może nody do rozwiazania tego problemu się nie nadają? Proszę o wyjaśnienie.

    • Odpowiedz piotao Lip 3,2012 09:21

      Nody w takim sensie nie pomogą Ci podzielić sceny na części – bo zanim do nich dojdziesz, surowy render już musi być zrobiony. 400MB to bardzo dużo, masz prawdopodobnie bardzo dużo geometrii w pliku, albo mnóstwo keyframów pochodzących np. z nagrywania symulacji fizycznych. Nie wiem :)
      Jeżeli możesz podzielić scenę na osobne obiekty, które dałoby się wyrenderować osobno (np. osobne budynki, itp), to podziel wszystko na osobne pliki Blendera (np. przez import). Potem wyrenderuj osobne fragmenty, będą miały mniejszą złożoność, a wynik zapisz w pliku EXR z zapisaniem głębi. Po zebraniu fragmentów w ten sposób, będziesz mógł połączyć pliki EXR w jeden obraz używając zawartej w nich informacji o głębi, i to możesz zrobić właśnie w nodach, sklejając po prostu kilka obrazków. Może to pomóc; o ile uda Ci się podzielić scenę. Jest w Kursie tutek o łączeniu obrazków z głębią, spróbuj, zobaczysz, może się uda :)

      • Odpowiedz Wiesław Lip 3,2012 16:36

        Bardzo dziękuję. Mam dużo geometrii. Tutek oczywiście oglądałem, dlatego o łączeniu obrazków EXR już myślałem. Problem w tym, że to łączenie jest sztuczne. Bryły po połączeniu nie rzucają na siebie cienia. Jednak sądzę, że odpowiednio dobierając obiekty będę w stanie wydzielić obszary nie sklejone ze sobą cieniami.

        Mam jeszcze inny pomysł Czy daje się podzielić obraz, który jest z założenia prostokątny, na 4 czy więcej mniejszych prostokatów i renderować je po kolei, a potem zwycajnie skleić? Zużycie pamięci zależy podobno między innymi od tego ile wierzchołków jest w polu widzenia kamery. Wydaje się też, że renderowanie mniejszego obrazka powinno po prostu być mniej pamięciożerne.

        • Odpowiedz Wiesław Lip 3,2012 18:24

          To jest ciąg dalszy powyższego. W przypadku łączenia obrazków EXR problem cieni jest do rozwiązania: generować obrazki z cieniami. Otóż na stronie

          http://www.blender.org/development/release-logs/blender-242/render-pipeline/

          jest wyraźnie napisane, że można część obiektów usunąć z renderowania mimo, że pozostaną ich cienie, a nawet odbicia. Potem wystarczy wyrenderować same obiekty i dołożyć. Niestety na razie nie potrafię dojść jak to się robi.

        • Odpowiedz piotao Lip 4,2012 07:46

          Odnośnie podziału sceny na kafle: „The current system still generates all render data (including shadow buffers and octrees) in a pre-process, before the tile-rendering happens.” – co oznacza, że i tak cała scena wchodzi w render ze wszystkimi buforami cienia i drzewem, a więc będzie tak samo, jakbyś robił render jednej całej klatki.
          I jeszcze to: „It is important to realize that shadowbuffers and the Octree (for ray-tracing visibility) get generated in a preprocess, so these are identical for all RenderLayers as indicated.” – kolejne potwierdzenie, że robiona jest całość sceny, a nody lub ewentualnie kafle wchodzą w to później.

          Przy podziale sceny na fragmenty i osobne renderowanie będziesz oczywiście miał problem ze światłem i cieniami, ale jeżeli jest to statyczny render, to możesz zawsze tak przygotować tekstury, aby zawierały wypalony w nich cień. Zatem na głównej scenie dla każdego obiektu warto wypalić teksturę cienia, AO i ewentualnie spróbować nawet full render, a potem takie tekstury nałożyć na obiekt zamiast oryginalnych i wtedy renderować osobno, bez liczenia światła, które jest już wypalone w teksturach. Jeżeli Twoja scena nie jest statyczna, to nie zadziała, i wtedy trzeba przyznać rację maszynie: może się okazać za słaba po prostu. Albo scena zbyt złożona. Pamiętaj, że wypalanie (czy tam wypiekanie, baking) potrafi zeżreć sporo pamięci.

  5. Odpowiedz Bartek Maj 10,2012 18:26

    no to się zaczyna prawdziwa zabawa! nody, cycles, palce lizac. Doskonałe tutki Piotr. Pozdrawiam

  6. Odpowiedz kpulka Maj 9,2012 10:44

    Świetny i klarownie powiedziany tutorial! :)
    Jedynie zraziła mnie wymowa np. „unused” :P (‚junusd’ jest źle, bardziej brzmi jak ‚anjusd’) hehe
    Pozdrawiam!

A Ty co o tym myślisz?