Warsztat.GDCompo!ProjektyMediaArtykułyQ&AForumOferty pracyPobieranie

Opisz napotkaną sytuację, a redakcja niezwłocznie znajdzie rozwiązanie!

wyślij anuluj

06. Ćwiczenia 1

Tekst został importowany z Warsztatowych artykułów. Jego oryginalnym autorem jest Grzegorz Żak. Jeżeli został importowany poprawnie, usuń ten szablon!

W poprzednich częściach zebrało się na tyle materiału, że przydałoby się to przećwiczyć. Na tym poziomie końcowy efekt nie będzie imponujący, ale przybliży ci działanie silnika Unity.

Gotowy Projekt możesz pobrać stąd:
http://sendfile.pl/26166/cwiczenie1.rar

Zacznijmy od stworzenia nowego projektu.
File >> New Project.
Zaznacz kwadracik przy TerrainAssets.unityPackage
Za pomocą Browse. możesz wskazać lokalizację gdzie ma zostać zapisany projekt i zaimportowane Assety ze standardowej paczki z Assetami terenu. Zapamiętaj lokalizację. Może to chwile potrwać, więc bądź cierpliwy.

Możesz zmienić układ okien w edytorze. W tym celu najłatwiej jest kliknąć na przycisk Layout i wybrać odpowiedni dla siebie. Ja polecam Wide.
W sekcji Project pojawiły się zaimportowane Assety ze standardowej paczki. Dwa rodzaje trawy, tekstury i model palmy.
Zawsze po utworzeniu projektu lub sceny w sekcji Hierarchy pojawia się obiekt Main Camera. Podgląd z tej kamery widać w miniaturce pojawiającej się w oknie sceny. Po kliknięciu na Gizmo kamery. Nie będziemy go usuwać, bo przyda nam się w dalszej części.

Zapisz scenę z nazwą scena_cwiczenie_1
File
>> Save Scene As.

Stwórz dwa niewielkie obrazki np. w Paincie o różnych, jaskrawych, jednolitych kolorach i zapisz jako 1 i 2 z rozszerzeniem np. jpg lub bmp.
Stwórz folder Obrazki. W tym celu kliknij na strzałkę przy Create pod napisem Project i wybierz Folder. W project powstanie folder o nazwie New Folder. Zaznacz go i naciśnij F2. Wpisz nazwę Obrazki i zatwierdź Enterem.
Zaznacz folder Obrazki i wybierz z górnego menu:
Assets >> Import New Asset.
Znajdź obrazek 1 i kliknij Import
W folderze Obrazki pojawił się Asset o nazwie 1.
Drugą metodą jest bezpośrednie wklejenie w systemie Assetu do folderu Obrazki.
Skopiuj obrazek 2. Wejdź w systemie do głównego folderu projektu. Zobaczysz tam 3 foldery.  Nas będzie obchodził folder Assets. W folderze Obrazki wklej obrazek 2. Prawdopodobnie będzie on tak mały, że nawet nie zauważysz jak edytor go importuje. Gdybyś wrzucał większy Asset musiałbyś poczekać, aż edytor go przetworzy.

Stwórzmy pusty GameObject w Hierarchy.
GameObject >> Create Empty
W Hierarchy pojawi się obiekt o nazwie GameObject. Kliknij na niego i przyjrzyj się Inspectorowi. Nawet pusty GameObject posiada trzy parametry lokalizacji: Position, Rotation i Scale. Zmień jego nazwę na drzewo1.

W Project znajdź model drzewa Palm. Możesz skorzystać z wyszukiwarki znajdującej się poprawo od napisu Create w widoku Project. Przeciągnij go na GameObject drzewo1. Od tej pory drzewo widać na scenie.

Zaznacz folder Trees Ambient-Occlusion i stwórz pusty Prefab:
Assets >> Create >>Prefab
W folderze Trees Ambient-Occlusion pojawił się Prefab z ikoną koloru szarego. Kolor ten oznacza, że jest on pusty. Kliknij na niego i zobacz, że nawet nie posiada Transforms. Na razie nie da się z niego utworzyć obiektu na scenie. Zmień jego nazwę na drzewoPrefab.

