Samouczek Unity3d

Samouczek Unity3d

Wprowadzenie do Unity 3D

Unity 3D to potężny silnik rozwoju gier. Jest to międzypatrzysta, która pozwala tworzyć gry na urządzenia mobilne, internetowe, komputery i konsoli, w sumie około 30 platform. Unity 3D ma wiele ekscytujących funkcji, kilka z nich podano poniżej:

  • Koszt: Wersja osobista Unity 3D jest bezpłatna dla początkujących, studentów i hobbystów. Unity Personal ma wszystkie podstawowe cechy jedności. Ma również podstawowe analityki, kompilację w chmurze, reklamy, zakupy w aplikacji i funkcje między platformami. Poza tym funkcjami Unity Personal ma również kilka ograniczeń. Dwie inne wersje Unity Plus i Unity Pro są również dostępne dla poważnych twórców i profesjonalistów, zaczynając od ceny 35 USD miesięcznie.
  • Wszystko w jednym redaktorze: Jedność jest znana jako edytor All in One. Edytor Unity ma wiele przyjaznych artystom narzędzi do projektowania imponujących doświadczeń. Ma silny garnitur narzędzi programistycznych do wdrażania logiki gry i wysokiej klasy rozgrywki. Unity pozwala również tworzyć gry 2D i 3D. Zawiera także narzędzia do ścieżki AI oparte na systemie nawigacji. Ma doskonały wbudowany system tworzenia przyciągania wzroków interfejsów użytkownika. Jego silnik fizyki Box2D pozwala nam stworzyć realistyczny ruch, pęd, siłę i rozgrywkę.
  • Platformy: Unity obsługuje wiele różnych platform, takich jak Linux, iOS, Android, Windows itp. całkowicie 30 platform.
  • Rzeczywistość wirtualna i rozszerzona: Jedność wspiera wirtualne i rozszerzone rozwój rzeczywistości. Jest to najczęściej używany silnik do rozwoju XR. Ma Microsoft HoloLens, Stream VR/Vive, Gear VR i PlayStation VR wsparcie w Unity Plus dla rzeczywistości wirtualnej i rozszerzonej.
  • Multiplayer: W przypadku gier sieciowych i wieloosobowych w czasie rzeczywistym Unity jest najlepszą opcją. Zapewnia serwery współpracy w czasie rzeczywistym.
  • Wydajność silnika: Wydajność silnika Unity jest niezwykła. System obliczeniowy wielowo-strefowy nadchodzi intensywne scenariusze. Unity Engine ma zaawansowane narzędzia profilowania, które określają, czy gra jest związana z procesorem, czy nie, a także informuje, jak ją zoptymalizować z lepszym doświadczeniem.
  • UNITY Asset Store: Jest to ogromny katalog bezpłatnych i płatnych treści. Możesz zwiększyć swój czas rozwoju, pobierając wiele wbudowanych bezpłatnych modeli i zasobów. Nawet Store Unity Asset ma kompletne projekty zarówno za darmo, jak i płatne.
  • Renderowanie grafiki: Unity ma jeden z najlepszych systemów renderowania graficznego. Pozwala tworzyć środowiska takie jak Dzień Światły, krzykliwy blask neonowych znaków, słabo oświetlone północy i mroczne tunele. Tworzy niesamowite efekty wizualne. Chociaż Unity obsługuje wieloplatformowy, ale nadal próbuje pokryć interfejs API grafiki niskiego poziomu każdej platformy w celu uzyskania lepszych wyników i uduszonego wrażenia użytkownika.
  • Praca drużynowa: Ma funkcje, które umożliwiają współpracę i prosty przepływ pracy. Przechowywanie w chmurze Unity pozwala zapisać, udostępniać i synchronizować swoje projekty w dowolnym miejscu.
  • Raportowanie wydajności: System raportowania wydajności Unity zajmuje się problemami w czasie rzeczywistym. Problemy z wysokimi priorytetami są rozwiązywane bardzo wydajnie. Znajduje błędy aplikacji na urządzeniach i platformach.

Interfejsy jedności

Eksplorujmy interfejsy edytora Unity, które są konfigurowalne. Wykonane z stukniętych okien, które można zmienić według potrzeb. Zbadajmy domyślne ustawienia okna. Oto obraz, jak to wygląda

