Przejdź do głównej treści

Uczymy Robić Gry

Konsultacje onlineWarsztat 1x45min
Opis jednozdaniowyLekcja ma zadanie przekazać fundamenty optymalizacji assetów i zarządzania zasobami GPU, by tworzyć gry o wysokiej wydajności, które zachowują najwyższą jakość wizualną.
Materiały źródłowePodstawowe:

Character Design Mini-Series Pt. 1 – Gesture, Silhouette, Form. Marco Bucci.  
https://www.youtube.com/watch?v=gI62rHNtg2w

Static Batching, Explained. Free, Powerful Draw Call Optimization | Unity Tutorial. LlamAcademy. 
https://www.youtube.com/watch?v=8D8A6gabwlU

Texel Density Explained Fast. Josh Antonio
https://www.youtube.com/watch?v=2-mIY87314g

Texel Density Masterclass — For Rendering & Real-time Graphics (Games). Huge Menace
https://www.youtube.com/watch?v=sR1sAWWT2x8

Unity Optimization : reducing 3D objects’ draw calls. about game making
https://www.youtube.com/watch?v=vU3au56UV_E

Tips for Optimizing Game Assets in Blender. CG Cookie
https://www.youtube.com/watch?v=jFE6KhNKg8A

Dodatkowe:

5 Tips to Optimize Your Game Art. Skookum Arts
https://www.youtube.com/watch?v=U-T3G5MVqIk

When Optimisations Work, But for the Wrong Reasons. SimonDev
https://www.youtube.com/watch?v=hf27qsQPRLQ
Czemu służy ta lekcjaOptymalizacja często jest postrzegana jako przykry obowiązek na koniec produkcji. Ta lekcja odwraca to podejście: optymalizacja to dbanie o User Experience. Nagłe pojawianie się obiektów (Pop-in) lub drastyczna zmiana ich kształtu przy oddalaniu wybija gracza z rytmu i niszczy iluzję świata. Spadki klatek (Frame Drops) powodują, że sterowanie staje się „ciężkie”. Uczestnicy zrozumieją, że przygotowanie dobrych LOD-ów (Levels of Detail) i Atlasów Tekstur to nie tylko kwestia techniczna, ale artystyczna – chodzi o zachowanie tożsamości wizualnej obiektu na każdym dystansie.

Jak się przygotować?

Przygotowanie „Sceny Porównawczej” (Live Demo)

  • Scena A (Nieoptymalna): 100 różnych modeli (np. domków), każdy z własnym materiałem i teksturą 2K.
  • Scena B (Zoptymalizowana): Te same 100 domków, ale korzystające z jednego Atlasu Tekstur i zintegrowane w jeden Batch.
  • Co przygotować: Otwórz okno Statistics (Unity) lub GPU Visualizer (Unreal). Pokaż różnicę w Draw Calls (Batches). 

Przygotowanie wizualizacji „Teorii Sylwetki”

Przygotuj 3-4 slajdy lub modele, które pokażesz w trybie „Unlit” (sam czarny kolor/cień):

  • Pokaż kultową postać (np. Mario, Master Chief) jako sam czarny obrys.
  • Pokaż model High-Poly obok modelu LOD3 (bardzo niskie poly).
  • Zadanie: Jeśli sylwetki się pokrywają, LOD jest dobry. Jeśli w LOD3 „znika” wystająca antena lub ramię – student widzi błąd natychmiast.

Przygotowanie tekstury „Checkerboard” (Texel Density)

To najprostszy sposób na pokazanie spójności tekstur.

  • Pobierz lub wygeneruj teksturę w kolorową szachownicę z numerami.
  • Nałóż ją na różne obiekty w scenie (np. wielką ścianę i mały kamień).
  • Efekt do pokazania: Jeśli kwadraty na ścianie są ogromne i rozmyte, a na kamieniu malutkie i ostre – masz problem z Texel Density. To wizualny dowód, którego studenci nie zapomną.

Powyższe zagadnienia można przedstawić również za pomocą wyboru określonych filmów z Youtube.

Jaką wiedzę należy przekazać?

  • Silhouette Theory (Teoria Sylwetki), Systemy LOD
  • Progi przełączania, ukrywanie „pop-in”, Cross-fade & Dithering
  • Draw Calls & Batching, Atlasowanie tekstur, Mipmapping.

Analoga: Wyobraź sobie kartę graficzną jako urzędnika. Każda nowa tekstura (materiał) to oddzielny „wniosek do rozpatrzenia”. Jeśli przyniesiesz 100 małych wniosków, urzędnik utknie w papierach. Jeśli przyniesiesz jeden duży wniosek, załatwisz wszystko naraz. Dlatego 100 obiektów z jedną teksturą (Atlas) rysuje się szybciej niż 10 obiektów z różnymi teksturami.

Cel: Redukcja komunikacji CPU -> GPU.

  • Texel Density, Texel Density Consistency

Błąd: Bardzo ostra tekstura na małym kubku stojącym na rozmytej, nie wyraźnej teksturze stołu. To niszczy imersję bardziej niż niski polycount.

  • Imposters & Billboards

Technika: W ekstremalnych odległościach (np. las na horyzoncie) nie potrzebujemy nawet 10 trójkątów. Wystarczą 2 (quad), na które nałożone jest zdjęcie modelu 3D zrobione z 8 stron. Oszczędność rzędu 99% zasobów.

Warto zapamiętać!

  • Silhouette – najważniejsza cecha rozpoznawcza obiektu; LOD nie może jej zmieniać.
  • Pop-in – wróg immersji nr 1; walcz z nim miękkimi przejściami.
  • Atlas Tekstur – narzędzie do redukcji „Draw Calls” (zapytań do karty graficznej).
  • Mipmapping i UV Padding (Uzupełnienie do Atlasów)
  • Overdraw i Shader Complexity
  •  Nanite (Contextual Update)