Logowanie
Witamy, Gość. Zaloguj się lub zarejestruj.
Czy dotarł do Ciebie email aktywacyjny?
24 Czerwiec 2017, 17:15:48
Nazwa użytkownika:

Hasło:



Zaloguj się podając nazwę użytkownika, hasło i długość sesji

Zapomniałeś hasła?
Nowe na forum
» Low poly - Wookie
» Praca Miesiąca - Grudzień... - matchias
» Oświetlenie wybranych obi... - vipovsky
» Motion tracking - porusza... - wefhy
» W poszukiwaniu znajomości... - Zer0Frost
» Proszę mnie skasować - Z_Piotrek
» Materiał czołgu? - PeKur
» Normal Mapy - błąd na kra... - LICK
» Łązienka - raiden1983
» Lokomotywka - Veezen
Nowe linki
1. opengameart
    Kategoria: Tekstury, modele, materiały...
2. Bluevertigo
    Kategoria: Tekstury, modele, materiały...
3. Lester Banks - Blender tutorials
    Kategoria: Tutoriale i Artykuły
4. Blender Guru
    Kategoria: Tutoriale i Artykuły
5. Warsztat - programowanie gier
    Kategoria: Gry i interaktywność
W Galerii
Przedmieścia, z albumu: Atomowy eden, ocena: 4

najnowsze
Atomowy eden/Przedmieścia

Sypialnia, z albumu: slooT, ocena: 4.4

losowe
slooT/Sypialnia
Hosting
profilowe-napisy.jpg
Creative Commons

Publikuj z sensem
cclogo.jpg
Wybierz swoją licencję

88x20.png
Start arrow Tutoriale arrow Materiały i tekstury arrow Tekst: Wypalanie normal map [Blender 2.60]
Tekst: Wypalanie normal map [Blender 2.60] PDF Drukuj
Oceny: / 9
KiepskiBardzo dobry 
Wpisał: Goten22   dn. 05.11.2011.
Tłumaczenie: Goten22
Autor: Ken Beyer
Źródło: BlenderArt Magazine #20

Ten tutorial pochodzi z przetłumaczonego numeru #20 BAM. Pomyślałem, że przyda się też tutaj na Blenderownii. Został przepisany na najnowszą wersję Blendera.


Wprowadzenie
Można wyróżnić dwa sposoby na generowanie map normalnych w grafice 3D: „renderbump” i „renderbumpflat”. Poniższy tutorial opisuje proces tworzenia normal map sposobem renderbump, to znaczy, przy pomocy wbudowanej funkcji Blendera do wypalania topologii i fizycznych cech obiektów o wysokiej szczegółowości na obrazku nazywanym mapą normalnych.

Ale dość teori, czas na praktykę.


Wypalanie map normalnych — czego potrzebujemy?
Aby wypalić normal mapę przy użyciu Blendera, musisz mieć przygotowane dwa modele:

Siatka niskiej szczegółowości (ang. low poly)
Siatka wysokiej szczegółowości (ang. high poly)

Siatka low poly, to zazwyczaj ta, która zostanie wykorzystana w grze, w tym przypadku drzwi w stylu high tech przedstawione na lewym obrazku, podpisana „low poly”. Siatka powinna być jak najlepiej zoptymalizowana (tyle wielokątów, ile potrzeba do docelowego użytku), musi być zmapowana w UV i oteksturowana.
Siatka high poly jest wykorzystywana do wypalania szczegółów geometrii na obrazku, który zostanie nałożony na model low poly.

Przygotowanie modeli, co trzeba zrobić przed rozpoczęciem wypalania?
Ponieważ szczegółowy model jest w efekcie wypalany na obiekcie o niskiej rozdzielczości, więc musimy w jakiś sposób wytłumaczyć Blenderowi co ma zrobić z obydwoma obiektami. Innymi słowy, Blender musi wiedzieć gdzie powinny być wypalone kolorowe „normale”, które części obrazka powinny mieć je wypalone, a które części nie powinny.
Aby do tego doszło siatka niskiej rozdzielczości musi być rozłożona w UV i mieć przypisane materiały i tekstury.

Jak to zrobić: tworzenie lub edycja UV mapy
Zanim cokolwiek rozłożymy, dobrze jest się upewnić, że mniej szczegółowy obiekt ma przypisane przynajmniej jeden materiał do siatki i przynajmniej jeden obrazek-teksturę przypisaną do materiału, jest to szczególnie ważne dla procesu wypalania map normalnych.

W Blenderze 2.6 wykonaj następujące kroki:
• Naciśnij [Tab], aby wejść w tryb edycji.
• Naciśnij [A] aby zaznaczyć wszystkie ściany obiektu.
• Następnie naciśnij [U -> Unwrap].
• W wyniku tego procesu powstanie podstawowa UV mapa obiektu, która będzie zajmowała cały obrazek lub tak dużo miejsca, na ile pozwolą proporcje.

Uwaga: Oczywiście ten tutorial nie omawia szczegółowo i dokładnie wszystkich aspektów mapowania UV.