Okno hierarchii

Okno hierarchii reprezentuje każdy obiekt na scenie. Pokazuje, w jaki sposób obiekty są ze sobą powiązane na scenie, więc te dwa okna są powiązane. W oknie hierarchii znajduje się rozwijana lista o nazwie Tworzyć. Możesz bardzo łatwo utworzyć pusty obiekt, obiekty 3D, obiekty 2D, światło, audio, wideo, system cząstek i obiekty aparatu. Okno hierarchii pokazano poniżej. „Untitled” to nazwa sceny. Możesz zmienić ją tak, jak chcesz. Możesz zobaczyć rozwijaną ikonę po prawej stronie Untitled (nazwa sceny). Klikając tę ​​rozwijanie, możesz zobaczyć różne opcje dla Zapisz scenę I Dodaj nową scenę.

Okno sceny

Okno sceny to miejsce, w którym tworzysz swoją scenę. Tam możesz wchodzić w interakcje z obiektami i modelami gry. Możesz zmienić rozmiar, przekształcić i zmienić położenie obiektów sceny. To jest okno, w którym zaczynasz pracować z Unity. Widok sceny może być 2D lub 3D w zależności od ustawienia projektu. Oto zrzut ekranu, jak wygląda okno sceny:

W oknie sceny możesz zobaczyć kolejną kartę oznaczoną Zacieniony, Tutaj możesz wybrać, jaki typ widoku chcesz zacieniony lub szkielet. Ma wiele innych opcji, takich jak różne, globalne oświetlenie, GI w czasie rzeczywistym, Baked GI i wiele innych. Możesz wyświetlić do 2D lub 3D za pomocą przycisku obok Zacieniony upuścić. Dalej jest przycisk przełączania oświetlenia sceny. Podobnie przycisk przełączania na audio sceny. Dalej znajduje się rozwijana lista, aby włączyć Sky Box, mgły, animowane materiały i efekty obrazu.

Okno gry

Okno gry reprezentuje twoją ostatnią, opublikowaną grę w trybie gry. Jest renderowany z kamer, których użyłeś w grze. W oknie gry możesz zobaczyć inny pasek narzędzi, jak pokazano poniżej w zrzucie ekranu:

Wyświetl 1 pokazuje aparat obecny na scenie gry. Domyślnie jest ustawiony Wyświetl 1 dla głównej kamery. Jeśli masz wiele kamer i chcesz się przełączyć, możesz wybrać z rozwijanej listy. Oprócz tego możesz zobaczyć rozwijanie współczynników proporcji. Możesz wybrać zgodnie z ekranem monitorowania urządzenia docelowego. Następnie możesz zobaczyć Suwak skali Powiększać. Przewiń w prawo i sprawdź więcej szczegółów na temat swojej sceny w trybie gry. Dalej jest przycisk dla Zmaksymalizować w grze, Po kliknięciu rozmiar okna gry będzie maksymalny w trybie gry. Niemy dźwięk przełącznik służy do wyciszenia/niewielkiego dźwięku. Statystyki pokazuje statystyki renderowania na temat dźwięku i grafiki gry.

Okno zasobów projektu

Jak nazwa pokazuje okno zasobów, ma wszystkie zasoby projektu, których możesz użyć. Jeśli zaimportujesz coś nowego, pojawi się w oknie Aktywa projektu. Okno Project Asset ma dwie części, lewy panel i prawy panel, jak pokazano w poniższym zrzucie ekranu:

Left Pane pokazuje hierarchiczną strukturę zasobów projektu. Po kliknięciu dowolnego folderu wyświetli szczegóły w prawym panelu. Na przykład na danym rysunku Prefabryki Folder jest klikany w lewym panelu, aby jego szczegóły były wyświetlane w prawym panelu, ponieważ zawiera dwa obiekty gry. W lewym panelu możesz zobaczyć Ulubione Sekcja, w której możesz przeciągać przedmioty, których chcesz bardzo często używać, aby uniknąć marnotrawstwa czasu w ich wyszukiwaniu. Powyżej, możesz zobaczyć Tworzyć Oprocony, który umożliwia tworzenie skryptu C#, folder, shader, skóra GUI, scena, prefabryka.

Okno konsoli

