# data[].attributes.body
Wszystkie wideotutoriale najlepiej jest otwierać w nowym oknie

# data[].attributes.body
Na poprzednich zajęciach

1. Stworzyliśmy postać gracza w programie MakeHuman

2. Przystosowaliśmy go do warunków gry (zapisaliśmy model w formacie FBX).

3. Dodaliśmy animację ruchu

4. Dostosowaliśmy warunki przejścia z trybu animacji Idle w tryb Walk (w oknie Animatora)

5. Zaprogramowaliśmy  skrypt sterowania graczem(ZygmuntGo.cs).

# data[].attributes.body
1. Stwórz nowy projekt Unity 3D
2. Zaimportuj do niego pakiet PrzykladowyModelSwiata3D.unitypackage
pobrany z dysku Google. Tam znajdziesz scenę o nazwie poziom1 która zawiera przykładową mapę
3. Stwórz nową scenę o nazwie poziom2.

# data[].attributes.body
1. Na nowej scenie zbuduj własną mapę gry zawierającą
a. podłoże z prostopadłościanu,
b. trójwymiarowe
budynki(cube),
c. drzewa(sphere+cylinder lub cubes aby uzyskać drzewo typu minecraft),
d. mury z pojedynczych cegieł,
e. stanowiska obronne (korpus+lufa).
Wszystkie niezbędne elementy znajdziesz w menu GameObject/3D Object/Cube, Sphere, itd.

# data[].attributes.body
Pokoloruj stworzone obiekty
1. najpierw utwórz folder Materialy
2. w folderze Materialy stwórz nowy materiał menu Assets/Create/Material
3. w Inspektorze zmień kolor materiału, ewentualnie poeksperymentuj z innymi ustawieniami
4. przypisz nowy materiał danemu obiektowi przeciągając myszą materiał na obiekt na scenie

# data[].attributes.body
Obiekty wielokrotnie używane zmień na prefabrykaty (cegła, drzewo, moździerz, działo)

# data[].attributes.body
Nie musisz się nimi przejmować, bo Unity dodaje odpowiedni collider do każdego obiektu 3D

# data[].attributes.body
Zadaniem dodatkowym jest skonstruowanie prostego pojazdu – czołgu wyposażonego w komponent RigidBody

Jak widać na obrazku poniżej, wszystkie elementy składowe pojazdu są podłączone jako dzieci pustego GameObjectu Czolg

Jeśli chodzi o kolajdery, to najlepiej usunąć je ze wszystkich elementów składowych i dodać jeden  BoxCollider obejmujący cały pojazd - jak na rysunku poniżej

# data[].attributes.body
1. Stwórz skrypt (rys.) uruchamiający Twój pojazd
2. Dodaj skrypt jako komponent do obiektu Czołg
3. Przetestuj działanie czołgu

# data[].attributes.body
1. Kamera ma śledzić Twój pojazd w czasie gry, więc podłącz ją jako dziecko obiektu Czołg

2. Ustaw kamerę w taki sposób, aby jak najlepiej widzieć w czasie gry zarówno czołg jak i jego najbliższe otoczenie

# data[].attributes.body
Możesz stworzyć skrypt obracający wieżyczkę czołgu i podłączyć go do obiektu Wieżyczka w Czołgu.

Poniżej jest link do podręcznika Unity z kodami poszczególnych klawiszy

# data[].attributes.attachment_link.readable_text
enumeration

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

# data[].attributes.attachment_link.description
enumeration Suggest a change Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable. For some reason your suggested change could not be submitted. Please try again in a few minutes.

# data[].attributes.body
Część 1 - stworzenie pocisku i skryptu strzelanie

# data[].attributes.body
Część 2 - pocisk pojawia się przed lufą

# data[].attributes.body
cały skrypt

# data[].attributes.body
Część 3 - lot pocisku

# data[].attributes.attachment_link.readable_text
Use the Unity Editor to create 2D and 3D games, apps and experiences. Download the Editor at unity3d.com.

The Unity User Manual helps you learn how to use the Unity Editor and its associated services. You can read it from start to finish, or use it as a reference.

If it's your first time using Unity, take a look at the introductory documentation on Working with Unity, and see the Unity Tutorials.
Packages

Learn about packages: Working with the Package Manager

Find documentation for a specific package: When a package passes release cycle testing for a specific version of Unity, it receives the See in A See in Verified packages Preview packages preview package is in development and not yet ready for production. A package in preview might be at any stage of development, from the initial stages to near completion.
Glossary Verified For designation. This means that these packages are guaranteed to work with the designated version of Unity.
Glossary and

Learn how to build a custom package: Creating custom packages

Unity User Manual sections

All of the Unity Editor's 2D-specific features including gameplay, A 2D graphic objects. If you are used to working in 3D, Sprites are essentially just standard textures but there are special techniques for combining and managing sprite textures for efficiency and convenience during development. See in sprites More info
Glossary and physics.

