Program kursu będzie obejmować tworzenie gier w silniku Unity3D.
Rozpocznie się kilkoma wykładami dotyczącymi podstaw silnika.
Kolejne wykłady omówią m.in.:
\- tworzenie skryptów c#, i łączenie ich z głównym silnikiem (GameObject,
Component, MonoBehaviour, zmienne publiczne edytowalne),
\- prefaby, instancjonowanie, update/fixupdate/start, wyszukiwanie komponentów
z kodu
\- system kontroli wersji GIT (krótki ogólny kurs)
\- modelowanie, teksturowanie, import i export assetów
\- fizyka (soft, rigid body), systemy cząsteczek
\- animacje, maszyna stanów, animacja menu, animacja ludzi
\- oświetlenie, bakowanie lightmap, daylight, artifical light
\- shadery
\- testowanie (w tym testy automatyczne), TDD (test driven development)
\- materiały (w tym Physically Based Shading materials)
\- rodzaje renderingu (forward, deferred)
\- efekty post process (np. bloom, color grading)
\- pisanie rozszerzen do edytora
\- dobre i złe praktyki w budowaniu interfejsów użytkownika (także w VR)
\- efekty: screen space ambient occlusion i screen space reflections
\- standard assety
Kurs jest od podstaw, co oznacza, że nie wymaga wcześniejszej znajomości c#
ani programu do modelowania 3d.
Zaliczenie składa się z punktacji za rozwiązania list zadań (każda lista to
gra lub jej fragment do wykonania), oraz prezentacji finalnego projektu (gry
zaprojektowanej i napisanej przez studenta).
Przykłady projektów które mogą pojawić się na pracowni:
\- Arkanoid
\- Asteroids
\- Tetris
\- Snake
\- Własny finalny projekt mini gry
Pracownia będzie prowadzona jako "warsztaty - hands on", na których powtórzymy
rzeczy z wykładu, ćwicząc je w praktyce.
Listy zadań w zależności od złożoności będą do zrealizowania od tygodnia do
czterech tygodni (na większości list będzie można wybrać jedną z dwóch gier do
realizacji).