Okno konsoli to miejsce, w którym możesz zobaczyć swoje błędy, ostrzeżenia i wiadomości. Możesz je dostosować, klikając ich przyciski przełączające. Pozwala także wyczyścić wszystkie błędy, ostrzeżenia i wiadomości. Możesz zatrzymać błędy przez określony czas. Tutaj możesz zobaczyć na poniższym rysunku

Ikona rozwijana w bardzo prawym górnym rogu ma opcje dziennika edytora i rejestrowania śledzenia stosu.

Okno inspektora

Okno inspektora jest jednym z najciekawszych i użytecznych okien edytora. Jest to miejsce, w którym możesz edytować wszystkie właściwości wybranego obiektu gry. Każdy obiekt gry ma swój własny typ, więc ich właściwości będą inne, a okno inspektora może się różnić. Aktywa, skrypty i obiekty gry różnią się właściwościami. Zobaczmy właściwości kostki w oknie inspektora. Oto obraz:

Możesz zmienić nazwę obiektu gry, po prostu klikając poprzednią nazwę i wpisując nową. Następnie zobaczysz sekcję transformacji, w której możesz dostosować pozycję, obrót i skalowanie wybranego obiektu gry. W ostatnim widzisz nazwę przycisku jako Dodaj komponent, Kliknij go, aby dodać nowe komponenty do obiektu gry, na przykład, jeśli chcesz załączyć skrypt, po prostu kliknij Dodaj komponent i wpisz nazwę swojego skryptu.

Pasek narzędzi

Ostatni jest zakładka paska narzędzi, ma wiele przydatnych funkcji. Zawiera kilka podstawowych narzędzi do manipulowania widokiem sceny i obiektów. W centrum znajdują się przyciski do zabawy, pauzy i kontroli kroku. Następne dwa przyciski pokazują twoje konto chmury jedności i Unity. Oto postać, jak to wygląda:

Pierwsze kroki z Unity

Zacznijmy tworzyć nowy projekt w jedności, ponieważ czas grać z tym, czego się nauczyliśmy. Pojawi się dwukrotnie kliknij ikonę jedności następujące okno:

Wchodzić Nazwa Projektu, Wybierz miejsce pracy Lokalizacja a następnie wybierz typ swojego projektu 2D lub 3D. Kliknij Utwórz projekt.

Domyślnie zobaczysz scenę bez tytułu zawierającą główną kamerę i światło kierunkowe na scenie. Zacznijmy tworzyć środowisko.

Środowisko budowlane

Przede wszystkim utwórz samolot, klikając Utwórz -> 3D obiekt a następnie wybierz Samolot. Lub alternatywnie możesz go utworzyć, klikając GameObject -> Obiekt gry a następnie wybierz Samolot. Przejdź do okna hierarchii i kliknij obiekt gry samolotu. Teraz przejdź do okna inspektora i zmień nazwę jako Grunt. Teraz dostosuj wartości transformacji, aby ten samolot wyglądał jak prosta droga. Po prostu skala x do 6 i z do 50. Oto obraz, jak to wygląda

Teraz pobierz teksturę drogi i zastosuj ją na obiekt gruntowy. Utwórz nazwę folderu jako teksturę. Przeciągnij pobraną teksturę drogi do folderu tekstury. Teraz wybierz Grunt i przeciągnij teksturę drogi w widoku sceny. Oto obraz, jak to wygląda

To jest tekstura, którą pobrałem

Po zastosowaniu tekstury na ziemi kliknij podłoża i ustaw wnękę w oknie inspektora. Oto, jak to ustawiłem.

Teraz stworzyłeś model drogowy, stwórzmy model piłki w jedności.

Iść do Utwórz -> 3D obiekt a następnie wybierz Kula, Zobaczysz obiekt sfery w oknie sceny. Wybierz go i przejdź do okna inspektora, aby zmienić nazwę jako Piłka. Teraz odpowiednio dostosuj wartości transformacji. Po prostu skal go do 5 wzdłuż wszystkich trzech oś i zmieni się na centrum drogi. Oto jak to wygląda

Teraz stwórz ogrodzenie lub ścianę wokół drogi.