The visual aspects of the Unity Editor including A component which creates an image of a particular viewpoint in your scene. The output is either drawn to the screen or captured as a texture. See in cameras More info
Glossary and lighting.

Simulation of 3D motion, mass, gravity and A collision occurs when the physics engine detects that the colliders of two GameObjects make contact or overlap, when at least one has a Rigidbody component and is in motion. See in collisions More info
Glossary .

Useful if you are maintaining legacy projects.

Further sources of information

Unity Answers or Unity Forums - here you can ask questions and search answers.

The Unity Knowledge Base - a collection of answers to questions posed to Unity's Support teams.

Tutorials - step by step video and written guides to using the Unity Editor.

Unity Ads Knowledge Base - a guide to including ads in your game.

A growing library of free and commercial assets created by Unity and members of the community. Offers a wide variety of assets, from textures, models and animations to whole project examples, tutorials and Editor extensions. See in Asset Store help - help on Asset Store More info
Glossary content sharing.

Known issues

Is a feature not working as you expect it to? It might be an existing Known Issue. Please check using the Issue Tracker at issuetracker.unity3d.com.

# data[].attributes.attachment_link.description
Use the Unity Editor to create 2D and 3D games, apps and experiences. Download the Editor at unity3d.com. The Unity User Manual helps you learn how to use the Unity Editor and its associated services. You can read it from start to finish, or use it as a reference.

# data[].attributes.headline
Tu znajdziesz pakiet z przykładowym światem 3D

# data[].attributes.subject
Tu znajdziesz pakiet z przykładowym światem 3D

# data[].attributes.attachment_link.readable_text
Ta sekcja jest kluczem do rozpoczęcia korzystania z Unity. Wyjaśni interfejs Unity, jak dostosować środowisko pracy do własnych potrzeb, pracę z assetami, tworzenia scen i jak opublikować gotowy projekt.

Po zakończeniu czytania tej sekcji będzie zrozumieć, jak działa Unity, jak go używać efektywnie.

Nauka interfejsu - Jest wiele do nauczenia, więc trochę trzeba czasu, obserwacji i zrozumiesz interfejs. Będziemy przechodzić przez każdy element interfejsu razem.

Praca z Assetami - Tutaj będziemy wyjaśniać kroki w celu wykorzystania jednego składnika assetu z Unity. Kroki te mają charakter ogólny i są przeznaczone tylko jako przegląd podstawowych działań.

Tworzenie scen - Sceny zawirają obiekty w grze. W każdej scenie, będzie miejsce Twojego środowiska, przeszkody i dekoracji, projektowania i budowania swojej gry w kawałkach.

Publikacja - W każdej chwili podczas tworzenia gry, możesz zobaczyć jak to wygląda, by zbudować i uruchomić ją na zewnątrz edytora jako gracz samodzielny lub przez internet. Ten rozdział wyjaśnia jak uzyskać dostęp do ustawień Budowy i jak tworzyć różne wersje swoich gier.

Tutoriale - Te samouczki online, pozwolą Ci pracować z Unity, zapewniając praktyczne doświadczenie w budowaniu rzeczywistych projektów.

# data[].attributes.attachment_link.description
Ta sekcja jest kluczem do rozpoczęcia korzystania z Unity. Wyjaśni interfejs Unity, jak dostosować środowisko pracy do własnych potrzeb, pracę z assetami, tworzenia scen i jak opublikować gotowy projekt. Po zakończeniu czytania tej sekcji będzie zrozumieć, jak działa Unity, jak go używać efektywnie.

# data[].attributes.attachment_link.readable_text
Podstawy podstaw. Czyli wszystko o interfejsie Unity3d, oraz jego podstawowych funkcjach i możliwościach. Początek większego kursu w Unity3d.

Jeżeli czytasz ten tekst, zakładam że interesuje Cię Game Development, czyli tworzenie gier. Zacznijmy od zera. Czym jest Unity3d? Jest to dość rozbudowany, darmowy silnik gier (game engine), który pozwoli Ci stworzyć dowolną grę komputerową. Oczywiście musisz mu dostarczyć modele, napisać skrypty itp. Jednak jest to narzędzie o dużych możliwościach, trzeba tylko poświęcić trochę czasu żeby je poznać.

Domyślam się że już teraz masz wiele pytań na temat tego silnika. Dlatego oferuję małe FAQ:

Kurs C#

Jeżeli do tej pory nie miałeś styczności z językami programowania i patrzenie na skrypty przyprawia Cię o ból głowy, stworzyłem prosty kurs dla opornych i leniwych. Nie zrobi z Ciebie programisty C#, ale pozwoli zrozumieć jak działają skrypty, jak się je pisze i do czego służą. Wszystko łopatologicznie i po najmniejszej linii oporu:
Kurs C# dla Leniwych pod Unity3d
Kompletne tutoriale:
Kompletna gra FPS w 3D
Unity3d - FAQ:

Skąd mogę pobrać Unity3d?
Możesz to zrobić z oficjalnej strony Unity: http://unity3d.com/unity/download

Czy Unity3d jest darmowe?
Owszem. Sam silnik jest darmowy i pozwala na komercyjną publikację gier za darmo. Jednak w licencji jest zapis, który mówi że w momencie kiedy zarobisz na swoich produktach ponad $100 000, musisz kupić wersję pro, wartą $1000. Można też zdecydować się na abonament $85 miesięcznie.

W jakim języku mogę pisać skrypty w Unity3d?
Do wyboru masz 3 języki: C#, JavaScript, Boo. Przy czym C# ma aspirację do bycia oficjalnym językiem.

W jakim języku najlepiej pisać?
Wg. mnie i wielu osób C#. Dlaczego akurat on, już pisałem szerzej.

Skąd mogę wziąć grafikę do gry?
Oczywiście możesz ją zrobić sam za pomocą jakiegoś programu graficznego. Możesz skorzystać z jakiegoś portalu z assetami. Unity udostępnia również sklep z assetami (elementami gry), gdzie część dostępna jest za darmo: https://www.assetstore.unity3d.com/ Do tego w internecie znajdziesz wiele różnych innych darmowych grafik.

Na jakie platformy mogę stworzyć grę w Unity3d?
Chyba na wszystkie. Serio! Windows, Linux, Mac, Android, PS3, PS4, XBox360, XBox One, Przeglądarkowe, Blackberry. Obecnie jest 21 platfom!

Jakie programy polecasz do tworzenia assetów?
Grafika 2D: Darmowe: GIMP, Graphics Gale
Grafika 3D: Darmowe: Blender, Wings 3D, Milkshape 3D ; Płatne: 3D Studio Max, Maya, Zbrush
Muzyka: Darmowe: FL-Studio

Co potrzebuję żeby zacząć pracę z Unity3d?
Trochę dobrych chęci, czasu i zapału. Na początek przyda się jakiś tutorial np. taki jak ten. :)

Unity3d - Słowniczek

Zanim zaczniemy, wypadałoby przyswoić podstawowe pojęcia:

GameObject - Jest to każdy element, znajdujący się w scenie gry. Postać gracza, kamera, beczka. Obiekty mogą zawierać w sobie kilka innych obiektów (być dla nich rodzicem - jest to relacja parent-child z ang. rodzic-dziecko). Występuje też obiekt pusty. Czyli coś co istnieje w świecie gry, ale go nie widać. Najczęściej służy do grupowania innych obiektów.

Komponent - Jest to część składowa obiektu. Na jeden obiekt, może przypadać wiele komponentów i właściwie one definiują czym dany obiekt jest. Każdy komponent posiada swoje parametry (zmienne), które przechowują wartości definiujące komponent. Np. dla komponentu transform, opisującego położenie obiektu w świecie gry, zmiennymi będą położenie na osiach x, y, z. Mówiąc najprościej: Komponenty definiują obiekt.

Assety (Zasoby) - Najprościej można powiedzieć, że zasobami jest wszystko z czego będziemy budować grę: Sceny, prefabrykaty, tekstury, dźwięki itd. To wszystko możemy znaleźć w panelu Project.

Scene (Scena) - To pojedynczy obszar gry. Np. jeden z jej poziomów, czy obszar, który ma się załadować niezależnie od reszty. (Menu gry, może również być poziomem).

Prefab (Prefabrykaty) - Jeżeli jakiś model pojawia się w grze często lub możemy potrzebować jego nieograniczoną ilość, np. pocisk, czy przeciwnik, tworzymy wtedy prefabrykat. Jest to matryca, na podstawie, której, Unity potrafi stworzyć dowolną ilość takich obiektów w grze, w dowolnym miejscu i czasie.

