Naučite Unity 5.x, Alan Thorn
Naučite Unity 5.x, Alan Thorn
O knjizi
Ako želite korak napred i da, umesto da budete svakodnevni Unity programer, postanete profesionalni programer igara, ne tražite dalje. Ova knjiga je rešenje za kreiranje hipnotišućih igara sa živopisnim karakteristikama i neverovatnim doživljajem igranja.
Ova knjiga se detaljno fokusira na praktičan projekat upotrebom Unityja, na izgradnju FPS igre koja uključuje mnoštvo funkcija. Detaljno ćemo opisati arhitekturu Unity igre kreiranjem ekspanzivnih svetova, interesntnih efekata renderovanja i drugih funkcija da bismo igre učinili posebnim. Kreiraćemo individualne komponente igre, upotrebićemo efikasne tehnike animacije i efikasno ćemo primeniti koliziju i fiziku. Istražićemo optimalne tehnike za importovanje elemenata igre, kao što su mreže i teksture, savete i trikove za efikasno projektovanje nivoa igre, načine animiranja i skriptovanja NPC-a, načine za konfigurisanje i primenu na mobilnim uređajima, način za pripremu za VR razvoj, način za primenu kontrolne verzije i tako dalje.
Zahvaljujući ovoj knjizi, steći ćete znanje u vezi razvoja u Unityju i samopouzdanje za kreiranje zanimljivih igara.
Uvod
U ovoj knjizi ćemo najpre da opišemo Unity sa tačke gledišta početnika, a zatim ćemo vam pomoći da stečeno znanje razvijete na određeni način. Konkretno, steći ćete osnovno sveobuhvatno umeće, na osnovu kojeg ćete naučiti Unity tako da kao iskusni, nezavisni programer možete da radite u bilo kom odeljenju i pomoću bilo kojeg seta funkcija unutar Unityja. U sledećem opisu poglavlja prikazan je detaljno ceo raspon funkcija koje ćemo istražiti. Naš osnovni cilj je da vas ova knjiga učini svestranim i potpuno kompetentnim u Unityju i da sposobnim da rešite probleme sa kojima se možete susresti u setu funkcija Unityja. U ovoj knjizi ćemo se koncentrisati, uglavnom, na praktične primere; izgradićemo FP borbenu igru kroz više poglavlja, što će na više načina testirati vašu veštinu kucanja.
Šta obuhvata ova knjiga
U Poglavlju 1, „Priprema i konfigurisanje elemenata postavke“, govori se o projektu na koji ćemo se fokusirati u knjizi. Specifikovani su saveti i trikovi za optimalno importovanje elemenata, konfigurisanje elemenata i tokove najbolje prakse da bi projekat ostao organizovan.
U Poglavlju 2, „Dizajn i struktura nivoa“, opisan je početak projektovanja i izgradnje osnovnog nivoa igre unutar Unityja, pri čemu se istražuju interesantne ideje dizajniranja nivoa.
U Poglavlju 3, „Kontrole igrača – pokret“, istražujemo kontrole igrača, odnosno, kako unos korisnika vodi i kontroliše glavnu kameru igre.
Poglavlje 4, „Kontrole igrača – kucanje i zdravlje“, fokusirano je na kreiranje borbene mehanike koja uništava neprijatelje; svaki karakter koji može da bude oštećen zahteva zdravlje.
U Poglavlju 5, „Neprijatelji i veštačka inteligencija“, opisano je kako se postiže inteligentno i verodostojno ponašanje neprijatelja pomoću AI-ja. Upotrebom AI-ja neprijatelj će se pomerati na nivou, tražeći igrača - napašće ga kada je u njegovom dometu.
U Poglavlju 6, „Upravljanje projektom i verzijama“, opisani su načini optimizovanja toka razvoja igre pomoću softvera Version Control. Ovaj softver vodi evidenciju o projektu dok se on pomera kroz sve svoje iteracije.
Poglavlje 7, „Trajni podaci – učitavanje i snimanje stanja igre“, fokusirano je na različite metode snimanja koji su dostupni u Unityju; igračima je omogućeno da snime svoj napredak u igri i da nastave igru na mestu na kojem su prethodno prekinuli svaki put kada započinju novu sesiju igre.
U Poglavlju 8, „Performansa, optimizacija, mobilni uređaji i drugo“, istražena je selekcija povezanih tema. Konkretno, istraženo je kako se poboljšava performansa igara pomoću optimizacije, kako se pripremaju igre za razvoj za mobilne uređaje i kako se treba pripremati generalno za VR razvoj.
Šta vam je potrebno za ovu knjigu
Da biste studiozno čitali ovu knjigu i izvršili zadatke unutar nje, potrebni su vam Unity 5 softver (koji možete da preuzmete besplatno na adresi https://unity3d.com) i odlučnost da uspete! Koristeći ta dva „alata“, možete da naučite da kreirate odlične igre u Unityju.
O autoru
Alan Thorn je multidisciplinarni programer igara, autor i predavač (sa iskustvom od 17 godina). On kreira igre za PC desktop, mobilne uređaje i VR. Osnovao je Wax Lyrical Games i kreirao je nagrađivanu igru Baron Wittard: Nemesis of Ragnarok, radeći na njoj kao dizajner, programer i umetnik. Napisao je 23 tehničke knjige o razvoju igara i predstavio je 19 video obuka koje obuhvataju programiranje igara, programiranje u Unityju, 3D modelovanje i animacije. Podučavao je studente o kreiranju igara kao viši predavač na Univerzitetu Teesside, kao vodeći predavač za Uppingham School i kao gostujući predavač za London South Bank University. Trenutno je na čelu odeljenja za Games Design and Development u školi National Film and Television School.
Kratak sadržaj
Poglavlje 1: Priprema i konfigurisanje elemenata 5
Poglavlje 2: Dizajn i struktura nivoa 63
Poglavlje 3: Kontrole igrača – Pokret 153
Poglavlje 4: Kontrole igrača – Kucanje i zdravlje 225
Poglavlje 5: Neprijatelji i veštačka inteligencija 298
Poglavlje 6: Upravljanje projektom i verzijama 372
Poglavlje 7: Trajni podaci – učitavanje i snimanje stanja igre 449
Poglavlje 8: Performansa, optimizacija, mobilni uređaji i drugo 505
Indeks 561
Tabela sadržaja
Uvod 1
Poglavlje 1: Priprema i konfigurisanje elemenata 7
Jasan dizajn 9
Ciljne platforme 10
Ciljana publika 11
Žanr 12
Režim igre 13
Cilj igre 13
Priprema elemenata 14
Mrežice – koristite samo dobru topologiju 14
Mrežice – minimizirajte broj poligona 15
Mrežice – simuliranje detalja reljefa bez geometrije 18
Mrežice – minimiziranje UV šavova 22
Mrežice – eksportovanje kao FBX 24
Mrežice – upotreba metarske skale (metričke) 25
Teksture – nikada ne koristite kompresije bez gubitka 26
Teksture – power 2 veličine 27
Teksture – alfa teksture 29
Importovanje elemenata za igru Dead Keys 30
Importovanje tekstura 31
Importovanje mrežica 38
Importovanje animacija 53
Importovanje audio zapisa 58
Konfigurisanje materijala 60
Rezime 63
Poglavlje 2: Projektovanje i struktura nivoa 65
Podešavanje scene pomoću skyboxa 67
Izgradnja nivoa – modularni skupovi izgradnje 74
Izgradnja nivoa – organizacija i struktura 81
Projektovanje nivoa – saveti i trikovi 84
Cilj i povratne informacije 85
Priča 85
Verodostojnost i pogodnost 86
Atmosfera i estetika 86
Jednostavnost i ponovna upotreba 87
Osvetljenje nivoa – priprema 87
Baked osvetljenje 88
Dinamičko osvetljenje 89
Unapred izračunato globalno osvetljenje 90
Prvi koraci mapiranja svetla 91
Baking lightmape – rezolucija i veličina 94
Baking lightmape – detalji 102
Light Probes 106
Često postavljana pitanja o osvetljenju 114
Mrežica navigacije 124
Occlusion Culling 132
Kreiranje kamere igrača 138
Sistemi čestica 143
Muzika i audio 147
Rezime 154
Poglavlje 3: Kontrole igrača – Pokret 155
Pokret igrača 156
Borba zombija 157
Kreiranje kontrolnih tačaka igrača 158
Animacija kamere 160
Konfigurisanje grafikona animatora 174
Upotreba animacije – kreiranje navigatora 186
Prilagođavanje i menjanje editora MonoDevelop 187
Singleton objekti 193
Komentari 194
Povezivanje sa komponentom navigatora 195
Komentari 196
GUI navigatora 197
Ulazne ose 201
Radna površina 204
Dugme 208
Kodiranje ponašanja dugmeta 215
Komentari 217
Kreiranje smrti igrača 221
Komentari 224
Rezime 225
Poglavlje 4: Kontrole igrača – Kucanje i zdravlje 227
Borba rečima 228
Kreiranje liste reči 229
Upotreba Visual Studio Codea 231
Kreiranje klase WordList 239
Komentari 240
Komentari 241
Podudaranje reči 242
Komentari 244
Objekat Typer 246
Napredak pomoću klase Typer 258
Komentari 267
Zdravlje i povrede 268
Komentari 269
Komentari 276
Povrede i povratne informacije 281
Rezultat igrača 286
Komentari 289
Bonusi i nagrade 290
Komentari 299
Rezime 300
Poglavlje 5: Neprijatelji i veštačka inteligencija 301
Konfigurisanje karaktera zombija 302
Početak upotrebe unapred definisanih zombija 305
Planiranje veštačke inteligencije zombija 307
Komentari 312
Razvijanje strukture stanja 312
Komentari 314
Razvijanje kontrolera animatora NPC 314
Razvijanje Idle stanja 324
Komentari 327
Razvijanje Chase stanja 328
Komentari 330
Razvijanje Attack stanja i drugih 331
Komentari 333
Razvijanje Dead stanja 343
Zombiji i unos teksta 344
Komentari 351
Zombiji i klasa Typer 352
Komentari 353
Komentari 354
Aktiviranje neprijatelja i putanja kamere 362
Upotreba Play režima 370
Rezime 374
Poglavlje 6: Upravljanje projektom i verzijama 375
Upravljanje projektom 375
Istraživanje, projektovanje i procena rada 376
Plan radnog opterećenja 377
Status zadatka 377
Analizra rizika 379
Potrebni resursi i veštine 379
Plan testiranja 379
Primenjeno upravljanje projektom pomoću Trelloa 380
Saradnja sa cloud skladištem 393
Upravljanje verzijama pomoću Gita 395
Početak upotrebe Gita i GitKrakena 398
Paketi i grane 404
Kretanje unapred i unazad pomoću Gita 412
Konfigurisanje Unity-ja za upravljanje verzijama 415
Vraćanje i odbacivanje 418
Grane i grananje 421
Konflikti i rešenja 426
Git i veb 441
Guranje i povlačenje 448
Kloniranje 450
Rezime 451
Poglavlje 7: Trajni podaci – učitavanje i snimanje stanja igre 453
Serijalizacija podataka 453
Parametri igrača – snimanje podataka 458
Parametri igrača – učitavanje podataka 464
Parametri igrača – INI fajlovi 464
Komentari za iniParser.cs 466
Snimanje podataka – XML fajlovi 470
Komentari 473
Snimanje podataka – JSON fajlovi 487
Komentari 491
Snimanje podataka – binarni fajlovi 496
Komentari 498
Snimanje podataka za igru Dead Keys 502
Komentari 504
Rezime 507
Poglavlje 8: Performansa, optimizacija, mobilni uređaji i drugo 509
Statistika i performansa 509
Profiler prozor i procena performanse 514
Saveti i trikovi za optimizaciju 520
Znakovni nizovi i upoređivanja 520
Čuvajte se maskiranih funkcija 521
Ispravljanje grešaka 521
Optimizovanje veličine izgradnje 528
Početak razvoja za mobilnu platformu 540
Nastavak razvoja za mobilnu plaformu 549
Izgradnja za Android 555
Izgradnja za VR (Virtual Reality) 561
Rezime 566
Indeks 567
Autor: Alan Thorn
Broj strana: 592
ISBN broj: 978-86-7310-515-4
Godina izdanja: 2017.
Izdavač: Kompjuter biblioteka, Beograd