Przygotowanie modeli, gdzie je postawić
Ważnym jest, aby zwrócić teraz uwagę, że wypalanie normal mapy tym sposobem jest analogicznym procesem, nie jest to do końca projekcja jednego obiektu na drugim, ale raczej opiera się na obiektach znajdujących się dokładnie w tym samym miejscu w przestrzeni „XYZ”. Innymi słowy, obiekty muszą „siedzieć” na sobie w odpowiedniej kolejności, żeby proces przebiegł poprawnie.

Obydwie siatki high i low poly muszą znajdować się dokładnie w tym samym miejscu. Ważnym jest, aby upewnić się że oba obiekty leżą jeden na drugim - pomaga też jednakowe położenie punktu centralnego POO ('point of origin' - mały różowy punkt wokół, którego pojawia się kursor gdy zaznaczamy obiekt).

Jak to zrobić: precyzyjna kontrola pozycji

Zakładając, że oba obiekty mają ten sam punkt centralny, gdy chcemy przesunąć lub zmienić położenie obu obiektów z dużą precyzją, musimy użyć obu lub któregoś z podanych sposobów:

• Kliknij [PPM] aby zaznaczyć obiekt i przytrzymaj [Ctrl] aby przesuwać obiekt względem siatki.
• Wciśnij N, by otworzyć panel „Transform” (właściwości transformacji) i w polach tekstowych „X”, „Y” i „Z” edytuj widoczne wartości pamiętając, by obu obiektom nadawać te same wartości; to zagwarantuje, że oba obiekty będą w tym samym miejscu „numerycznie”.

To powinno sprawić, że oba obiekty, high i low poly, będą w tym samym miejscu. Zwykle niepożądaną rzeczą jest efekt zwany „z-fighting” (konflikt powierzchni) – to „mruganie” często widziane jako rezultat próby wyświetlenia przez kartę graficzną dwóch nakładających się na siebie ścian w tym samym czasie, a ponieważ karta nie może zrobić czegoś takiego, to podczas przesuwania czy zmiany punktu widzenia nachodzące się powierzchnie zaczynają na przemian renderować się na ekranie, co powoduje migotanie powierzchni.

UWAGA: Nie pomijaj powyższych kroków, upewnij się, że obiekt low poly ma dobrą, „czystą” UV mapę i że oba obiekty znajdują się w tym samym miejscu.

Wypalanie map normalnych z Blenderem

Jak to zrobić: render wypalonej mapy normalnych
Porządek, w którym dwie siatki są zaznaczane jest ważny, więc omówię to szczegółowo.

[PPM] zaznacz najpierw siatkę wysokiej rozdzielczości, a następnie przytrzymując klawisz [Shift] zaznacz siatkę o niskiej rozdzielczości – krawędzie obiektu o niskiej rozdzielczości powinny być jaśniejsze, jeśli zrobiłeś to w poprawnej kolejności.

Przełącz się do panelu "Render" i znajdź na samym dole ramkę "Bake".
• Zmień rodzaj wypalania (Bake Mode) na Normals.
• Kliknij przycisk „Selected to Active” (zaznaczony do aktywnego).


W zależności od tego, gdzie mapa będzie używana, można wybrać inną opcję w menu – aktualnie powinien być to
„Tangent” – może zajść potrzeba wyboru innego przy odpowiednich ustawieniach; na potrzeby gry wystarczy jednak „Tangent”, zaznacz to ustawienie, jeśli nie jest aktywne.

Dodatkowo wciśnięcie przycisku „Clear” wymusi na Blenderze wyczyszczenie tekstury przed ponownym wypaleniem mapy normalnych, przydatna funkcja, jeśli chcemy powtórzyć proces. Wartość „Margin” ustala, z jaką siłą będzie „wyciskana” tekstura, co pozwala uniknąć błędów związanych z anty-aliasingiem.

• Kliknij przycisk „Bake”, by rozpocząć wypalanie mapy normalnych na teksturze.

Jeśli okno UV/Image Editor jest otwarte, będzie widać postęp powstawania mapy normalnych, jak jest ona wypalana na teksturze. Czas wypalania zależy od wielkości obrazka, ale nie powinno to trwać zbyt długo. Wszystko, co musimy jeszcze zrobić, to zapisać mapę.

Jak to zrobić: zapisanie wypalonej mapy normalnych
Koło nazwy wypalonej mapy normalnych „Image”, gdy tylko proces dobiegnie końca, powinna pojawić się gwiazdka – „*” (przykładowo nazwa zmieni się z „Image” na „Image*”); wskazuje ona na to, że nowy obrazek zawiera w sobie bufor rendera i musi zostać zapisany.
• Kliknij menu „Image”, a następnie wybierz „Save As…”, a otworzy się okno przeglądania plików.
• U dołu nowo otwartego okna przeglądania plików rozwiń menu „Save Image as:” i wybierz format, w którym zapisany będzie plik – możesz zapiać go w „surowej” formie lub użyć którejś z „bezstratnych” kompresji; sugeruję ci „Targa Raw”, „BMP” lub „Tiff”.

Kliknij „Save Image”, by zapisać obraz we wskazanym formacie.


Zakończenie

Używanie możliwości renderownia map normalnych przez Blendera jest szybkim sposobem na generowanie gotowych map normalnych do gier.

normal.jpg

(0) skomentuj na forum
Zmieniony ( 11.11.2011. )
 
następny artykuł »