Igre

Vodič za Unity3D

Vodič za Unity3D

Uvod u Unity 3D

Unity 3D moćan je motor za razvoj igara. Cross platforma je to što vam omogućuje stvaranje igara za mobilne uređaje, web, stolne računale i konzole, ukupno oko 30 platformi. Unity 3D ima mnogo uzbudljivih značajki, a neke od njih su navedene u nastavku:

Unity sučelja

Istražimo sučelja uređivača Unity koja se mogu konfigurirati.  Sastoji se od točenih prozora koje možete preurediti prema svojim potrebama.  Istražimo zadane postavke prozora. Evo slike kako izgleda

Prozor hijerarhije

Prozor Hijerarhija predstavlja svaki objekt na sceni. Pokazuje kako su objekti povezani međusobno u sceni, pa su ova dva prozora povezana. U prozoru hijerarhije nalazi se padajući popis nazvan kao Stvoriti. Možete vrlo lako stvoriti prazan objekt, 3D objekte, 2D objekte, svjetlost, audio, video, sustav čestica i objekte kamere. Prozor hijerarhije prikazan je u nastavku. 'Bez naslova' naziv je scene. Možete ga preimenovati kako želite. Možete vidjeti padajuću ikonu na sasvim desnoj strani bez naslova (naziv scene). Klikom na ovaj padajući izbornik možete vidjeti različite mogućnosti za Spremi scenu i Dodaj novu scenu.

Prozor scene

Prozor scene je mjesto na kojem stvarate scenu. Tu možete komunicirati sa svojim objektima i modelima igre. Možete promijeniti veličinu, preoblikovati i premjestiti svoje objekte scene. Ovo je prozor u kojem započinjete raditi s Unityjem. Prikaz scene može biti 2D ili 3D, ovisno o postavci vašeg projekta. Evo snimke zaslona kako izgleda prozor scene:

U prozoru scene možete vidjeti drugu karticu s oznakom Zasjenjena, ovdje možete odabrati koju vrstu prikaza želite ili zasjenjeni ili žičani. Ima mnogo drugih opcija poput Razno, Globalno osvjetljenje, GI u stvarnom vremenu, Baked GI i mnoge druge. 2D ili 3D možete pogledati pomoću gumba pokraj gumba Zasjenjena padati dolje. Sljedeći je prekidač za osvjetljenje scene. Slično prekidaču za zvuk scene. Sljedeći je padajući popis koji omogućuje efekte neba, magle, animiranog materijala i slike.

Prozor igre

Prozor igre predstavlja vašu konačnu, objavljenu igru ​​u načinu igre. Prikazuje se s kamera koje ste koristili u igri. U prozoru igre možete vidjeti još jednu alatnu traku kao što je prikazano dolje na snimci zaslona:

Zaslon 1 prikazuje kameru prisutnu u vašoj sceni igre. Prema zadanim postavkama postavljeno je na Zaslon 1 za glavnu kameru. Ako imate više kamera i želite se prebaciti, možete odabrati s padajućeg popisa. Pored toga možete vidjeti padajući omjer omjera. Možete odabrati prema zaslonu monitora ciljnog uređaja. Dalje možete vidjeti Klizač skale za uvećanje. Pomaknite se udesno i proučite više detalja o svojoj sceni u načinu reprodukcije. Sljedeći je gumb za Maksimalno povećavanje reprodukcije, kada se klikne, veličina prozora igre bit će maksimalna u načinu igre. Isključi zvuk prekidač se koristi za isključivanje / uključivanje zvuka. Statistika prikazuje statistiku prikazivanja zvuka i grafike vaše igre.

Prozor imovine projekta

Kao što naziv pokazuje, u prozoru imovine nalazi se sva imovina vašeg projekta koju možete koristiti. Ako uvezete nešto novo, pojavit će se u prozoru imovine projekta. Prozor imovine projekta ima dva dijela, lijevu i desnu ploču, kao što je prikazano na donjoj snimci zaslona:

Lijevo okno prikazuje hijerarhijsku strukturu imovine projekta.  Kada kliknete bilo koju mapu, prikazat će se detalji na desnoj ploči. Na primjer na danoj slici Montažni dijelovi mapa se klikne na lijevoj ploči pa se njezini detalji prikazuju na desnoj ploči jer sadrži dva predmeta igre. Na lijevoj ploči možete vidjeti a Favoriti odjeljak, gdje možete povlačiti stavke koje želite vrlo često koristiti kako biste izbjegli gubljenje vremena u potrazi za njima. Iznad njega možete vidjeti Stvoriti padajući izbornik koji vam omogućuje stvaranje C # skripte, mape, sjenčanja, GUI kože, scene, montažnog materijala, materijala i još mnogo toga.

Prozor konzole

Prozor konzole mjesto je na kojem možete vidjeti svoje pogreške, upozorenja i poruke. Možete ih prilagoditi klikom na njihove tipke za prebacivanje. Također vam omogućuje brisanje svih pogrešaka, upozorenja i poruka. Možete pauzirati pogreške na određeno vrijeme. Ovdje možete vidjeti na sljedećoj slici

Ikona padajućeg izbornika u gornjem desnom kutu ima opcije za Editor Log i Stack Trace Logging.

Prozor inspektora

Prozor inspektora jedan je od najzanimljivijih i najkorisnijih prozora uređivača. To je mjesto na kojem možete urediti sva svojstva odabranog predmeta igre. Svaki objekt igre ima svoj tip, tako da će se njegova svojstva razlikovati, a prozor inspektora može varirati. Imovina, skripte i predmeti igre razlikuju se po svojstvima. Pogledajmo svojstva kocke u prozoru inspektora. Evo slike:

Objekt igre možete preimenovati klikom na prethodno ime i upisivanjem novog. Dalje ćete vidjeti odjeljak transformacije u kojem možete prilagoditi položaj, rotaciju i skaliranje odabranog predmeta igre. U posljednjem vidite naziv gumba kao Dodaj komponentu, kliknite na njega da biste dodali nove komponente u svoj objekt igre, na primjer ako želite priložiti skriptu, samo kliknite na dodaj komponentu i upišite svoje ime skripte.

Alatna traka

Posljednja je kartica alatne trake, ima mnogo korisnih značajki. Sadrži neke osnovne alate za manipulaciju prikazom scene i objektima. U sredini se nalaze tipke za reprodukciju, pauzu i kontrolu koraka. Sljedeća dva gumba prikazuju vaš Unity oblak i Unity račun. Evo slike kako to izgleda:

Početak rada s jedinstvom

Počnimo stvarati novi projekt u Unityju jer je vrijeme da se poigramo s onim što smo naučili. Dvaput kliknite ikonu Unity, pojavit će se sljedeći prozor:

Unesi naziv projekta, odaberite radno mjesto Mjesto a zatim odaberite vrstu vašeg projekta ili 2D ili 3D. Kliknite na Stvori projekt.

Prema zadanim postavkama vidjet ćete scenu bez naslova koja sadrži glavnu kameru i usmjereno svjetlo u sceni. Počnimo stvarati okruženje.

Građevinsko okruženje

Prije svega stvorite ravninu klikom na Stvori -> 3D objekt a zatim odaberite Avion. Ili ga možete stvoriti klikom na GameObject -> Game Object a zatim odaberite Avion. Idite na prozor hijerarhije i kliknite na avion objekt igre. Sada idite na prozor inspektora i preimenujte ga u Prizemlje. Sada prilagodite vrijednosti transformacije tako da ovaj avion izgleda kao ravna cesta. Samo skalirajte X do 6 i Z do 50. Evo slike kako to izgleda

Sada preuzmite teksturu ceste i nanesite je na zemljišni objekt. Stvorite naziv mape kao Tekstura. Povucite preuzetu teksturu ceste u mapu teksture. Sada odaberite Prizemlje i povucite teksturu ceste u prizoru scene. Evo slike kako to izgleda

Ovo je tekstura koju sam preuzeo

Nakon nanošenja teksture na tlo, kliknite na Tlo i postavite popločavanje u prozoru inspektora. Evo kako sam to postavio.

Sada ste stvorili model ceste, stvorimo model kuglice u jedinstvu.

Ići Stvori -> 3D objekt a zatim odaberite Sfera, u prozoru scene vidjet ćete sferni objekt. Odaberite ga i idite na prozor inspektora da biste ga preimenovali u Lopta. Sada prilagodite vrijednosti transformacije u skladu s tim. Samo ga prilagodite na 5 duž sve tri osi i postavite u središte ceste. Evo kako to izgleda

Sada stvorite ogradu ili zid oko ceste.

Ići Stvori -> 3D objekt a zatim odaberite Kocka. Odaberite ga i preimenujte u Zid1. Idite na prozor inspektora i postavite vrijednosti transformacije tako da izgleda poput zida oko ceste. Evo kako to izgleda:

Pogledajte ove vrijednosti transformacije za Zid1. Ljestvica Y na 6 i Z na 500. Zatim prilagodite njegov položaj tako da dolazi na zavojima ceste.

Sada potražite teksturu zida, preuzmite je i kopirajte na Tekstura mapa u imovini. Povucite teksturu zida na zid u prozoru scene. Podesite obradu tako da izgleda lijepo i glatko. Pločice sam prilagodio kao X na 50, a Y na 1.5. Nakon podešavanja popločavanja ovako izgleda

Ovo je tekstura koju sam koristio za zid

Napravili smo zid za jednu stranu ceste. Sad isto učinite i s druge strane ceste. Umjesto da prođemo kroz sav postupak, možemo samo kopirati Zid1 i preimenujte ga u Zid2.

Odaberi Zid1 u hijerarhijskom prozoru, a zatim desnom tipkom miša kliknite i odaberite Duplikat opcija. Stvorit će još jedan objekt igre iste vrijednosti i vrijednosti transformacije. Kliknite na Zid1 (1) i preimenujte ga u Zid2. Sada prilagodite položaj tako da dođe do drugog ugla ceste.

Pogledajte sljedeću sliku kako izgleda cool

Vrijednosti moje pozicije za Wall2 su od X do -29.6 Y do 2.6 i Z do 2.6.

Sada stvorite materijal za Lopta. Idite na prozor Projekt i stvorite mapu desnim klikom miša, a zatim odaberite Mapa. Nazovite ga kao Materijali. Opet desnom tipkom miša stvorite materijal. Nazovite ga kao crvena lopta. U prozoru inspektora odaberite boju materijala. Ići Glavne karte i odaberite boju Albedo u crvenu. Povećajte metalnu teksturu pomicanjem trake udesno. Povucite ovaj materijal na Lopta u prizoru scene. Evo kako to izgleda

Evo kako materijal izgleda:

Završili smo s razvojem okoliša. Sada je vrijeme za kodiranje. Za to moramo stvoriti skriptu.

Skriptiranje u jedinstvu

Implementirati vlastite značajke igranja i kontrolirati ponašanje igre koju Unity nudi kao skriptni mehanizam. Možete napisati vlastiti skript za željeni rezultat igre. Pomoću ovih skripti možete pokretati događaje u igrama, možete mijenjati svojstva komponente i odgovarati na korisničke unose. U osnovi Unity podržava dva različita programska jezika za skriptiranje, jedan je C #, a drugi JavaScript. Osim ova dva jezika i mnogi drugi .NET jezici također se mogu koristiti s Unity. Skripte su u Unityju poznate kao komponenta ponašanja.

Stvaranje skripte

Počnimo stvarati skriptu Unity. Za to idite na prozor sredstava i stvorite novu mapu s imenom Skripte (možete preskočiti stvaranje novih mapa za svaku novu vrstu materijala, ali to je dobra praksa da se stvari organiziraju). Evo kako sada izgleda prozor moje imovine:

Sada otvorite Skripte mapu, kliknite desni klik, a zatim idite na Stvoriti i odaberite C # skripta. Preimenuj skriptu u Pokret. Stvaramo ovu skriptu za kretanje i kotrljanje lopte po cesti. Za sada lopta miruje, ne radi ništa, stvorimo u njoj neki pokret.

Dvaput kliknite na skriptu Movement koja će se otvoriti u Mono Develop. Ako se vaša skripta ponaša mono, vidjet ćete neki unaprijed napisani kôd poput ovog

pomoću sustava.Zbirke; pomoću sustava.Zbirke.Generički; koristeći UnityEngine; javna klasa MovementScript: MonoBehaviour // Upotrijebi ovo za inicijalizaciju void Start ()  // Ažuriranje se poziva jednom po praznini okvira Update ()  

Možete vidjeti dvije funkcije Start () i Update ().

Početak(): Funkcija Start koristi se za inicijalizaciju varijabli i objekata. Poziva se samo jednom kada je skripta omogućena neposredno prije bilo kojeg drugog poziva funkcije ažuriranja.

Ažuriranje(): To je funkcija mono ponašanja, poziva se jednom u svakom kadru.

Osim ove dvije, postoje i mnoge druge funkcije mono ponašanja, na primjer awake (), fixedUpdate (), lateUpdate () itd.

Da biste prije svega kretali loptu na cesti, morate je učiniti krutim tijelom (idealno je čvrsto tijelo u kojem se zanemaruje deformacija). Odaberi Lopta u hijerarhijskom prozoru i kliknite na Dodaj komponentu gumb u prozoru inspektora. Upišite kruto tijelo i pritisnite Unesi. Čvrsto tijelo pričvrstit će se na Lopta. Sada idite na skriptu i stvorite privatnu varijablu tipa Kruto tijelo. Sada ovoj varijabli koju ste upravo stvorili u skripti dodijelite kruto tijelo Lopte.

privatni Rigidbody rb; rb = GetComponent (); 

Sada napišite neki kod za kretanje ovog krutog tijela. Kakva je ideja? Lopta bi se trebala pomicati kad pritisnem tipke sa strelicama na ploči s tipkama. Trebao bi se pomicati prema naprijed kad se pritisne tipka prema gore, prema natrag kada se pritisne tipka prema dolje i tako dalje.

Dakle, ulaz koji dolazi s tipkovnice, kako bih trebao dobiti taj ulaz? Klasa unosa Unity ima naziv funkcije GetAxis (), za vraćanje vrijednosti virtualne osi identificirane imenom osi. Stvorite dvije varijable jednu za x-os i jednu za ulaz osi y. Evo kako bi trebalo biti

float moveHorizontal = Ulaz.GetAxis ("Vodoravno"); 

Sada stvorite varijablu Vector3 da biste dobili vrijednosti kretanja.

Pokret Vector3 = novi Vector3 (moveHorizontal, 0.0f, moveVerticle); 

Prvi je parametar vrijednost x osi, drugi je vrijednost y osi i treći je vrijednost z osi. Kako se lopta neće pomicati u smjeru y osi, dodijelite joj nulu. Na kraju dodajte ovaj pokret krutom tijelu i pomnožite s konstantnim brojem za brzinu ili stvorite drugu varijablu za brzinu. Pogledajte donji kod

pomoću sustava.Zbirke; pomoću sustava.Zbirke.Generički; koristeći UnityEngine; pokret javne klase: MonoBehaviour javna brzina plovka; privatni Rigidbody rb; // Koristite ovo za inicijalizaciju void Start () rb = GetComponent ();  // Fiksno ažuriranje poziva se nakon fiksnog broja praznina okvira FixedUpdate () float moveHorizontal = Input.GetAxis ("Horizontalno"); float moveVerticle = Ulaz.GetAxis ("Vodoravno"); Pokret Vector3 = novi Vector3 (-1 * moveHorizontal, 0.0f, -1 * moveVerticle); rb.AddForce (kretanje * brzina);  

Kako je brzina javna varijabla, tako možete dodijeliti vrijednost u prozoru inspektora. Priložite ovu skriptu na kuglu povlačenjem na prozor inspektora ili pritiskom Dodaj komponentu dugme. Pritisnite gumb za reprodukciju i testirajte svoje kodiranje ili se lopta kreće ili ne.

Postavljanje kamere

Posljednje što ćete primijetiti je kad pritisnete tipku za naprijed i lopta se krene izlazi iz kamere jer kamera miruje. Što da radimo? Trebali bismo i mi pomaknuti kameru? Da, to je najjednostavnije učiniti. Napravite dijete od lopte povlačenjem glavne kamere do lopte.

Zaključak

Ovo je bio osnovni uvodni tutorial u kojem ste u Unityju naučili mnoge zanimljive značajke, izgradnju okoliša i skriptiranje. Ne ustručavajte se, započnite s izradom svoje prve igre već danas i uživajte!

Kako snimiti i struji svoju igraću sesiju na Linuxu
U prošlosti se igranje igara smatralo samo hobijem, ali s vremenom je igračka industrija zabilježila ogroman rast u pogledu tehnologije i broja igrača...
Najbolje igre za ručno praćenje
Oculus Quest nedavno je predstavio sjajnu ideju ručnog praćenja bez kontrolera. Sa sve većim brojem igara i aktivnosti koje izvršavaju podršku bilo fo...
Kako prikazati OSD prekrivač u aplikacijama i igrama na cijelom zaslonu za Linux
Igranje igara preko cijelog zaslona ili upotreba aplikacija u režimu preko cijelog zaslona bez ometanja može vas odsjeći od relevantnih informacija o ...