Unity 3D podstawy - 5 przykładowych gier
4.0 (24 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
183 students enrolled

Unity 3D podstawy - 5 przykładowych gier

Arkanoid - Endless Runner - Kółko i krzyżyk - Split Screen Shooter - Navigation
4.0 (24 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
183 students enrolled
Last updated 5/2018
Polish
Polish [Auto-generated]
Current price: $90.99 Original price: $129.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 8.5 hours on-demand video
  • 17 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Kurs wideo 5 minigier w Unity 3D przeprowadzi Cię przez wiele podstawowych mechanik gamedev'u w Unity 3D - od najprostszych technik wejścia dla poruszania paletką, jak na przykład input get access, przez 2D controller, mechaniki, takie, jak podwójny skok, modyfikacje wejścia standardowego dla dwóch graczy, do systemów eventów w UI i physics raycaster'ów. Omówimy i wykorzystamy elementy fizyczne, takie, jak rigid body czy collidery. To wszystko i jeszcze więcej doprowadzi nas do stworzenia mechaniki Arkanoida, prostego Endless Runnera - z mechaniką scrollowania paralaksy - mechaniki gier typu szachy w UI oraz strzelania i podstawowej mechaniki gier RPG, czyli poruszania postacią za pomocą myszki.
Course content
Expand all 45 lectures 08:37:34
+ Poradnik 1 - Arkanoid
7 lectures 01:16:27

Czego się nauczymy 

Preview 00:50

W tej części przyjrzymy się strukturze folderów i rozkładzie okien w Unity.

Zyskamy informacje na temat hierarchii obiektów sceny i właściwości komponentów na przykładzie Rigidbody.

Preview 13:01

W tej części zapoznamy się z podstawami używania Script Component i pisania skryptów.

Krótko opowiemy o klasie Mono Behaviour i funkcjach edytora Mono Develop.

Wykorzystamy obiekty klasy Input, by odbierać wejście z klawiatury i transformować obiekt.

Dodatkowo poznamy znaczenie kontrolki Kinematic w Rigidbody.

2 - Poruszanie paletki
10:22

W tej części kontynuujemy poprzedni temat poruszania paletki.

Zapoznamy się z podstawami używania Script Component i pisania skryptów.

Krótko opowiemy o klasie Mono Behaviour i funkcjach edytora Mono Develop.

Wykorzystamy obiekty klasy Input, by odbierać wejście z klawiatury i transformować obiekt.

Dodatkowo poznamy znaczenie kontrolki Kinematic w Rigidbody.

3 - Poruszanie paletki CZ.2
07:58

W tej części kursu wykorzystamy naszą wiedzą do rejestrowania utracenia piłki za pomocą obiektów Collider Trigger i funkcji OnTriggerEnter.

Zapoznamy się również tagami obiektów i funkcją Find With Tag.

4 - Trigger i rejestrowanie utracenia piłeczki
15:31

W tym odcinku dodamy zliczanie pozostałych żyć i związane z tym proste UI.

Wykorzystamy ładowanie sceny do resetowania gry po całkowitej przegranej.

Użyjemy publicznych pól w klasach tworzenia zależności między obiektami sceny.

5 - Resetowanie gry, warunki przegranej
16:27

W tym odcinku dokończymy projekt wprowadzając możliwe do zniszczenia - zebrania punkty.

Wykorzystamy funkcję OnCollisionEnter - "bliźniaczą" do OnTriggerEnter do rejestrowania uderzenia w obiekt.

Przedstawimy sobie koncepcję prefabrykatu, by stworzyć wzór naszego "punktu".

Dowiemy się o zależności referencji prefabrykat - obiekt i podstawach funkcji Instansiate.

6 - Zbieranie punktów
12:18
+ Poradnik 2 - 2D Endless Runner
10 lectures 01:55:27

Czego się nauczymy 

Preview 00:47

W pierwszym poradniku omówiona jest scena z gotową implementacją, by zwrócić uwagę na logikę i inne elementy, na które będziemy musieli wziąć pod uwagę projektując grę. 

Wskazujemy tutaj m.in. stany animacji, czy ruchome elementy otoczenia.

1 - Omówienie projektu
01:37

W tym odcinku importujemy potrzebne do gry obiekty, wykorzystując darmowe elementy z Asset Store.

Omawiane są podstawy wyszukiwania w sklepie, a następnie tworzona podstawowa struktura animowanego obiektu 2D wykorzystując sprite'y.

Tworzymy pierwszy Animator Controller i Animacje, a w ramach optymalizacji, konwertujemy zbyt duże obrazy wykorzystując wbudowany w Unity system nadpisywania grafiki.

2 - Asset Store, podstawy tworzenia postaci gracza 2D
14:51

W tym odcinku nadajemy odpowiednie tagi obiektom sceny i wykorzystujemy obiekty Physics2D - Rigidbody 2D i BoxCollider2D , by stworzyć prefabrykat podłoża, wykorzystywany potem do tworzenia efektu "biegu" postaci. 

3 - Inne podstawowe obiekty sceny
09:53

W odcinku wykorzystujemy stworzony prefab podłogi, by zainicjować jej spawnowanie poza ekranem i usuwanie po zniknięciu - tworzymy wrażenie "biegu" naszej postaci, nie zmieniając jej położenia.

Wykorzystujemy skrypty sprawdzające odległość między obiektami, funkcję Instansiate i event OnTriggerEnter2D.

4 - Ruchome podłoże w grach typu endless runner 2D
13:04

Odcinek poświęcony jest podstawą współpracy skryptów i Animator Component. Omówione zostają wersje funkcji set wykorzystujące hash i string oraz różnice między nimi.

Dowiadujemy się podstawowych informacji na temat przejść i stanów (Transition, State ) w Animatorze i wykorzystania parametrów do kontroli ich.

5 - Kontrola postaci
14:37

W tym odcinku wykorzystujemy funkcję Instansiate z możliwością "doczepienia" obiektu jako dziecko innego.

Omawiamy event OnCollision2D i rozbudowujemy nasz animator o śmierć postaci, wykorzystując Any State.

Tworzymy efekt wybuchu bomby używając funkcji Destroy z dodatkowym parametrem opóźnienia.

Dodajemy też do naszej gry stan przegranej.

6 - Przeszkody, kolizje, eksplozje
14:30

W tym odcinku rozbudowujemy skrypt GameControllera o stan pauzy w naszej grze i reakcję na śmierć gracza.

Tworzymy menu pauzy dostępne pod guzikiem ESC (wykorzystując TimeScale) i używamy UI Buttons z opcją Sprite Swap, by wywołać efekt kliknięcia.

Dodatkowo do naszego UI zostaje dodany licznik przebytej odległości.

7 - UI, stan pauzy, zakończenie gry
16:59

Ten odcinek poświęcony jest końcowym poprawkom gry.

By ulepszyć wrażenia graficzne refaktoryzujemy nasz skrypt tworzący podłogę tak, by mógł działać na wielu warstwach i dokładamy dodatkową - niebo.

Usprawniamy też nasz kontroler postaci o poprawną mechanikę skoku i dodatkowe przejścia animacji.

Zajmujemy się też poprawieniem efektu przegranej.

8 - Tło, mechanika podwójnego skoku
14:45

W tym odcinku korzystamy z Asset Browsera by znaleźć alternatywne obiekty naszego gracza.

Uczymy się wykorzystać inny typ obsługiwanych animacji 2D - multiple sprite. 

Stosujemy nowy animator controller by poprawić animacje skoku z wykorzystaniem Blend Tree i eksportu animacji do pojedynczych klatek.

9 - Inne podejścia do animacji 2D
14:24
+ Poradnik 3 - Kółko i Krzyżyk w UI
10 lectures 02:05:07

Czego się nauczymy 

Preview 00:42

Ten odcinek poświęcony jest stworzeniu podstawowej struktuty dla sceny oraz pola gry.

Omówione zostają takie elementy, jak Rect Transform, anchoredPosition, które wykorzystujemy do odpowiedniego ustawienia tworzonych z poziomu skryptów obiektów UI.

1 - Tworzenie planszy
15:53

Ta część poświęcona jest rozwijaniu logiki gry.

Dodajemy takie wymagane elementy, jak obiekty graczy, pionek wraz z prefabem i ustalamy zależności między nimi.

Tworzymy funkcję, która po kliknięciu na obiekt pola ustala jego stan, dodaje pionek oraz pomocniczą funkcjonalność debugowania, wypisywanie numeru pola.

Omawiamy też różnicę pomiędzy zmianą koloru dla Image, a Button (Color i ColorBlock) i jedno z możliwych podejść do stworzenia globalnie (w obrębie sceny) dostępnego obiektu Singleton.

2 - Tworzenie i stawianie pionków
15:28

W tym odcinku kontynuujemy implementację logiki gry.

Ustalamy funkcję zmiany aktualnego gracza oraz podstawową funkcję ruchu.

Na koniec lekcji omówiona zostaje idea stworzenia funkcji sprawdzającej warunki wygranej.

3 - Logika dwuosobowej turowej gry planszowej
11:53

W tym odcinku tworzymy funkcję sprawdzającą stan wygranej w kółko i krzyżyk.

Wykorzystane i przećwiczone zostają zaawansowane elementy języka C# takie, jak funkcje Lambda, zapytania Linq, ternary operator.

4 - Funkcja CheckVictory - Zaawansowane możliwości C#
13:33

Lekcja ta poświęcona jest dodaniu do gry inicjalizacji oraz stanu zakończenia - wygranej.

Rozbudowany zostaje interfejs GameController. Wykorzystujemy fukcję GetComponentInChildren do zmiany koloru wszystkich pod elementów UI. Omówione zostaje wykorzystanie komponentu ContentSizeFilter na przykładzie tekstu.

5 - Stany Gry
14:46

W tej lekcji wykorzystujemy animacje i Animator by stworzyć skrypt obsługujący przejścia między stanami UI.

Rozbudowujemy nasze menu o funkcję New Game i Quit.

6 - Main Menu i przejścia między UI
13:55

Lekcja poświęcona jest wykorzystaniu elementu Slider do stworzenia ustawień naszej gry.

Dodajemy sliderom funkcje reagujące na zmianę wartości i ustalamy zależność między maksymalnymi możliwymi wartościami dwóch sliderów - wielkością pola gry i długością sekwencji zwycięstwa.

Rozbudowujemy również skrypty GameController i MainMenu o odpowiednią obsługę stworzonych ustawień.

7 - Ustawienia gry
16:27

Ten odcinek poświęcony jest tworzeniu menu ustawień rozdzielczości.

Wykorzystane i omówione zostają elementy Dropdown - wraz z dodawaniem wartości z poziomu skryptów i Toggle (Checkbox).

Z poziomu skryptów modyfikujemy rozdzielczość okna naszej gry.

Omówiony zostaje też komponent Canvas Scaler - skalowanie UI wraz z rozdzielczością.

8 - Ustawienia rozdzielczości
14:15

W tym odcinku nasza struktura sceny zostaje przerobiona tak, by plansza gry automatycznie dostosowywała położenie pól z wykorzystaniem komponentu GridLayout.

Dodatkowo omówione zostają wydzielone interfejsy, które pozwalają na łatwe przekształcenie projektu w inną grę planszową o podobnej dwuosobowej, turowej logice.

9 - GridLayout i Dalsza rozbudowa gry
08:15
+ Poradnik 4 - Split Screen Shooter
11 lectures 02:12:31

Czego się nauczymy 

Preview 00:59

Odcinek poświęcony jest podstawą pracy z animowanymi modelami 3D.

Poruszony jest temat okna ustawień importu, systemu Avatarów, Root Motion i blend tree.

Dodatkowo importujemy paczkę Standard Assets z Asset Store i poznajemy jej podstawową zawartość, ze szczególnym wskazaniem na 3D Chracter Controller.

1 - Modele 3D, 3D Character Controller
13:25
2 - Input Settings, Sterowanie dla dwóch graczy
13:22

Lekcja poświęcona konfiguracji kamery i interfejsu tak, by współpracował on z podzielonym ekranem.

Zmieniamy tryb wyświetlania canvas na screen space i edytujemy ustawienia kwadratu wyświetlanego obrazu kamery.

Dodatkowo zwracamy uwagę na powiązanie ustawień kamery i działania 3D character controllera, dostosowując go do własnych potrzeb.

3 - Konfiguracja kamery
13:50

W tym odcinku rozpoczynamy tworzenie systemu strzelania.

Tworzymy odpowiednie prefaby i podstawowe skrypty. Rozszerzamy nasz Animator Controller o animację strzelania i używając eventów, wiążemy ją z samym spawnowaniem pocisków oraz ustalonym przez nas guzikiem strzału.

4 - Podstawy strzelania
13:39

Odcinek poświęcony rozbudowie naszego systemu pocisków o efekty trafienia.

Używamy funkcji OnCollisionEnter by odpowiednio reagować na kontakt pocisku z otoczeniem.

Wykorzystujemy standardowe assety - cząsteczki eksplozji, by dodać dynamiki trafieniom.

Zajmujemy się również dotychczas nieużywanymi komponentami - Audio Source, by dodać dźwięk naszym strzałom i Trail Renderer, by stworzyć efekt smugi.

5 - Efekty strzału
12:51

Ten odcinek poświęcony jest Object Poolingowi - technice optymalizacji, która kładzie nacisk na nie usuwanie obiektów, a jedynie wyłączanie ich i ponowne wykorzystanie w obrębie ustalonej puli.

Tworzymy taki system przerabiając nasze skrypty odpowiedzialne za strzelanie.

Dodatkowo radzimy sobie z problemami napotykanym w ten sposób - wyłączającym się przy trafieniu dźwiękiem związanym z wyłączaniem odpowiedzialnego za emisję obiektu.

Poznajemy również przydatną funkcję Invoke.

6 - Object Pooling
14:37

W tym odcinku tworzymy od zera własne cząsteczki, dające nam efekt prostej eksplozji.

Poznajemy podstawowe subkomponenty Particle Systemu, staramy się zniwelować efekt nagłego znikania cząsteczek. Wykorzystujemy nasz skrypt Object Pool, by działał również w połączeniu z naszym nowym prostym efektem wybuchów.

7 - Własne Eksplozje
12:25

Odcinek poświęcony jest rozbudowie Animator Controllera gracza o animację śmierci.

Dodatkowo tworzymy skrypt odpowiedzialny za przechowywanie jego punktów życia i wyświetlanie ich z pomocą paska HP wykorzystującego UI Slider.

8 - Śmierć gracza, pasek życia
12:30

W tym odcinku dowiadujemy się podstaw wykorzystania mikserów do grupowania dźwięków i modyfikacji głośności grup.

Ulepszamy też wygląd naszego projektu dodając do niego Skybox, krótko omawiając jego ustawienia i współpracę z Environment Lighting.

Na koniec dodajemy do gry prosty system spawnowania przeszkód w obrębie planszy, wykorzystując BoxCollider.bounds do ustalenia zakresu losowania pozycji.

9 - Mikser, Skybox, Przeszkody
12:07

W tym dodatkowym odcinku analizujemy inne podejście do strzelania, często wykorzystywane w grach fps.

Zamiast używać fizycznych pocisków wykorzystujemy popularną fukcję Physic.Raycast do sprawdzania trafienia w cel. Dodatkowo rozbudowujemy ten tryb strzelania o efekty świetlne wykorzystując komponent Light i Line Renderer.

10 - Raycast Shooting
12:46
+ Poradnik 5 - Navigation
6 lectures 01:06:06

Czego się nauczymy 

Preview 00:39

W pierwszym odcinku omówione zostają podstawy ustawień wypalania navmesha - powierzchni nawigacji : Nav Mesh Agent, Off Mesh Link i ich generowanie.

Dodatkowo skupiamy się na podstawie postawionego przed nami problemu: sprzężenia animacji i nawigacji. Przypominamy podstawy idei Root Motion i dwuwymiarowych blend trees.

Wykorzystujemy Event System + Physic Raycast w celu wydawania poleceń agentowi AI.

1 - Podstawy Navigation System i Root Motion
15:00

Poradnik poświęcony technice łączenia przemieszczania za pomocą root motion - zgranego z animacją nóg i znajdowania odpowiedniej ścieżki przez navigation system.

Dowiadujemy się o różnicy pomiędzy Agent.Velocity i Agent.DesiredVelocity, pozbywamy się "race codnitions" wyłączając update pozycji przez navigation system.

Dodatkowo dostosujemy postać do "przeskakiwania" dziur i odpowiedniego zachowania przy dotarciu do celu, pozbywając się dziwnych zachowań wynikających z konkurencji dwóch systemów modyfikacji pozycji.

2 - Łączenie nawigacji i animacji
14:59

W tym poradniku wykorzystujemy liczne interfejsy Event Systemu - do stworzenia strzałki wskazującej docelową rotację naszej postaci.

Implementujemy m.in. funkcję OnDrag i poznajemy zawartość klasy PointerEventData. Wykorzystujemy CurrentPointerRaycast do wskazania pozycji i ustawiania rotacji obiektu.

3 - Event System i jego interfejsy
10:44

W tej lekcji zajmujemy się obrotami naszej postaci - wykorzystujemy takie funkcje, jak Quaternion.Angle, Quaternion.LookRotation, czy Quaternion.RotateToward, by nasza postać dostosowała się do docelowego obrotu.

Dodatkowo tworzymy prosty interfejs przeciwnika i również tam staramy się zapobiec sytuacji, że nasza postać atakuje np. obrócona do niego tyłem.

4 - Atak i docelowa rotacja postaci
14:56

W tym ostatnim odcinku kursu szlifujemy nasz interfejs przeciwnika dodając przyjmowanie obrażeń i prosty stan śmierci.

Dokańczamy również implementację funkcji HandleAttack() naszego gracza.

Na koniec krótko omówione zostaje używanie dostępnego w Standardowych Assetach AICharacterControllera.

5 - Atak, Śmierć, AICharacterController
09:48
Requirements
  • Podstawy posługiwania się komputerem
Description

Tworzenie gier w Unity 3D choć na pierwszy rzut oka może wydawać się skomplikowane, w rzeczywistości wcale takie nie jest. W tym kursie wideo poznasz podstawowe tajniki gamedev'u w Unity 3D i w efekcie stworzysz 5 minigier z mechaniką znaną z Arkanoida, Endless Runnera, szachów czy gier RPG. Gotowy na wyzwania i dobrą zabawę? Zatem do dzieła!

Kurs wideo 5 minigier w Unity 3D składa się z pięciu części, z których każda kończy się samodzielnym stworzeniem gry:

  1. Arkanoid - w pierwszej części kursu wideo stworzymy prostą grę, opierając się wyłącznie na prostych assetach z Unity 3D oraz na prymitywach dostępnych na początek. Gra będzie miała mechanikę znaną z Arkanoida. Zdefiniujemy sobie fizykę, by kulka odbijała w odpowiedni sposób, nauczymy się używać podstawowego inputu, by poruszać paletką oraz zdefiniujemy triggery, które pozwolą nam zliczać punkty czy przegrane życia. Stworzymy też bardzo prosty interfejs w postaci liczników.

  2. Endless Runner - w drugiej części kursu wideo stworzymy prostą grę w stylu znanego Endless Runner 2D. Zawrzemy w niej prostą maszynę stanów animacji postaci, łącznie z podwójnym skokiem oraz umieraniem. Sprawimy, że nasza gra uruchamiać się będzie ponownie po zakończeniu oraz dodamy proste menu pauzy, z możliwością zatrzymywania gry w dowolnym momencie. Wszystkie komponenty i różne typy animacji 3D będą darmowymi assetami z Asset Store'a. Dodatkowo, przyjrzymy się podstawowym funkcjom komponentu Animation.

  3. Kółko i krzyżyk w UI - w trzeciej części kursu wideo skupimy się na wykorzystaniu UI. Stworzymy menu główne z przejściami między stanami. Wykorzystamy między innymi takie kontrolki, jak slidery, listy rozwijane czy checkboxy. Zajmiemy się również tym, by nasza gra działała na różnych rozmiarach ekranów, przy różnych rozdzielczościach. Końcowym efektem będzie proste, parametryzowalne kółko i krzyżyk, z w pełni działającym menu.

  4. Split Screen Shooter - w czwartej części kursu wideo opowiemy sobie o podstawach pracy z modelami 3D, między innymi o animacjach humanoidalnych i wykorzystaniu systemu avatarów do retargetowania ich między modelami. Zajrzymy również do słynnej paczki standardowych assetów i przyjrzymy się nieco jej zawartości. Dodamy do naszej sceny takie elementy, jak character controller, który pozwala na łatwe sterowanie postacią w stylu starych gier, jak Doom. Dodatkowo stworzymy system strzelania z dźwiękiem oraz efektami trafień, wykorzystujący object pooling do optymalizacji. Efektem końcowym będzie rozgrywka dla dwóch osób na podzielonym ekranie. Zajmiemy się również interfejsem i odpowiednią pracą kamer w tego typu grach.

  5. Navigation - w ostatniej, piątej części kursu wideo stworzymy prostą grę z fragmentem mechaniki gry strategicznej bądź RPG, czyli sterowaniem postacią za pomocą myszki. Będzie ona zawierała takie elementy, jak przeskoki dziur, sterowanie, łącznie z ustawianiem obrotu czy prosta walka. W tym celu wykorzystamy system nawigacji w Unity 3D, dowiemy się trochę o wypalaniu jej, o agentach, przeszkodach czy off-mesh linkach, służących na przykład do przeskoków.

Jesteś gotowy na świetną zabawę połączoną z praktyczną nauką gamedev'u? W takim razie zaczynamy nasz kurs wideo i wspólnie tworzymy 5 minigier w Unity 3D! Nie wierzysz, że możesz zrobić to sam? Wspólnie urzeczywistnijmy Twoje marzenia o przygodzie z gamedev'em!

Who this course is for:
  • Kurs wideo 5 minigier w Unity 3D został stworzony z myślą o osobach, które dopiero chcą zacząć swoją przygodę z game developmentem. Doświadczony twórca gier przeprowadzi Cię przez podstawowe funkcje Unity 3D