Przeciągnij model Palm na drzewoPrefab. Kolor ikonki Prefabu zmieni się na niebieski. Od teraz możesz tworzyć jego kopie na scenie.

Stwórz 3 kopie Prefabu przeciągając drzewoPrefab na Hierarchy. Kopie mają tą samą nazwę co oryginalny Prefab. Zmień ich nazwy kolejno na drzewoPrefab1, drzewoPrefab2 i drzewoPrefab3.

Stwórz imitację podłoża korzystając ze standardowego GameObject'u Plane:
GameObject >> Create Other >> Plane
Charakteryzuje się on tym, że widać go z jednej strony i nie posiada wysokości.
Zmień jego nazwę na Podloze.

Zmień jego wielkość i położenie za pomocą Inspectora.
Kliknij na Podloze. W Inspectorze odnajdź komponent Transform.
W Position wpisz współrzędne (0, 0, 0). W Scale wstaw (20, 1, 20).

Wszystkie drzewa nakładają się na siebie, bo posiadają tą samą rotację i pozycję. Zaznacz  GameObject z drzewem i skorzystaj z Transform Tools do zmiany pozycji i rotacji obiektów. Zmień pozycję każdego z drzew tak, żeby się nie nakładały i stały na podłożu. Poćwicz trochę poruszanie się po scenie, żeby nabrać wprawę.

Zaznacz oryginalny Prefab drzewoPrefab.  W Inspectorze znajdź dwa obrazki. Są to tekstury modelu. Kliknij na Select na obrazku. Zamień pierwszą teksturę na obrazek 1, a drugą teksturę na 2 z folderu Obrazki. Zobacz zmiany na scenie.

Stwórz pusty GameObject. Nazwij go Drzewa. Zmień Position w komponencie Transforms na (0, 0, 0). Przeciągnij drzewoPrefab1, drzewoPrefab2 i drzewoPrefab3 na Drzewa. Stworzyłeś w ten sposób połączenie rodzic-dziecko(parent-child) pomiędzy GameObject'ami. GameObject Drzewa jest rodzicem(parent), pozostałe GameObject'y drzewoPrefab1, drzewoPrefab2 i drzewoPrefab3 są dziećmi(children). Zaznacz rodzica i używając paska Transform Tools zmieniaj jego pozycję i rotację. Zauważ, że zmieniając pozycję i rotację rodzica zmienia się pozycja i rotacja jego dzieci.

Stwórz folder Skrypty w widoku Project. Zaznacz go  i wstaw do niego pusty plik, do którego możesz wstawić kod JavaScript(JS);
Assets >> Create >> JavaScript
Zmień jego nazwę na skryptRotacja.

Zaznacz skryptRotacja i w Inspectorze kliknij Edit.
Wstaw do niego skrypt:

1var obiekt:Transform;
2var szybkosc:int = 5;
3function Update()
4{
5 obiekt.transform.Rotate(0,szybkosc,0);
6}

Zapisz zmiany:
File >> Save

Stwórz pusty GameObject i nazwij go Rotacja. Przeciągnij na niego skryptRotacja.
Zaznacz GameObject Rotacja i w Inpectorze znajdź komponent Skrypt Rotacja. Zawiera on nazwę skryptu i wartości zmiennych. Na razie nie będę zagłębiał się w część programistyczną. Tylko ogólnie wyjaśnię do czego służą zmienne.

Zmienne(variables) w programowaniu są odpowiednikiem zmiennych matematycznych, a dokładniej ich rozszerzeniem. Oprócz liczb zmienne programistyczne w unity mogą zawierać tekst, a nawet modele 3d.

W  Unity wartości zmiennych można nadawać bezpośrednio w kodzie programu lub wpisując je w Inspectorze, z wyjątkiem zmiennych private, ale o tym później.