Iść do Utwórz -> 3D obiekt a następnie wybierz Sześcian. Wybierz go i zmień nazwę na Wall1. Przejdź do okna inspektora i ustaw wartości transformacji, aby wyglądało jak ściana wokół drogi. Oto, jak to wygląda:

Zobacz te wartości transformacji dla Wall1. Skala Y do 6 i Z do 500. Następnie dostosuj swoją pozycję, aby przybył w rogach drogi.

Teraz wyszukaj teksturę ścienną Pobierz ją i skopiuj do Tekstura folder w zasobach. Przeciągnij teksturę ściany do ściany w oknie sceny. Dostosuj uprawę, aby wyglądała ładnie i gładko. Dostosowałem kafelki jako x do 50 i y do 1.5. Po dostosowaniu kafelków, tak to wygląda

To jest tekstura, której użyłem do ściany

Stworzyliśmy ścianę dla jednej strony drogi. Teraz zrób to samo dla drugiej strony drogi. Zamiast przechodzić przez cały proces, możemy po prostu skopiować Wall1 i zmień nazwę na Wall2.

Wybierać Wall1 w oknie hierarchii, a następnie kliknij prawym przyciskiem myszy, a następnie wybierz Duplikować opcja. Utworzy inny obiekt gry o tym samym rozmiarze i wartości transformacji. Kliknij Wall1 (1) i zmień nazwę na Wall2. Teraz dostosuj pozycję, aby dotarła do drugiego rogu drogi.

Zobacz następujący obraz, jak fajnie wygląda

Moje wartości pozycji dla Wall2 to x do -29.6 lat do 2.6 i Z do 2.6.

Teraz stwórz materiał dla Piłka. Przejdź do okna projektu i utwórz folder, klikając prawym przyciskiem myszy, a następnie wybierz Teczka. Nazwij to jako Materiały. Ponownie kliknij prawym przyciskiem myszy i utwórz materiał. Nazwij to jako czerwona piłka. W oknie inspektora wybierz kolor materiału. Iść do Główne mapy i wybierz kolor albedo na czerwony. Zwiększ metaliczną teksturę, przewijając pasek w prawo. Przeciągnij ten materiał do Piłka W widoku sceny. Oto jak to wygląda

Oto jak wygląda materiał:

Skończyliśmy więc z rozwojem naszego środowiska. Teraz czas na kodowanie. W tym celu musimy stworzyć skrypt.

Skrypty w jedności

Aby wdrożyć własne funkcje rozgrywki i kontrolować zachowanie gry Unity, jako mechanizm scenariusza. Możesz napisać własny skrypt do pożądanego wyjścia gry. Za pomocą tych skryptów możesz wyzwolić zdarzenia gry, możesz zmienić właściwości komponentu i możesz odpowiedzieć na dane wejściowe użytkowników. Zasadniczo Unity obsługuje dwa różne języki programowania w celu skrypcji, jeden to C#, a drugi to javascript. Inne niż te dwa języki wiele innych .Języki netto mogą być również używane z Unity. Skrypty są znane jako komponent zachowania w jedności.

Tworzenie skryptu

Zacznijmy tworzyć skrypt jedności. W tym celu przejdź do okna zasobów i utwórz nowy folder o nazwie Skrypty (Możesz pominąć tworzenie nowych folderów dla każdego nowego rodzaju zasobów, ale jest to dobra praktyka do organizowania rzeczy). Oto, jak teraz wygląda okno moich zasobów:

Teraz otwórz Skrypty folder, kliknij prawym przyciskiem myszy, a następnie przejdź do Tworzyć i wybierz C# scenariusz. Zmień nazwę skryptu na Ruch. Tworzymy ten skrypt, aby poruszać i rzucić piłkę po drodze. Na razie piłka jest stacjonarna, nic nie robi, stwórzmy w niej trochę ruchu.

Kliknij dwukrotnie skrypt ruchu, który otworzy w mono. Jeśli twój skrypt jest zachowaniem mono, zobaczysz jakiś wstępnie pisany kod

za pomocą systemu.Kolekcje;
za pomocą systemu.Kolekcje.Ogólny;
używając UnityEngine;
Klasa publiczna Movementscript: Monobehaviour
// użyj tego do inicjalizacji
void start ()

// aktualizacja jest wywoływana raz na ramkę
void update ()

Możesz zobaczyć dwie funkcje start () i aktualizacja ().