Skrypty - Czyli kod napisany w jednym z dozwolonych w Unity języków (C#, JavaScript, Boo). To one dają moc sprawczą naszej grze. W głównej mierze, odpowiadają za to że możemy z grą prowadzić interakcję. Skrypty w Unity3d możemy edytować w domyślnym IDE jakim jest MonoDevelop. Osobiście go lubię i nie narzekam. Aby go uruchomić, wystarczy dwukrotnie kliknąć na skrypt w panelu Project.

Interface - Czyli ogólny wygląd programu, omówiony szczegółowo w następnym punkcie.

Tworzenie projektu

Załóżmy, że pobrałeś Unity 5.0 i uruchomiłeś je. Pierwsze okienko jakie zobaczysz, to coś takiego:

Co tutaj mamy? Na samym środku, mamy listę ostatnio otwieranych projektów. W górnym panelu po lewej są dwie zakładki. Projects, czyli ta w której jesteśmy, oraz Get Started, czyli krótki filmik jak zacząć z Unity.

Po prawej są dwa przyciski. Open other - pozwala otworzyć już istniejący projekt (jeżeli został napisany w poprzedniej wersji Unity, silnik sam dokona konwersji!). New project, tworzy nowy projekt - zaraz to omówimy.

Na dole mamy kilka linków, do społeczności, dokumentacji i oficjalnych (po angielsku) tutoriali Unity.

Jeżeli wybrałeś opcję "New project", pojawi Ci się takie okno. Opcje są banalne. Podajesz nazwę projektu, lokację na dysku dla projektu, perspektywę w jakiej będziesz tworzyć grę (2D lub 3D). Czym one się różnią opisałem dokładniej w innym artykule. Ostatnia opcja to Asset packages. Czyli domyślne paczki assetów, dostarczone przez Unity. Są bardzo przydatne i wygodne. Jeżeli klikniesz ten przycisk, trafisz na następujące okienko:

Tutaj, możemy sobie zwyczajnie pozaznaczać, jakie pakiety nas interesują. Nie bój się, jeśli czegoś zapomnisz, da się to dodać później.

Unity3d - Interface

Zacznijmy od budowy interface'u programu. Bez tej elementarnej wiedzy nie mamy się za co zabierać.

Obrazek powyżej przedstawia nam całe okno programu. Każdemu elementowi (panelowi) przyjrzymy się z bliska i każdy z nich opiszę oddzielnie.

Panel Scene (Scena). Jest to nasza piaskownica. Tutaj wrzucamy wszystkie elementy gry i układamy je w spójną całość. W prawym górnym rogu mamy różę kierunków, której możemy użyć do nawigacji poza typowym sterowaniem (Sterowanie omówię w późniejszym podrozdziale). U samej góry mamy kilka przycisków.

Tryb rysowania - Domyślnie z teksturami. Trybem możemy manipulować, jeśli interesuje nas jakiś inny aspekt gry. Np. chcemy zobaczyć krawędzie modeli.

Wymiar - Od wersji 4.0 Unity3d dostarcza narzędzia developerskie 2D. Przycisk ten pozwala przełączyć się na tryb 2D aby uprościć nawigację, gdy robimy grę korzystającą z 2 wymiarów.

Oświetlenie - Umożliwia włączenie lub wyłączenie oświetlenia.

Dźwięk - Pozwala wyciszyć dźwięki.

Efekty - Pozwala ukryć efekty jak SkyBox czy flary czy mgłę.

Gizmos - Przycisk po prawej odpowiada za wyświetlanie ikonek z podpowiedziami. Na screenie widać małą ikonkę kamery. W opcji Gizmos możemy zmienić rozmiar tych ikonek, albo wyłączyć wyświetlanie niektórych z nich itp.

Panel Game (Gra). Jest on trochę analogiczny do panelu sceny. Różnicą jest fakt, że to co zobaczymy w tym okienku, jest tym samym co zobaczy gracza w momencie grania. Dokładniej jest to widok z kamery ustawionej jako kamera główna. Mamy tutaj tylko kilka ustawień:

Aspect Ratio - Czyli proporcja ekranu. Możemy sobie sobaczyć, jak gra będzie wyglądała na innej rozdzielczości niż nasza.

Maximize On Play - Rozszerza okno gry na cały ekran, w momencie jej uruchomienia.

Mute Audio - Po prostu wyłącza dźwięk w grze.

Stats - Pokazuje statystyki gry, takie jak np. ilość klatek na sekundę (Frame Per Second - FPS).

Gizmos - Tak jak w przypadku sceny, pozwala ukryć lub zmienić ustawienia wyświetlania ikonek.

Panel Project (Projekt) - Ten panel nie wymaga zbytniego komentarza bo jest najbardziej oczywisty: Są to po prostu wszystkie pliki, przypisane do naszego projektu znajdujące się na dysku. Możemy je przeglądać, filtrować (Do tego służy pasek wyszukiwania u góry), oraz dodawać nowe (Przycisk Create po lewej).

Panel Console (Konsola) - Ten panel jest nam bardzo przydatny gdy zajmujemy się pisaniem skryptów. To tutaj zostaniemy poinformowani o wszystkich błędach, oraz zostaną tu wyświetlone dane pomocnicze, gdy sobie je wypiszemy za pomocą komendy Debug.Log.

Clear - Czyści panel.

Collapse - Przewija zawartość panelu do najnowszych błędów.

Clear On Play - Czyści panel, przy każdym uruchomieniu gry.

Error Pause - Pauzuje grę, gdy pojawi się jakiś błąd.

Przyciski z prawej strony służą do filtrowania powiadomień, kolejno: Informacje (Info), Ostrzeżenia (Warning), Błędy (Error).

Panel Hierarchy (Hierarchia) - Jeden z dwóch ważniejszych paneli w grze. Mamy tutaj oznaczone wszystkie elementy składowe będące na scenie. Zaznaczone mamy ich zawieranie (Tutaj: First Person Controller, posiada pod sobą dwa obiekty podrzędne: Graphics oraz Main Camera). Zaznaczone też mamy typy obiektów. Zwykłe obiekty są zaznaczone na czarno. Niebieskie są to Prefabrykaty. Możemy tutaj również wyszukiwać, oraz tworzyć nowe obiekty.

Panel Inspector (Inspektor) - Chyba najważniejszy z paneli. W nim zawierają się wszystkie informację o danym obiekcie. Jego nazwa, tag, warstwa na której się znajduje oraz komponenty ze swoimi parametrami. Wygląda bardzo skomplikowanie, ale nie wszystkiego zawsze użyjesz.

Unity3d - Podstawowe funkcje i sterowanie
Sterowanie
Najbardziej podstawową kwestią jest sterowanie: W górnym lewym rogu ekranu, mamy do dyspozycji 5 przycisków

Hand (ręka ; skrót: Q) - Służy do przemieszczania się po panelu sceny. Klikając lewy klawisz myszy, możemy przesuwać kamerę, zaś klikając prawym "rozglądać się". Jeśli trzymamy prawy klawisz myszy, możemy też sterować za pomocą klawiszy: WSADQE. Gdzie: WS to przybliżanie i oddalanie, a ADQE, to poruszanie kamerą w linii prostej. Jeżeli przytrzymamy klawisz Alt i wtedy klikniemy prawy klawisz myszy, możemy zoomować, ale to samo osiągamy kółkiem myszy.

Translate (translacja ; skrót: W) - Służy do manipulacji obiektami w oknie sceny. Możemy wybrać obiekt i zmienić jego położenie przeciągając, lub korzystając z uchwytów.

Rotate (obrót ; skrót: E) - Również pozwala na manipulacje obiektem, jednak tym razem chodzi o jego obrót.

Scale (skala ; skrót: R) - Jak wyżej, jednak chodzi o skalowanie.

Transform (przekształcenie swobodne ; skrót: T) - Najbardziej ogólne przekształcenie obiektu. Widzimy zaznaczone jego 4 rogi, którymi możemy swobodnie manipulować.

Dwa dodatkowe przyciski obok pozwalają zmienić punk zaczepienia lub tryb. Punkt zaczepienia można wybrać jako "Center" albo "Pivot" czyli środek obiektu lub podstawa. Najwyraźniej widać o co chodzi, gdy wybierzesz sobie narzędzie translacji, zaznaczysz jakiś obiekt i pozmieniasz tryb. Druga opcja to czy rotacja obiektu ma się odbywać po jego lokalnych osiach, czy po osiach globalnych. Co to znaczy? Jeśli obiekt jest childem innego obiektu, to jego rotacja odbywa się względem obiektu macierzystego, zmieniając tę opcję, można zmusić go do obrotu względem świata.

Jak widać, podstawowe narzędzia odnoszą się do podstawowego komponentu obiektów, jakim jest komponent: Transform. Przydatną sztuczką jest jeszcze korzystanie z klawisza F. Jeżeli mamy zaznaczony dowolny obiekt, kliknięcie F w obszarze scene, wycentruje nam obraz na tym właśnie obiekcie (przydatne, do znajdowania zagubionych obiektów)
Uruchamianie gry
Ten mały niepozorny panel, pozwala nam testować naszą grę. Ikonki są dość jednoznaczne. Pierwsza uruchamia grę - po uruchomieniu zmienia się w kwadrat stopujący grę. Drugi przycisk to pauza, a ostatni to uruchomienie jednej klatki gry.

Uwaga odnośnie tego elementu jest taka, że w trakcie gry można zmieniać parametry obiektów w niej występujących za pomocą panelu Inspector. Np. w czasie gry zmienić obrażenia zadawane przez broń. Jednak po wyjściu z trybu grania, ustawienia zostaną przywrócone do tych sprzed uruchomienia gry.
Warstywy
W Unity jak w różnych programach graficznych mamy do czynienia z warstwami. Pierwszy z paneli pozwala nam na ustawienie, które warstwy mają się wyświetlać. Warstwy sami możemy tworzyć i ustawiać obiekty na danych warstwach. Layout to przycisk pozwalający szybko zmienić układ okienek edytora Unity na jeden z predefiniowanych.
Dodawanie obiektów
Kolejnymi podstawowymi funkcjami jest dodawanie obiektów i komponentów. Możemy to zrobić na wiele sposobów!

Menu - Podstawowym w obu przypadkach skorzystanie jest z menu na samej górze (Pola gameObject i Component). Aby dodać komponent, w tej metodzie, trzeba mieć zaznaczony obiekt.

Przeciągnij i upuść (Drag & Drop) - Tyle wystarczy! Aby dodać obiekt, wystarczy przeciągnąć go z panelu Projekt do Sceny lub do Panelu Hierarchii. Analogicznie, aby dodać komponent (najczęściej skrypt), wystarczy go przeciągnąć z panelu Projekt, na odpowiedni obiekt w panelu Hierarchii, panelu sceny lub do panelu Inspektor. To ostatnie zadziała, jeżeli akurat mamy zaznaczony dany obiekt - inaczej nie będziemy widzieć jego komponentów w panelu Inspector.
Ta technika działa również jeśli chcemy do dowolnej zmiennej jakiegoś komponentu przypisać wartość. (Np. Zmienną w skrypcie jest typu AudioSource, więc odpowiedni dźwięk, możemy zwyczajnie przeciągnąć w odpowiednie miejsce).

Przycisk Create - Na zdjęciach interfaceu, były widoczne przyciski Create dla panelu Hierarchii oraz Projektu. Z nich również można skorzystać aby dodać obiekt.

Przycisk Add Component - Na jednym ze zdjęć, widać było panel Inspektora, gdzie na samym dole był wspomniany przycisk. Jak się pewnie domyślacie, również się nada.

Oczywiście nie trzeba znać wszystkich metod. Wystarczy wybrać sobie najwygodniejsze!
Zmiana nazwy obiektu
Następna warta wspomnienia rzecz to zmiana nazwy plików i obiektów. Na to również jest wiele sposobów. Opiszę dwa, z których ja korzystam.

Przycisk F2 - Jeśli mamy zaznaczony obiekt, klikamy F2 i możemy zmieniać nazwę.

Dwukrotne kliknięcie myszą - między kliknięciami powinna być lekka przerwa. (Dwukrotne szybkie kliknięcie, wycentruje nam obiekt w panelu scene!)

Tutorial - FAQ

Czemu tutorial nie jest w formie wideo?
Myślałem o tym i możliwe że będę dokładał wersję wideo, jeśli zapanuję nad sprzętem i wymyśle na to fajną i ciekawą formę.

Czym to się różni od Unity3d QuickTip?
W Unity3d QuickTip, rozwiązuje proste problemy oderwane od całej otoczki. Tutaj chce stworzyć spójny kurs.

Co zrobić aby być na bieżąco?
Możesz obserwować mnie na FaceBooku, Google+ lub Twitterze. Nowe wpisy są tam wrzucane zaraz po pojawieniu się na blogu. Linki do obserwacji znajdziesz na stronie "Współpraca", albo w stopce strony.

Co jeśli mam pytania/sugestie/uwagi?
Komentuj na blogu lub na FaceBooku, postaram się odpowiedzieć.

# data[].attributes.attachment_link.title
Unity3d Tutorial #0 - Podstawy podstaw. Czyli niezbędnik użytkowania Unity

# data[].attributes.attachment_link.description
Podstawy podstaw. Czyli wszystko o interfejsie Unity3d, oraz jego podstawowych funkcjach i możliwościach. Początek większego kursu w Unity3d. Jeżeli czytasz ten tekst, zakładam że interesuje Cię Game Development, czyli tworzenie gier. Zacznijmy od zera. Czym jest Unity3d? Jest to dość rozbudowany, darmowy silnik gier (game engine), który pozwoli Ci stworzyć dowolną grę komputerową.

# data[].attributes.body
https://docs.unity3d.com/Manual/index.html

http://wiki.unity3d.pl/doku.php?id=unity_manual:unity_basics

https://mwin.pl/unity3d-tutorial-0-podstawy-podstaw-niezbednik-uzytkowania-unity/

https://videopoint.pl/ A. Brzegowy, vunidz.zip

# data[].attributes.body
Część 4 - zniszczenie pocisku w momencie trafienia do celu

# data[].attributes.body
Część 5 - usuwanie zbłąkanych pocisków ze sceny

# data[].attributes.attachment_link.readable_text
﻿using UnityEngine;
using System.Collections;

public class PoruszanieCzolgiem : MonoBehaviour {

		// Update is called once per frame
	void Update () {

		if (Input.GetKey ("up")) 
		{
			transform.Translate (Vector3.forward / 10);
		}
		if (Input.GetKey ("down")) 
		{
			transform.Translate (Vector3.back / 10);
		}
		if (Input.GetKey ("left")) {
			transform.Rotate (0, -2, 0);
		}
		if (Input.GetKey ("right")) {
			transform.Rotate (0, 2, 0);
		}
	}
}

# data[].attributes.body
Tworzenie obiektu do którego mamy dotrzeć, aby zakończyć grę

# data[].attributes.body
Edycja skryptu dla strefy zakończenia gry

# data[].attributes.body
Zatrzymanie czołgu i wyłączenie możliwości strzelania po dotarciu do strefy zakończenia gry

# data[].attributes.body
Wyświetlanie napisu kończącego misję

# data[].attributes.attachment_link.readable_text
﻿using UnityEngine;
using System.Collections;

public class Strzelanie : MonoBehaviour {

	public GameObject pocisk;
	public Transform slotNaPocisk;

	void Update () {

		if (Input.GetKeyDown ("space")) {

			Debug.Log ("Strzal!");
			Instantiate(pocisk, slotNaPocisk.position, slotNaPocisk.rotation);

		}	
	}
}

# data[].attributes.attachment_link.readable_text
﻿using UnityEngine;
using System.Collections;

public class Pocisk : MonoBehaviour {

	// Use this for initialization
	void Start () {

		Invoke ("Autodestruction", 2);
	
	}
	
	// Update is called once per frame
	void Update () {

		transform.Translate (Vector3.forward * 0.5f);
	
	}

	void OnCollisionEnter()
	{
		Debug.Log ("Bummmm!!!");
		Destroy (this.gameObject);
	}

	void Autodestruction ()
	{
		Destroy (this.gameObject);
	}

}

# data[].attributes.body
moździerz będzie strzelał automatycznie w ustalonym kierunku

# data[].attributes.body
czyli dodajemy kolejne pole tekstowe do interfejsu użytkownika

# data[].attributes.body
który będzie odliczał trafienia w czołg

# data[].attributes.headline
23. Tworzymy skrypt wyświetlający punkty trafienia na ekranie

# data[].attributes.subject
23. Tworzymy skrypt wyświetlający punkty trafienia na ekranie

# data[].attributes.body
1. Zbuduj nieco lepiej wyglądający moździerz

2. Zaprogramuj obracanie moździerza

# data[].attributes.headline
25. Tworzymy skrypt wyświetlający tekst porażki w interfejsie użytkownika

# data[].attributes.subject
25. Tworzymy skrypt wyświetlający tekst porażki w interfejsie użytkownika

# data[].attributes.attachment_link.title
Unity skrypt wyswietlanie tekstu porazki.mp4

# data[].attributes.headline
26. Organizujemy system   zarządzania grą

# data[].attributes.subject
26. Organizujemy system   zarządzania grą

# data[].attributes.body
Tworzymy Gameobject Zarzadca

Programujemy skrypt zarządzania grą

# data[].attributes.body
tu stworzymy przycisk na ekranie i go oprogramujemy

# data[].attributes.headline
28. Opracuj drugi poziom gry czołg korzystając z załączonych modeli 

# data[].attributes.subject
28. Opracuj drugi poziom gry czołg korzystając z załączonych modeli 

# data[].attributes.body
czołgu,

domów,

elementów industrialnych

elementów krajobrazu

Modele pochodzą z AssetStore.
Kliknij poniżej aby pobrać plik, rozpakuj go i umieść w folderze Models swojej gry

# data[].attributes.body
Gra typu FPS w 3D

# data[].attributes.body
Wszystkie wideotutoriale najlepiej jest otwierać w nowym oknie

# data[].attributes.headline
1. W Unity tworzymy nowy projekt 3D o nazwie FPS

# data[].attributes.subject
1. W Unity tworzymy nowy projekt 3D o nazwie FPS

# data[].attributes.headline
2. Z AssetStore pobieramy i importujemy pakiet Standard Assets

# data[].attributes.subject
2. Z AssetStore pobieramy i importujemy pakiet Standard Assets

# data[].attributes.body
Most

da nam możliwość przejścia przez głęboką fosę

Dom lub zamek

będzie naszym celem

# data[].attributes.headline
8. Dodajemy trawę i inne elementy krajobrazu

# data[].attributes.subject
8. Dodajemy trawę i inne elementy krajobrazu

# data[].attributes.headline
10. Dodajemy głównego bohatera naszej gry

# data[].attributes.subject
10. Dodajemy głównego bohatera naszej gry

# data[].attributes.body
Tak właściwie to jest tylko prefab w kształcie kapsuły z podłączoną kamerą i skryptem

# data[].attributes.headline
11. Dodajemy drewniany mostek - znajdujemy go w AssetStore

# data[].attributes.subject
11. Dodajemy drewniany mostek - znajdujemy go w AssetStore

# data[].attributes.body
Ja wybrałam simple wooden bridge

# data[].attributes.headline
12. Tu jest film o tym gdzie ustawić mostek i jak wyedytować kolajder

# data[].attributes.subject
12. Tu jest film o tym gdzie ustawić mostek i jak wyedytować kolajder

# data[].attributes.headline
13. Dodajemy średniowieczny zamek lub budynek (też z AssetStore)

# data[].attributes.subject
13. Dodajemy średniowieczny zamek lub budynek (też z AssetStore)

# data[].attributes.body
i oczywiście nie zapominamy o kolajderze

# data[].attributes.headline
14. Przed wejściem na most ustawiamy przeszkodę, którą trzeba będzie usunąć przez kliknięcie myszą

# data[].attributes.subject
14. Przed wejściem na most ustawiamy przeszkodę, którą trzeba będzie usunąć przez kliknięcie myszą

# data[].attributes.body
Ja znalazłam taką na AssetStore
Uwaga: Nie zapomnijcie dodać do bramy kolajdera.

# data[].attributes.headline
15. Programujemy usuwanie przeszkody myszą

# data[].attributes.subject
15. Programujemy usuwanie przeszkody myszą

# data[].attributes.headline
16. Podłączamy skrypt DestroyThis do bramy zagradzającej wejście na most

# data[].attributes.subject
16. Podłączamy skrypt DestroyThis do bramy zagradzającej wejście na most

# data[].attributes.body
Ja to robię w edytorze Greenfish Icon Editor Pro, ale zapisuję go w formacie  png.

Narysowany obrazek przeciągam do folderu Assets w edytorze Unity

# data[].attributes.headline
18. Do gry dodajemy pusty GameObject który będzie zarządzał wyświetlaniem kursora

# data[].attributes.subject
18. Do gry dodajemy pusty GameObject który będzie zarządzał wyświetlaniem kursora

# data[].attributes.body
Nadajemy mu nazwę Manager

# data[].attributes.body
Dzięki temu skryptowi zobaczymy nasz własny kursor w grze

# data[].attributes.body
W metodzie Start() skryptu wywołujemy:
Cursor.SetCursor z parametrami

textureCursor - tekstura kursora, czyli nasz obrazek

hotspotCursor - punkt aktywny kursora najlepiej wybrać środek, czyli jeśli nasz kursor ma wymiary 64x64px, to położenie hotspotCursor będzie wynośiło 32x32

CursorMode - systemowe ustawienia kursora (jeśli tekstura kursora jest większa niż 32x32px wybiera się ForceSoftware, drugi tryb to Auto)

Potrzebne będą dwie zmienne publiczne

Texture2D textureCursor;

Vector2 hotspotCursor;

Po zapisaniu skryptu wracamy do edytora Unity i przypisujemy skrypt do obiektu Manager

Jako textureCursor przeciągamy nasz obrazek kursora

Do hotspotCursor wpisujemy  dla X - środek naszego kursora w osi x, dla Y Środek naszego kursora w osi y

Uwaga: gdy po uruchomieniu testu gry nie zobaczycie kursora, naciśnijcie Esc na klawiaturze i kursor powinien się pojawić

# data[].attributes.body
Zaprogramujemy skrypt ActiveCursor zarządzający wyświetlaniem kursora na wybranych "aktywnych" obiektach

# data[].attributes.attachment_link.title
FPS zmiana kursora na aktywnym obiekcie.mp4

# data[].attributes.body
Broń pobieramy z bezpłatnych zasobów AssetStore

Jeśli w prefabie broni znajduje się kamera - to ją wyłączamy

Broń podłączamy jako dziecko FPSController

Ustawiamy w taki sposób, jakby gracz trzymał ją w dłoni

# data[].attributes.headline
22. Strzelanie - wykorzystaj to co zaprogramowaliśmy dla czołgu

# data[].attributes.subject
22. Strzelanie - wykorzystaj to co zaprogramowaliśmy dla czołgu

# data[].attributes.body
Na zakończenie przygody z grą FPS proponuję pakiet zawierający cały poziom gry. Proszę przeanalizować pozostałe skrypty i spróbować rozwinąć grę o kolejne sceny

# data[].attributes.body
Zaczynamy przygodę z samodzielnym programowaniem gier w UNITY

Na początek należy:

1. Zainstalować Unity Hub

2. Zalogować się na konto UNITY

3. Zainstalować Edytor UNITY

4. Aktywować licencję bezpłatnego użytkowania UNITY

# data[].attributes.body
Aby to zrobić wystarczy kliknąć link poniżej

# data[].attributes.body
Przeczytaj, jak to zrobić

# data[].attributes.headline
Dziś sprawdzimy różne możliwości wyboru i implementacji kamery 

# data[].attributes.subject
Dziś sprawdzimy różne możliwości wyboru i implementacji kamery 

# data[].attributes.body
w widoku z pozycji trzeciej osoby

# data[].attributes.headline
Dla ułatwienia sobie życia możemy skorzystać z zasobów AssetStore

# data[].attributes.subject
Dla ułatwienia sobie życia możemy skorzystać z zasobów AssetStore