Po zaznaczeniu GameObject'u Rotacja możesz zmienić wartości zmiennych. Jedna z wartości jest typu liczbowego, druga typu Transform, czyli zawiera macierz położenia. Zmienna szybkosc standardowo ma wartość 5. Nie zmieniaj jej. Zajmiemy się zmienną obiekt.
Kliknij na niewielkie kółko po prawej stronie wartości zmiennej obiekt. Pojawi się okno wyboru. Kliknij w nim na zakładkę Scene i wybierz GameObject Drzewa.

Kliknij znaczek(Gizmo) kamery na scenie i przyglądając się miniaturce widoku z kamery, ustaw ją tak, żeby obejmowała całe podłoże z drzewami.

Przejdź do Widoku Game i kliknij na Maximize on Play. Następnie kliknij na przycisk Play, żeby symulować działanie gry. Gra uruchomi się w trybie "pełnoekranowym".
Na scenie będzie dość ciemno ponieważ nie ma dodanego źródła światła.
Dużo jaśniej będzie w Widoku Scene. Przejdź do niego i zobacz jak to wygląda na scenie.

Zobaczysz 3 obracające się drzewa wokół jednego punktu, którym jest położenie ich rodzica(Drzewa) i jedno niezmieniające swojego położenia drzewo nie będące dzieckiem GameObjectu, który jest wartością zmiennej obiekt. Prędkością obrotu możesz sterować zmieniając wartość zmiennej szybkosc. Po wyłączeniu trybu Play. Wartości zmiennych powrócą do tych sprzed włączenia trybu symulacji gry.

Przed przejściem do kolejnego etapu zapisz scenę i projekt.

Przejdź do okna publikacji:
File >> Build Settings.
Obecnie wybrana platforma ma przy sobie po prawo logo unity. My skorzystamy z publikacji na PC and Mac Standalone. Jeśli masz wybraną inną platformę, to zaznacz PC and Mac Standalone i kliknij Switch Platform.
Wybierz platformę docelową np. Windows.

Skorzystaj z przycisku Add Current, żeby dodać aktualną scenę do kolejki budowy. Nadany został jej index 0 widoczny po prawo. Scena z indexem 0 jest uruchamiana jako pierwsza. W naszym przypadku nie będzie z tym problemy, bo mamy tylko jedną scenę.
Kliknij na Build And Run, żeby opublikować swoje wyniki pracy. Określ dowolną nazwę i lokalizację poza folderem Assets i Zapisz.
Po przetworzeniu uruchomi się okno wyboru: rozdzielczości, jakości grafiki i trybu odtwarzania. Upewnij się, że masz zaznaczony kwadracik Windowed, żeby aplikacja otworzyła się w oknie, ponieważ nie masz napisanej opcji wyjścia z trybu pełnoekranowego. Kliknij na przycisk Play!.
W wersji bezpłatnej pojawi się logo Unity. Po krótkim czasie otworzy ci się widok z kamery Main Camera z obracającymi się drzewami.

To na razie wszystko jeśli chodzi o ćwiczenia.
W kolejnych częściach zajmiemy się tworzeniem mapy od podstaw, wliczając w to teren, teksturowanie,  roślinność, wodę, niebo, oświetlenie, wstawianie modeli i prosty przykład chodzenia po mapie.



by Grzegorz Żak (sztacheta28) Forum o Unity

Tekst dodał:
Grzegorz Żak
04.08.2011 21:51

Ostatnia edycja:
Grzegorz Żak
04.08.2011 21:51

Kategorie:

Aby edytować tekst, musisz się zalogować.

# Edytuj Porównaj Czas Autor Rozmiar
#1 edytuj 04.08.2011 21:51 Grzegorz Żak 12.33 KB
Zwykły
Do sprawdzenia
Do akceptacji
  • Napisz komentarz:
    Aby dodać swój komentarz, musisz się zalogować.
Licencja Creative Commons

Warsztat używa plików cookies. | Copyright © 2006-2017 Warsztat · Kontakt · Regulamin i polityka prywatności
build #ff080b4740 (Tue Mar 25 11:39:28 CET 2014)