Tworzenie gier VR w Unity wykorzystując C#. Kurs podstawowy.

Dział dla osób tworzących w środowisku VR
Awatar użytkownika
Autor tematu
Tal92
Użytkownik
Nowy użytkownik
Posty: 16
Rejestracja: pn 26 wrz 2016, 14:58
Gogle VR: DreamzVR
Telefon: ASUS Zenfone2
    Windows 10 Spartan
Płeć: Kobieta

Tworzenie gier VR w Unity wykorzystując C#. Kurs podstawowy.

Nieprzeczytany postautor: Tal92 » sob 05 lis 2016, 13:05

Skoro trafiliście na forum poświęcone wirtualnej rzeczywistości, i przeglądacie tematy związane z Unity (o czym świadczy to, że czytacie ten tekst), to zapewne chcecie spróbować swoich sił w tworzeniu aplikacji VR.
Niniejszy kurs przeprowadzi Was przez podstawy programowania skryptów w Unity, wstawianie obiektów i muzyki do projektu,
dodawanie i wyświetlanie zdobytych punktów na ekranie gry, ustawianie kamery,
czy dostosowywanie projektu do konkretnych platform (np. Cardboard, Oculus Rift itp.).

PLAN KURSU PODSTAWOWEGO:
1.Pisanie skryptów w Unity
2.Wyświetlanie rezultatów w konsoli
3.Deklaracja i przypisanie zmiennych
4.Matematyczne operacje na zmiennych
5.Operatory logiczne i funkcje warunkowe
6.Metody
7.Pozycja i ruch w Unity
8.Wektory, Klasy, Obiekty
9.Wyznaczanie własnej Klasy
10.Odświeżanie wartości zmiennych
11.Debug(g)owanie
12.Tworzenie sceny 3D
13.Fizyka brył
14.Wykorzystanie już stworzonych obiektów (prefabrykaty)
15.Ustawianie prędkości przedmiotu
16.Obracanie kamery
17.Wykorzystywanie myszki
18.Zachowanie stałego położenia przedmiotu mimo ruchu
19.Kontrola kamery
20.Efekt tarcia/ lokalizacja
21.Rotacja kamery
22.Kolizje w kodzie
23.Globalne trzymanie wyników
24.Korzystanie z wielu scen
25.Tworzenie ekranu menu
26.Wyświetlanie tekstu na ekranie
27.Przyciski na ekranie
28.Wyzwalanie zdarzeń
29.Uaktualnianie tekstu (wyniku) wyświetlanego na ekranie
30.Przenoszenie danych pomiędzy scenami
31.Konwersja na Oculus Rift
32.Importowanie asset’ów i budowanie level’i
33.Używanie trigger’ów
34.Muzyka i dźwięki
35.Tworzenie projektu na Androi’a
36.Tworzenie projektu na iOS’a
37.Ustawienia kamer VR
38.Interfejs użytkownika w VR
39.Interakcje z przyciskami
Ostatnio zmieniony ndz 06 lis 2016, 09:27 przez Tal92, łącznie zmieniany 1 raz.

Awatar użytkownika
Autor tematu
Tal92
Użytkownik
Nowy użytkownik
Posty: 16
Rejestracja: pn 26 wrz 2016, 14:58
Gogle VR: DreamzVR
Telefon: ASUS Zenfone2
    Windows 10 Chrome
Płeć: Kobieta

Tworzenie gier VR w Unity wykorzystując C#. Kurs podstawowy.

Nieprzeczytany postautor: Tal92 » ndz 06 lis 2016, 09:27