Początek(): Funkcja uruchomienia służy do inicjalizacji zmiennych i obiektów. Jest wywoływany tylko raz, gdy skrypt jest włączony tuż przed jakimkolwiek innymi wywołaniami funkcji aktualizacji.

Aktualizacja(): Jest to funkcja zachowania mono, jest wywoływana raz w każdej ramce.

Poza tymi dwoma istnieje wiele innych funkcji zachowań mono na przykład Awake (), ustalonaDate (), późnoupdate () itp.

Aby najpierw przesunąć piłkę po drodze, aby uczynić ją sztywnym ciałem (jest to idealne ciało stałe, w którym zaniedbane jest deformacja). Wybierać Piłka w oknie hierarchii i kliknij Dodaj komponent przycisk w oknie inspektora. Wpisz sztywne korpus i naciśnij Wchodzić. Sztywne ciało przyczepi się do Piłka. Teraz przejdź do skryptu i utwórz prywatną zmienną typu Sztywność. Teraz przypisz sztywne ciało piłki do tej zmiennej, którą właśnie utworzyłeś w skrypcie.

prywatna sztywność RB;
rb = getComponent ();

Teraz napisz kod do ruchu tego sztywnego ciała. Jaki jest pomysł? Piłka powinna się poruszać, gdy naciskam klawisze strzałek na płycie klawiszy. Powinien iść do przodu po naciśnięciu klawisza w górę, do tyłu po naciśnięciu klawisza w dół.

Więc wejście do pochodzenia z klawiatury, jak powinienem uzyskać to dane wejściowe? Klasa wejściowa Unity ma nazwę funkcji Getaxis (), Zwraca wartość osi wirtualnej zidentyfikowaną według nazwy osi. Utwórz dwie zmienne jedną dla osi x i jedną dla wejścia osi y. Oto, jak to powinno być

float MoveHorizontal = Wejście.Getaxis („poziome”);

Teraz utwórz zmienną Vector3, aby uzyskać wartości ruchu.

Vector3 ruch = nowy Vector3 (MoveHorizontal, 0.0f, Moveverticle);

Pierwszy parametr to wartość osi x, druga to wartość osi y, a trzecia to wartość osi Z. Ponieważ piłka nie porusza się w kierunku osi y, więc przypisz do niej zero. Na koniec dodaj ten ruch do sztywnego korpusu i pomnóż ze stałą liczbą dla prędkości lub stwórz inną zmienną dla prędkości. Zobacz pełny kod poniżej

za pomocą systemu.Kolekcje;
za pomocą systemu.Kolekcje.Ogólny;
używając UnityEngine;
Ruch klasy publicznej: Monobehaviour
Publiczna prędkość pływania;
prywatna sztywność RB;
// użyj tego do inicjalizacji
void start ()
rb = getComponent ();

// stała aktualizacja jest wywoływana po ustalonej liczbie ramki
void stał
float MoveHorizontal = Wejście.Getaxis („poziome”);
zmiennoprzecinkowy wynik = wejście.Getaxis („poziome”);
Wektor3 ruch = nowy Vector3 (-1*Movehorizontal, 0.0f, -1*Moveverticle);
RB.Addforce (ruch * prędkość);

Ponieważ prędkość jest zmienną publiczną, dzięki czemu możesz przypisać wartość w oknie inspektora. Połącz ten skrypt do piłki, przeciągając go do okna inspektora lub naciskając Dodaj komponent przycisk. Naciśnij przycisk odtwarzania i przetestuj kodowanie albo piłka porusza się lub nie.

Ustawienie aparatu

Ostatnią rzeczą, którą zauważysz, to naciśnięcie przycisku do przodu, a piłka zaczyna się poruszać, wychodzi z kamery, ponieważ aparat jest stacjonarny. Co powinniśmy zrobić? Powinniśmy też przenieść aparat? Tak, to najprostsza rzecz. Zrób dziecko z kamery piłki, przeciągając główny aparat do piłki.

Wniosek

To był podstawowy samouczek wprowadzający, w którym nauczyłeś się wielu interesujących funkcji, budowania środowiska i scenariuszy w jedności. Nie wahaj się, zacznij tworzyć pierwszą grę z Unity i ciesz się!