1# Pisanie skryptów w Unity
Aby rozpocząć kurs należy pobrać i zainstalować Unity 5 lub wersję wyższą i uruchomić ją. Przykładowe skrypty napisane zostały w Monodevelop-Unity, czyli edytorze stworzonym specjalnie pod silnik do gier, zatem polecam korzystanie z tego oprogramowania podczas nauki.
Słowem wstępu wskażę kilka ważnych miejsc w Unity, do których będę później nawiązywać.
Poniżej na rysunku zaznaczone są sekcje:
Hierarchy (na różowo) - jest to sekcja, w której umieszczamy elementy, które będą występować w danej scenie
Scene (na fioletowo) - tutaj możemy rozmieszczać elementy na naszej scenie - inaczej level’u
Inspector (na pomarańczowo) - ta sekcja służy do konfigurowania ustawień różnych elementów
Console (na niebiesko) - konsola, wyświetla rezultaty wykonanego kodu, błędy itp.
Przycisk Clear on Play w konsoli (na żółto) - sprawia, że konsola przy starcie gry jest czyszczona z poprzednich zapisów - pomaga zachować przejrzystość przy kontroli działania aplikacji
Assets (na zielono) - w tej sekcji umieszcza się foldery z obiektami 3d, grafikami, skryptami, dźwiękami i wszystkimi innymi elementami potrzebnymi do funkcjonowania naszej aplikacji.


Obrazek

Pierwsze skrypty napiszemy tworząc krótką tekstową grę.
Fabuła i założenia gry: Gracz jest zagubiony/a nie widzi drogi do miejsca swojego przeznaczenia. Gracz może poruszać się w górę, dół, lewo, prawo i przesuwać się o metr w każdą stronę. Wynik gry, to ilość kroków/przesunięć, które wykonał gracz.

[align=center]Pora uruchomić Unity.
Jeśli to pierwszy projekt to należy się zarejestrować w Unity, jeśli nie, to otworzy się ekran wyboru projektu. Należy kliknąć przycisk NEW zaznaczony na obrazku poniżej.


Obrazek

Otworzy się okno, w którym trzeba wpisać nazwę projektu, wybrać opcję projektu 3D oraz lokalizację, w której będziemy zapisywać wszelkie zmiany.

Obrazek

Po wybraniu odpowiednich ustawień wystarczy kliknąć niebieski przycisk “Create project” i poczekać aż otworzy się okno Unity, które widoczne jest na pierwszym zdjęciu.
Gdy projekt wyświetli się na ekranie komputera, można rozpocząć tworzenie pliku i pisanie pierwszego skryptu. W sekcji Assets pod prawym przyciskiem myszy jest opcja Create >> C# Script.


Obrazek

Po jej użyciu zostanie utworzony plik, któremu można nadać nazwę.
Plik ze skryptem można z łatwością edytować otwierając w edytorze typu MonoDevelop. Gdy zmienimy nazwę pliku należy sprawdzić czy wewnątrz pliku zapis klasy jest prawidłowy. Jeśli nie trzeba go zmienić na taki sam jak w nazwie pliku.


Obrazek

Czym jest skrypt? lub czym jest C#? Nie będę dokładnie odpowiadać na to pytanie, gdyż dostatecznie dużo informacji na ten temat jest w Internecie ;). Nakreślę jedynie, że jest to swego rodzaju instrukcja , podobna do przepisu na ciasto, jednak musi być ona bardzo precyzyjna i napisana w języku czytelnym dla komputera. Jednym z takim języków jest C#. Przykładowa instrukcja: idź do kuchni>otwórz szafkę> wyjmij miskę i mąkę> wsyp 200g mąki do miski. Język C# cechuje się specjalna składnią, różną od polskich zdań, jednak nie o tym jest ten kurs.
Czas na napisanie pierwszego fragmentu kodu w Unity.
Pomiędzy klamrami {} znajdującymi się po wrażeniu “void Start ()” znajdują się komendy, które są wywoływane tylko raz, zaraz po uruchomieniu skryptu. Kod, który ma zostać wywołany zaraz po starcie gry należy więc umieścić pomiędzy nawiasami klamrowymi. Zgodnie z założeniami tworzona gra jest grą testową, więc musimy wydać polecenie napisania konkretnego zdania, które chcemy wyświetlić.
Przykładowa linia kodu:

void Start () {
Debug.Log (“Welcome to GAME”);
}


Śpieszę tłumaczyć skrypt:
Debug.Log - jest to polecenie wyświetlenia w konsoli Unity
() - między nawiasami wpisujemy co chcemy wyświetlić
“” - tekst w języku programowania jest stringiem, a żeby zaznaczyć, że używamy string, należy umieścić tekst w cudzysłowie
; - średnik jest informacją, że ta konkretna instrukcja jest już zakończona i można zacząć kolejną.


Podstawowe zasady pisania skryptu zostały wyjaśnione, więcej informacji odnośnie polecenia Debug.Log znajdziecie na:
https://docs.unity3d.com/540/Documentat ... g.Log.html. Jest tam również wiele innych poleceń, warto się im przyjrzeć.


[align=center]W następnej części kursu pokażę jak podpiąć skrypt by wyświetlał się konsoli. Jednak już teraz można przygotować tekst dla tekstowej gry polegającej na jak najszybszym dotarciu do szukanej lokalizacji.
Powodzenia!
Ostatnio zmieniony ndz 20 lis 2016, 11:01 przez Tal92, łącznie zmieniany 1 raz.

Awatar użytkownika
Autor tematu
Tal92
Użytkownik
Nowy użytkownik
Posty: 16
Rejestracja: pn 26 wrz 2016, 14:58
Gogle VR: DreamzVR
Telefon: ASUS Zenfone2
    Windows 10 Chrome
Płeć: Kobieta

Tworzenie gier VR w Unity wykorzystując C#. Kurs podstawowy.

Nieprzeczytany postautor: Tal92 » ndz 20 lis 2016, 10:59

2# Wyświetlanie rezultatów w konsoli
Przykładowy skrypt, który napisany został w poprzedniej części kursu, może zostać wyświetlony w konsoli, trzeba tylko odpowiednio podpiąć go w silniku do gry (Unity). Pierwsza rzecz jaką należy zrobić to zapisać plik ze skryptem. Gdy plik jest zapisany, staje się tzw. komponentem, i jest widoczny wciąż pośród assetów w sekcji Project.

Obrazek

Komponent będący skryptem, tak naprawdę jest instrukcją co do zachowania jakiegoś elementu w grze.
Gdy nasz komponent jest gotowy, potrzebny będzie nam tzw. GameObject, do którego podepniemy skrypt. (Można podpinać wiele komponentów do jednego GameObjectu).
GameObject’y występują w sekcji Hierarchy.
Aby dodać komponent, do którego chcemy podpiąć skrypt wystarczy w w/w sekcji kliknąć prawym przyciskiem myszy i wybrać Create Empty.


Obrazek

(Póki co wybieramy empty, bo nie chcemy umieszczać elementu w widoku sceny, w późniejszych sekcjach omówimy inne rodzaje GameObject’ów).
Gdy GamePbject został utworzony możemy, a wręcz powinniśmy zmienić jego nazwę, tak by sugerowała z czym jest on związany.
W przykładzie nazwa została zmieniona na FirstScriptedGameObject.
Aby połączyć nasz komponent (skrypt) z GameObject’em należy:
albo: przeciągnąć skrypt z sekcji Project na utworzony/wybrany GameObject umieszczony w sekcji Hierarchy.


Obrazek

albo: przeciągnąć skrypt z sekcji Project do sekcji Inspector, gdy wybrany jest utworzony GameObject.

Obrazek

Teraz, gdy zapiszemy scenę i odpalimy grę, to w sekcji Console pojawi się nasz string, czyli tekst, który wpisaliśmy podczas robienia instrukcji z pierwszej części kursu.

Obrazek

Możemy usuwać i dodawać kolejne skrypty dla Game Objectu, co polecam zrobić w ramach podczas ćwiczeń.
W kolejnej części omówione zostanie przypisywanie zmiennych, co pozwoli małymi kroczkami zacząć kodować w Unity.


Wróć do „Dla Developerów”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości