Igre, ustvarjene na motorju mešalnika. Ustvarjanje bolj zapletenih ravni igre in interakcij

Ta vadnica vam bo pokazala, kako ustvariti preprosto 3D igro iz nič v Blenderju. Po zaključku lekcije vam bodo spretnosti, ki jih boste pridobili, omogočile ustvarjanje lastne 3D igre. Lekcija predvideva osnovno poznavanje Blenderja, ne pa tudi igralnega mehanizma (GE), ki je vanj vgrajen. Dotaknili se bomo samo tistih vidikov Blenderja, ki se nanašajo na ustvarjanje preprostih iger.

Izdelava 3D igre iz nič vam bo vzela približno 2 uri.

stopnja: začetnik - srednji

Učenje osnov Blender Game Engine Način Game Engine lahko vstopite in zapustite s tipkama [P] in.

Osredotočili se bomo na značilnosti Blenderja, specifične za GE. Začnimo z najpomembnejšim vroča tipka v Blenderju, tistem, ki poganja GE. Premaknite kazalec miške na območje 3D okna in pritisnite [P], da začnete igro. Čestitamo, pravkar ste igrali svojo prvo igro Blender!!! Kako enostavno je bilo?

Dokler GE ne rečemo, kaj naj naredi, se na odru ne bo zgodilo nič.

Privzeta nastavitev scene

Preden začnemo, ponastavimo sceno v Blenderju na prvotno stanje. To je mogoče storiti na enega od naslednjih načinov:.

  • V meniju izberite Datoteka > Novo in kliknite Izbriši vse.
  • Pritisnite in izberite Izbriši vse.
  • Kliknite za izhod iz Blenderja (v različicah 2.42 in nižjih uporabite [Q]) in ga znova zaženite.

Zdaj je čas, da preverite, kako dobri ste z Blenderjem. Nastavite pogled scene, kot je prikazano na sliki na desni. Če želite to narediti, morate slediti tem korakom.

  • S srednjo tipko miške (MMB) zavrtite prizor.
  • Pogled nastavite na način perspektive z možnostjo Pogled > Perspektiva (ali klikom).
  • Dodajte kocko in svetilko (ob predpostavki, da ste ju prej odstranili in ju ni v začetni sceni).



Uporabne bližnjice na tipkovnici pri delu z GE

Ena izmed uporabnih bližnjičnih tipk pri delu z Blenderjem GE je tipka, ki poveča trenutno 3D okno.

Kazalec miške postavite v območje 3D okna in kliknite (ali ). To bo razširilo trenutno 3D okno na celoten zaslon. Če kliknete znova, se okno povrne v prejšnje stanje.

Vrnite se malo nazaj in vadite s tem:

  • Povečajte okno 3D z uporabo
  • Pritisnite [P] za začetek trenutnega prizora v GE (nič se ne bo zgodilo)
  • Kliknite za vrnitev v način simulacije
  • Obnovite 3D okno nazaj na običajno uporabo

Slika na desni prikazuje postopek uporabe tipk za povečanje/obnovitev okna z začetnim prizorom Blenderja.


Izbira pravilnega načina upodabljanja scene za GE

Znova vstopite v način GE tako, da kazalec miške postavite v 3D okno in pritisnete [P]. Opazili boste, da je prizor v načinu GE videti ravno. Kliknite za vrnitev v način simulacije. Blender ima več vrst upodabljanja scene v 3D oknu, ki se uporabljajo za različna opravila. Plošča, kjer je prikazan trenutni način risanja, je prikazana spodaj.

Spodnje slike prikazujejo, kako izgleda glavna scena v GE v različnih načinih upodabljanja.

  • Enakomerni način ne upošteva osvetlitve prizora.
  • Način senčenja upošteva osvetlitev prizora.
  • Teksturirani način upošteva osvetlitev in prikaže teksture. Ta način je najbližji temu, kako bi morala izgledati igra, in ga morate izbrati vsakič, ko začnete nov projekt v GE.


Najboljši način upodabljanja za GE je teksturiran način. Izberite ta način s seznama in znova pritisnite [P]. Opazili boste, da osvetlitev zdaj vpliva na vse okolju pri GE, početje splošna oblika bolj realno. Ne pozabite izbrati načina Textured, ko izvajate svojo sceno v GE in vaša scena ne bo videti ravna.


Glavna logična plošča igre


Pod oknom 3D je plošča, ki vsebuje veliko različnih gumbov za nadzor različne instrumente Mešalnik.

Ploščo, specifično za GE, si lahko ogledate s klikom na vijolično ikono, podobno Pacmanu, ali s klikom na .

To je plošča, s katero boste nadzorovali, kaj se bo dogajalo v vaši igri.

Blender uporablja vizualni sistem klikni in povleci za ustvarjanje osnovnih interakcij v igri. To omogoča, da GE uporabljajo tudi 3D umetniki, ki nimajo znanja programiranja. Blender razume tudi programski jezik Python, ki ga je mogoče uporabiti za ustvarjanje kompleksnejših interakcij v igri.

V tej vadnici se bomo posebej osredotočili na vizualni sistem za ustvarjanje iger. Ko obvladate osnove uporabe GE, lahko nadaljujete z naprednejšimi lekcijami, ki vam pokažejo, kako uporabljati Python za ustvarjanje bolj zapletenih iger.

GE Visual Control – logični bloki senzorjev, aktuatorjev in krmilnikov


Sistem GE uporablja logične bloke kot pot za vizualne nastavitve interakcije v igri. Te logične bloke je mogoče med seboj vizualno povezati, da se ustvari celoten niz dejanj v igri.

Obstajajo trije različni tipi logičnih blokov - senzorji, krmilniki in aktuatorji - vsak s svojim nizom različnih blokov.

Senzorji

Senzor reagira na različne vrste vhodni podatki. To so lahko pritiski tipk, gumbi krmilne palice ali dogodki časovnika, ki se zgodijo vsakič, ko se posodobi zaslon (ali okvir) igre.

Aktuatorji

Aktuator dejansko izvede dejanje v igri. To je lahko premikanje predmeta znotraj scene, predvajanje animacije ali predvajanje zvoka.

Krmilniki

Krmilniki se uporabljajo za komunikacijo senzorjev z aktuatorji. Omogočajo večji nadzor nad medsebojnim delovanjem senzorjev in aktuatorjev.

Postavitev verige osnovnih logičnih blokov

Zdaj bomo postavili osnovni sistem z dodajanjem in medsebojno povezavo senzorja, krmilnika in aktuatorja.

plošča GE. Prepričajte se, da je plošča Logic odprta (kliknite vijoličnega Pacmana v oknu z gumbi ali kliknite ) in izberite kocko v oknu 3D.

V vsakem od treh glavnih razdelkov logične plošče lahko vidite ime izbranega predmeta in poleg njega gumb Dodaj. Kliknite ta gumb enkrat v vsakem od razdelkov: senzor, krmilnik in aktuator.

Zdaj bomo bloke združili v en sistem. Kliknite na vtičnico (majhen krog) na dnu senzorja in povlecite miško čez vtičnico na začetku krmilnika. Na enak način povežite vtičnico na koncu krmilnika in vtičnico na začetku aktuatorja.

Slike ponazarjajo korake, vključene v nastavitev preproste verige logičnih blokov in njihovo združevanje v en sistem.

Pritisnite [P] za začetek igre. Opazili boste, da se kljub temu, da smo GE dodali nekaj nastavitev, še vedno nič ne dogaja. To bo razloženo v naslednjem razdelku. Kliknite za vrnitev v Blender.

Porazdelitev dogodkov v sistemu GE

Poglejmo, kaj se zgodi z našim na novo ustvarjenim sistemom pri GE. Vrsta senzorja je nastavljena na Vedno. Nenehno (vsak okvir) pošilja signal krmilniku, ki je z njim povezan, in se aktivira skozi igro.

Krmilnik je nastavljen na IN. Ko se na njegovem vhodu pojavijo signali vseh z njim povezanih senzorjev (in v tem primeru, ena), samodejno pokliče z njim povezan aktuator.

Aktuator nadzoruje parametre gibanja predmeta. Ker je senzor, povezan s krmilnikom, nastavljen na Vedno, se ta aktuator sproži v vsakem okvirju.

Če zdaj pritisnemo [P], se bo aktuator Motion sprožil neprekinjeno, a ker so vsi parametri aktuatorja nastavljeni na nič, aktuator ne bo premaknil predmeta.

Premikanje kocke brez uporabe fizike

Najprej poskusimo uporabiti neposredni nadzor za premikanje kocke znotraj prizora. Kasneje bomo naredili podobno sceno, vendar bomo uporabili fiziko. Z uporabo vgrajenega fizikalnega mehanizma (imenovanega Bullet) bodo bolj zapletene interakcije prizorov, kot so trki in gravitacija, obravnavane samodejno.

Oglejte si Motion Actuator, še posebej tri numerične parametre poleg oznake dLoc. Vsakega od teh treh parametrov je mogoče uporabiti za prilagajanje lokacije predmeta vzdolž osi X, Y oziroma Z.

Nastavite vrednost povprečnega parametra dLoc (os Y, premik naprej) na 0,10.

Zdaj pritisnite [P]. Videli boste, da se kocka nenehno premika vzdolž osi Y. Kliknite za vrnitev v Blender. Ponovno pritisnite [P]. Videli boste, da se ponovno pojavi isto zaporedje dogodkov. Kliknite, da se znova vrnete v Blender.

Povzemimo dogajanje v GE. Senzor pošlje signal krmilniku vsak okvir. Pošlje signal aktuatorju, ta pa uporabi gibanje za predmet, ki premakne kocko za 0,1 enote vzdolž osi Y. Ko se to zgodi v vsakem okvirju, vidimo, da se kocka nenehno premika. Če igro pustite teči, bo kocka sčasoma šla v neskončnost. To je tako zanimivo kot opazovanje rasti trave, zato nadaljujmo z lekcijo!

Upravljanje kocke s smernimi tipkami

Zdaj je senzor Always odgovoren za premikanje kocke. To bomo spremenili, tako da bo zdaj mogoče premikanje nadzorovati s pritiskom na tipko.

Kliknite možnost Vedno senzorja (ali tapnite<>na njegovi desni). To bo prikazalo seznam razpoložljivih vrst senzorjev (glejte sliko na desni).

Na seznamu izberite tipkovnico. Zaslon na dotik se bo zdaj spremenil in prikazal možnosti prilagajanja tipkovnice.

to nova plošča Senzor nam bo omogočil izbiro tipke, s pritiskom na katero bomo poslali signal krmilniku, ta pa bo posredoval signal aktuatorju. Kliknite gumb z oznako Tipka in ko se na njem prikaže »Pritisnite tipko«, pritisnite gumb [Gor] na tipkovnici.

Pritisnite [P] za začetek igre. Kocka se ne premika več samodejno. Pritisnite tipko [Gor] in začelo se bo premikati. Ko nehate pritiskati tipko, se bo kocka ustavila. Ponovno pritisnite tipko in kocka se bo ponovno začela premikati. Kliknite za vrnitev v Blender.

Dodajanje dodatnih kontrolnikov na tipkovnici



Zdaj bomo dodali možnost, da kocko premaknete nazaj in jo zavrtite, kar vam bo omogočilo premikanje kocke po celotnem prizoru.

Da bi dodali možnost premikanja nazaj, bomo dodali nov (skoraj enak) niz logičnih blokov. Ponovno kliknite gumb Dodaj na plošči Senzorji, krmilniki in aktuatorji, da ustvarite tri nove logične bloke. Povežite jih kot prej.

Komentiraj. Tukaj lahko uporabite ključ za razširitev in obnovitev logične plošče, saj se bo hitro začela zapolnjevati z bloki.

V novo dodanem senzorju spremenite njegovo vrsto v Tipkovnica in dodelite tipko [Dol]. V novem aktuatorju gibanja nastavite vrednost Y (2. stolpec) parametra dLoc na -0,1.

Pritisnite [P] za začetek igre. Če so bili logični bloki pravilno konfigurirani, lahko zdaj premikate kocko naprej in nazaj s tipkama [Gor] in [Dol].

Za dokončanje tega dela vadnice bomo dodali možnost vrtenja predmeta, da boste lahko premikali svoj model po celotnem prizorišču.

Dodajte tri nove logične bloke, jih povežite in spremenite vrsto senzorja v tipkovnico. Senzorju dodelite tipko [levo].

Zdaj pa naredimo, da aktuator gibanja zavrti kocko. Predmet bomo zavrteli okoli njegove osi Z. V parametru dRot nastavite vrednost Z (3. stolpec) na -0,1.

Zaženite igro. Zdaj, ko pritisnete tipko [Levo], se bo kocka vrtela. In ko po vrtenju kocke pritisnete tipko [Gor], se bo kocka začela premikati v smeri, v katero ste jo zavrteli. Kliknite za vrnitev v Blender. Dodajmo možnost vrtenja predmeta v drugo smer.

Kot prej dodajte tri nove logične bloke, jih povežite in spremenite vrsto senzorja v tipkovnico.

Senzorju dodelite tipko [desno] in nastavite vrednost Z (3. stolpec) parametra dRot v aktuatorju gibanja na 0,1.

Ponovno zaženite igro. Sedaj lahko s smernimi tipkami premikate kocko po prizoru. Upoštevajte, da lahko to logiko igre dodate kateremu koli predmetu v Blenderju (ne glede na njegovo obliko ali velikost) in premikal se bo popolnoma enako kot naša kocka. Kliknite za vrnitev v Blender.

Malo o shranjevanju nastavitev GE


Zdaj bomo poimenovali naše logične bloke in jih minimizirali. Logična plošča mora biti čim bolj jasna in neobremenjena.

To ne bo vplivalo na funkcionalnost logike, vendar bo pomagalo, da bo logična plošča bolj obvladljiva.

Kliknite logično ploščo, da jo razširite na celoten zaslon. Na prvi plošči s senzorji lahko poleg vrste senzorja vidite besedilno polje z napisom senzor. To ime je treba zamenjati z bolj informativnim. Spremenite to besedilo v "tipka gor". Nato kliknite gumb s puščico na desni strani besedilnega polja, da strnete ploščo na dotik.

To ponovite za druge senzorje. Enako storite z aktuatorji in jim dajte imena (npr. "pomakni se naprej", "zavij levo" itd.).

Kliknite znova, da obnovite logično ploščo na običajno velikost.

Kot lahko vidite, je z naslovnimi bloki veliko lažje razumeti, kaj se dogaja.

Odstranjevanje logičnih blokov in povezav

Če želite izbrisati logični blok, kliknite gumb X v zgornjem levem kotu bloka. Če želite odstraniti povezave med logičnimi bloki, postavite kazalec miške na črto, ki povezuje bloke, in pritisnite tipko.

Premikanje kocke z uporabo fizike

Ena najmočnejših funkcij igralnega mehanizma Blender je vgrajen fizikalni motor Bullet.

Ko uporabite silo za premikanje predmeta po prizorišču, bo fizikalni sistem samodejno izračunal zapletene interakcije med predmetom, kot so trki z drugimi predmeti v prizorišču. Za številne vrste iger uporaba fizike reši veliko težav, nastavitev fizikalnega sistema pa je precej preprosta.

Zdaj bomo ustvarjali nova igra iz nič z uporabo fizikalnega motorja.

Scena bo sestavljena iz krogle z uporabo fizike.

Preden začnemo, ponastavimo sceno v Blenderju na začetno stanje in nastavimo videz 3D okna, kot je prikazano na sliki na desni. Če želite to narediti, sledite tem korakom:

  • Izberite Datoteka > Novo in kliknite Izbriši vse.
  • Zavrtite sceno s srednjim gumbom miške (MMB)
  • Spremenite pogled v način perspektive z možnostjo Pogled > Perspektiva (ali)
  • Spremenite način risanja v oknu 3D v način s teksturo (lahko kliknete )
  • Odprite logično ploščo igre

Postavimo sceno. Preden začnete ustvarjati sceno za igro, odstranite kocko.

  • Dodajte kroglo, Dodaj > Mreža > UVSphere (meni Dodaj lahko prikličete tudi s pritiskom na tipko [Preslednica]).
  • V parametrih krogle določite segmente: 32, obroče: 32.
  • Zapustite način urejanja s pritiskom na tipko in se vrnite v način predmeta.
  • Kliknite, da počistite možnosti vrtenja krogle (krogla mora biti še vedno izbrana).

Izdelava fizičnega modela v GE

V logični plošči najdete gumb Igralec.

Kliknite ta gumb in imeli boste dostop do številnih nastavitev za izbrani predmet.

Vklopite gumb Dynamic. To bo GE povedalo, da je izbrani model fizični objekt. Prikazale se bodo tudi številne dodatne nastavitve za predmet.

Določite naslednje nastavitve:

  • Togo telo. Predmet se bo pravilno vrtel s fizikalnim motorjem GE. Če ta možnost ni omogočena, se bo objekt lahko samo premikal, ne pa tudi vrtel.
  • Brez spanja. Objekt ne bo nikoli deaktiviran (»pojdi spat«).

Zdaj pritisnite [P], da vnesete GE. Videli boste, da se krogla začne premikati, čeprav nismo dodali nobenega logičnega bloka. To se zgodi, ker na kroglo deluje gravitacija in ta začne padati. To ponazarja eno od značilnosti notranje interakcije fizični svet prizorov. Kliknite za vrnitev v Blender.

Prizorišču moramo nekaj dodati, na kar bo krogla padla.

Prizoru dodajte površino (Dodaj > Mreža > Ravnina).

Kliknite, če želite način urejanja spremeniti v Objekt.

Kliknite, da počistite možnosti vrtenja predmeta.

Postavite površino pod kroglo in pritisnite [P]. Videli boste, da krogla zdaj pade na površje in se ustavi.

Zdaj moramo površino povečati, da bomo imeli več prostora za premikanje krogle po površini.

Spremenite vrsto 3D kazalca iz načina premikanja v način povečave ().

Povečajte površino tako, da bo približno desetkrat večja v oseh X in Y.

Slike na desni prikazujejo postopek dodajanja, premikanja in spreminjanja velikosti površine.

Premikanje fizičnega predmeta v GE

Zdaj bomo na kroglo uporabili fizične sile, da se bo premikala po odru.

POZOR. Prepričajte se, da je krogla izbrana. Če ste pravkar ustvarili površino, bo še vedno izbrana. Če želite znova izbrati kroglo, jo morate klikniti z desno tipko miške.

Krogli v logični plošči dodajte nov senzor, krmilnik in aktuator ter jih povežite.

V aktuatorju Motion moramo nastaviti parameter Force za premikanje predmeta po sceni.

Vrednost Y (2. stolpec) parametra sile nastavite na 1.


Zdaj pritisnite [P]. Vidite lahko, kako krogla pade na površje in se začne kotaliti.

Ko bo prepotovala nekaj razdalje, se bo začela kotaliti hrbtna stran. To se zgodi, ker smo na kroglo uporabili silo vzdolž lokalne osi Y krogle. Ker se krogla lahko vrti, se vrti tudi os Y, kot je prikazano na spodnji sliki. Kliknite za vrnitev v Blender.


Da bi to odpravili, spremenimo smer sile z lokalne osi na globalno. Če želite to narediti, onemogočite gumb L na desni strani možnosti Force. Znova pritisnite [P] in videli boste, da se krogla nenehno kotali v želeno smer.

Morda niste opazili, kako deluje fizikalni motor. Takoj ko na kroglo uporabimo silo, se začne kotaliti. To vrtenje je posledica interakcije med kroglo in površino.

Poleg tega, ko bo krogla dosegla rob površine, jo bo motor obvestil o tem dejstvu in bo še naprej padala.

To je le nekaj primerov, kako se fizika uporablja v GE.

Kliknite za vrnitev v Blender.

Upravljanje krogle s smernimi tipkami


Zdaj prevzamemo nadzor nad kroglo s pomočjo smernih tipk.

Spremenite vrsto senzorja na Tipkovnica in mu dodelite tipko [Gor].

Zdaj dodajte nove senzorje, krmilnike in aktuatorje, jih povežite skupaj in jih konfigurirajte na naslednji način:

  • Senzor tipke [Dol] krmili aktuator gibanja z vrednostjo -1 v polju Y (2.) parametra Force (pri čemer je tipka L onemogočena).
  • Senzor tipke [levo] krmili aktuator gibanja z vrednostjo -1 v polju X (1.) parametra sile (z onemogočeno tipko L).
  • Senzor tipke [desno] krmili aktuator gibanja z vrednostjo 1 v polju X (1.) parametra sile (z onemogočeno tipko L).

Ko znova pritisnete [P], boste lahko nadzorovali kroglo in jo premikali po površini. Kliknite za vrnitev v Blender.

Da bo logična plošča jasnejša, dajte različnim senzorjem in aktuatorjem ustrezna imena.

Eksperimentirate lahko z vrednostmi aktuatorja od 1 do 2 in od -1 do -2.



Dodajanje ovir prizorišču

Dodajte kocko na sceno (Dodaj > Mreža > Kocka). Pritisnite za izhod iz načina urejanja. Kliknite, da počistite možnosti rotacije predmeta in postavite kocko nekam na površino.

Ponovite ta korak in na površino dodajte še nekaj različnih predmetov.

Zdaj pritisnite [P]. Videli boste, kako krogla trči in se odbija od predmetov, ki ste jih dodali. To je še en primer fizike, ki se uporablja v GE.

Kliknite za vrnitev v Blender. Prizorišču lahko poskusite dodati več površin, da ustvarite diapozitive in skoke.

Če imate izkušnje z modeliranjem v Blenderju, lahko poskusite ustvariti bolj zapleteno sceno. Če nimate takšnih izkušenj, upamo, da bo ta lekcija povečala vaše zanimanje za Blender in nadaljnje preučevanje le-tega, vključno z modeliranjem.

Ustvarjanje več fizičnih objektov

Izberite kocko, ki ste jo dodali na sceno. Na logični plošči nastavite enake fizikalne parametre, kot ste jih nastavili za kroglo (samo ne omogočite Brez spanja, da dovolite objektu, da »spi«; ko se objekt sprosti vire za izračune v fizikalnem motorju)

Zdaj pritisnite [P], da začnete igro in zakotalite kroglo proti kocki. Videli boste, da se je kocka začela premikati, ko jo je zadela krogla.

Vendar se kocka premika na zelo nenavaden način – pravzaprav se kotali kot bi bila okrogla.

Trenutno Blenderjev fizikalni sistem predpostavlja, da bo na novo dodan objekt privzeto imel model sferične interakcije. Kliknite za vrnitev v Blender.

Poiščite gumb Meje pod razdelkom Igralec. Kliknite ta gumb in na dodatnem seznamu boste lahko izbrali različne modele interakcije. Privzeto je Box.

V primeru kocke se bo model odlično obnesel. Če pa imate bolj zapleteno obliko predmeta, vam lahko pomaga model "Convex Hull Polytope".

Izberite drug predmet izmed tistih, ki ste jih dodali na sceno, in ponovite iste korake, pri čemer izberite samo interakcijski model »Convex Hull Polytope«.

Pritisnite [P] in zavrtite kroglo proti različnim predmetom, da se premika. Kliknite za vrnitev v Blender.


Preimenovanje predmetov

Ko dodate nov predmet, Blender temu predmetu dodeli privzeto ime (npr. kocka ali kocka.001, če kocka že obstaja).

Dobra praksa je preimenovanje predmetov glede na njihovo vlogo v sceni. Tako bo vaš prizor bolj razumljiv tako vam kot drugim ljudem, ki preučujejo vaš prizor. Če želite preimenovati predmet, lahko izberete ploščo Objekt in spremenite ime v polju OB na zavihku Objekt in povezave.

Predmet lahko preimenujete tudi na plošči za urejanje, na zavihku Povezava in materiali.



Dokončanje lekcije o osnovah GE

čestitke! Končali ste vadnico o osnovah uporabe Blender Game Engine! Zdaj imate osnovne veščine uporabe GE. Še vedno pa morate pridobiti izkušnje v naslednjih temah:

  • Povezovanje senzorjev, krmilnikov in aktuatorjev v logični panel.
  • Uporaba aktuatorja gibanja za neposredno premikanje predmetov.
  • Uporaba aktuatorja gibanja za premikanje predmetov z uporabo fizike.
  • Upravljanje predmetov igre s tipkovnico.
  • Ustvarjanje preproste 3D igre.
  • Ustvarjanje novih predmetov s fiziko v GE.

Z veščinami, ki ste jih pridobili, boste lahko tej preprosti sceni dodali več zapletenosti, ko boste izvedeli več o modeliranju v Blenderju.

Na tej točki boste morda želeli znova sestaviti končno sceno, da vidite, kako daleč lahko pridete, ne da bi prebrali vadnico. Če si lahko vse prikličete iz spomina, potem ste na dobri poti, da postanete napredni uporabnik Blenderja GE!

Naslednjih nekaj dodatnih poglavij bo pokrivalo nekatera bolj zapletena vprašanja, kot je ustvarjanje skoka krogle in dodajanje materialov v sceno.

Ustvarjanje bolj zapletenih ravni igre in interakcij

Ustvarjanje kroglastega skoka


Zdaj bomo poskrbeli, da bo naša krogla skočila, ko pritisnemo tipko [Space].

Krogli dodajte nov senzor, krmilnik in aktuator ter jih povežite. Spremenite vrsto senzorja v Tipkovnica in mu dodelite tipko [Preslednica].

V razdelku Sila aktuatorja gibanja nastavite vrednost Z (2. stolpec) na 250. Onemogočite gumb L, tako da bo sila uporabljena glede na globalni koordinatni sistem in ne glede na lokalni koordinatni sistem predmeta.

To bo kroglo nekoliko potisnilo, tako da bo videti, kot da krogla poskakuje.

Pritisnite [P] in v igri pritisnite tipko [Space]. Opazili boste, da bo krogla skočila naravnost v zrak. In če držite tipko [Space] pritisnjeno, se bo krogla nenehno dvigovala.



Ustvariti moramo dodatno omejitev - krogla se lahko odbije le, ko se dotakne površine. Za to bomo uporabili senzor tipa Touch. Krogli dodajte še eno tipalo in spremenite njegovo vrsto v Dotik. Zdaj združite ta senzor z istim krmilnikom, s katerim je povezan senzor [preslednica].

Krmilnik bo poslal signal z njim povezanim aktuatorjem le, ko bo prejel signale dveh senzorjev hkrati, tj. pritisnjena bo tipka [Space] in krogla se bo dotaknila drugega predmeta, na primer površine.


Znova zaženite igro po dogodku

Ko se krogla dotakne določenega predmeta, bomo prisilili GE, da ponovno zažene igro.

  • Na sceno dodajte nov predmet (uporabili bomo valj) in ga postavite nekje blizu krogle (vendar se je ne dotikajte). Prepričajte se, da je izbran nov predmet.
  • Odprite logično ploščo, objektu dodajte senzor, krmilnik in aktuator ter jih povežite skupaj.
  • Spremenite vrsto aktuatorja v Scene. Privzeto dejanje aktuatorja Scene je Restart.

Zdaj pritisnite [P], da začnete igro. Videti bo, kot da se nič ne dogaja. To je zato, ker senzor Always nenehno kliče aktuator scene, ki nato znova zažene igro.


  • Spremenite vrsto senzorja na Tipkovnica in mu dodelite tipko [R].
  • Pritisnite [P] in spet boste lahko premaknili kroglo.

S pritiskom na tipko [R] se igra ponovno zažene.

Kliknite za izhod iz igre.

Zdaj spremenite vrsto senzorja v Touch.

Zaženite igro. Igra se bo zdaj znova začela, ko se s kroglo dotaknete valja.

Kliknite za izhod iz igre.

To ponazarja nekatere glavne zmogljivosti GE za upravljanje iger. Lahko bi naredili igro, sestavljeno iz več prizorov (ki niso zajeti v tej vadnici), ki bi lahko vsebovali na primer različne ravni igre.

Zbiranje predmetov v igri

Na sceno bomo dodali predmete, ki jih lahko igralec pobere, ko se jim približa.

  • Prizoru dodajte kroglo in jo postavite nekoliko stran od glavne krogle.
  • Tej krogli dodajte senzor, krmilnik in aktuator ter jih povežite.
  • Spremenite vrsto senzorja v Blizu
  • Spremenite vrsto aktuatorja v Edit Object.
  • V nastavitvah aktuatorja spremenite Add Object to End Object.
  • Omogočite gumba Igralec in Duh. Parameter Ghost pomeni, da noben drug predmet ne bo mogel komunicirati s tem predmetom.

Zaženite igro. Zdaj, ko se približate tej krogli, bo izginila.

Kliknite za vrnitev v Blender.

Štetje zbranih predmetov

Ko vzamemo predmet, si ga moramo nekako zapomniti, da prikažemo skupno število zbranih predmetov.

Za to bomo uporabili aktuator sporočila, ki pošlje signal drugemu objektu scene, ki ima senzor sporočila. Ta senzor se bo odzval na sporočilo aktuatorja in povečal število zbranih predmetov.

  • Dodajte še en aktuator krogli, ki jo bomo vzeli, in spremenite njegovo vrsto v Sporočilo.
  • Povežite ta aktuator z obstoječim krmilnikom.


  • Spremenite polje Zadeva aktuatorja v nekaj pomembnega, na primer »prevzem«. Pomembno je, da si zapomnite to ime, ker ga boste potrebovali za konfiguracijo senzorja sporočil.

Ko se sproži senzor Bližine, bosta oba aktuatorja poklicana hkrati, aktuator za sporočila pa bo poslal sporočilo vsem objektom v prizorišču.

Za shranjevanje podatkov o številu zbranih objektov bomo uporabili drug objekt. V ta namen lahko uporabite prazen objekt. Prisoten bo v sceni, a ker nima nobene geometrije, ne bo viden v GE.

  • Na sceno dodajte prazen predmet (Dodaj > Prazno).
  • Ko je ta predmet izbran, kliknite gumb Dodaj lastnost v logični plošči.
  • Spremenite ime dodane lastnosti (Property) predmeta v items in spremenite njegov tip iz Float v Int (celo število). Tukaj bomo shranili število zbranih predmetov.
    • Praznemu objektu dodajte senzor, krmilnik in aktuator ter jih povežite.
    • Spremenite vrsto senzorja v Sporočilo in v polje Zadeva vnesite »prevzem« (isto ime, kot ste ga navedli v polju Zadeva aktuatorja sporočila predmeta, ki se zbira).
    • Spremenite vrsto aktuatorja v Lastnost in spremenite njegove nastavitve Dodeli v Dodaj.
    • Spremenite polje Prop v "items" (ime lastnosti, ki jo želite povečati) in nastavite vrednost na 1.

    Zdaj pritisnite [P], da začnete igro in dvignite predmet - videli boste, da se bo vrednost predmetov povečala, ko ga dvignete.

    Kliknite za vrnitev v Blender.

    Vrednost elementov lahko uporabite za nekaj sprememb v igri, na primer ponovni zagon ali preklop na nova scena, ko je zbrano določeno število predmetov.

    Dodajanje barve igri z uporabo materialov

    Do zdaj so imeli vsi predmeti, dodani na sceno siva barva. Za spremembo videza scene bomo modelom v sceni dodali barvo in zanje ustvarili nove materiale.

    • Odprite ploščo Materiali s klikom na ikono sive krogle ali s pritiskom na tipko.
    • Z desnim gumbom miške (RMB) izberite našo glavno kroglo v 3D oknu.
    • Kliknite na gumb Dodaj novo. To bo krogli dodalo nov material. Pojavilo se bo veliko število nastavitev za material. Zdaj moramo samo še spremeniti barvo materiala.
    • Kliknite na polje Col, ki določa glavno barvo materiala.
    • Prikaže se pogovorno okno za izbiro barve. Izberite rdečo barvo v njem in premaknite kazalec miške stran od pogovornega okna. Krogla na odru bo rdeča.

    Ponovite te korake za druge predmete v prizorišču in jim dajte različne barve.

    Ustvarjanje samostojne različice igre

    Blender vam omogoča ustvarjanje samostojnih različic vaše igre, ki ne potrebujejo Blenderja za delovanje.

    V meniju Blender izberite File > Save Runtime.

    V pogovornem oknu Shrani vnesite ime izvedljive datoteke za igro (na primer ball_game). To bo ustvarilo datoteko ball_game.exe.

    Kratek pregled vseh vrst senzorjev, krmilnikov in aktuatorjev Blender

    Senzorji

    • Joystick - odziva se na signale krmilne palice (levo/desno, gor/dol, gumbi).
    • Sporočilo - sproži se, ko prispe sporočilo. Z aktuatorjem sporočil lahko pošiljate sporočila drugim objektom.
    • Žarek - sproži se, ko je predmet blizu dane koordinatne osi. Dodatno lahko preverite material predmeta ali vrednost lastnosti.
    • Naključno - deluje naključno. Pogostost sprožitve nadzira parameter Seed (ali uporabite generator naključnih števil v Pythonu).
    • Lastnost - se sproži, ko je vrednost lastnosti med podano najmanjšo in največjo vrednostjo ali enaka podani vrednosti.
    • Radar - sproži se, ko se predmet pojavi na določenem območju (nastavljeno z razdaljo in kotom).
    • Blizu – sproži se, ko se predmet pojavi na določeni razdalji od predmeta s senzorjem.
    • Trk - sproži se, ko predmet deluje (trči) z drugim predmetom. Določite lahko material ali lastnost, ki naj bi jo imel predmet.
    • Dotik - sproži se, ko se predmet dotakne predmeta s senzorjem.
    • Miška - sproži se, ko pride do določenega dogodka miške, kot je klik miške, premik miške itd.
    • Tipkovnica - sproži se, ko pritisnete določeno tipko.
    • Vedno – deluje neprekinjeno.

    Krmilniki

    • IN - pokliče povezani aktuator, če so se sprožili vsi senzorji, povezani z njim.
    • ALI - pokliče povezani aktuator, če se sproži vsaj en z njim povezan senzor.
    • Izraz – ovrednoti izraz.
    • Python - pokliče skript v Pythonu.

    Aktuatorji

    • Vidnost – prikaže ali skrije predmet.
    • Igra - znova zažene ali ustavi igro. Lahko tudi naloži nov prizor.
    • CD – Omogoča vam upravljanje glasbenih posnetkov na CD-ju.
    • Sporočilo - pošlje sporočilo vsem predmetom v prizorišču ali določenemu predmetu. To sporočilo sprejme senzor za sporočila.
    • Naključno – nastavi naključno vrednost lastnosti predmeta.
    • Scena - Omogoča nadzor nad sceno - nalaganje, predvajanje, premor itd. Ta aktuator je zelo uporaben za prikaz različnih prizorov, kot je začetni zaslon ali meni. Ko uporabnik želi začeti igro, lahko senzor tipkovnice (na primer pritisk na tipko [Space] za začetek igre) poveže z aktuatorjem scene, ki bo naložil sceno igre. Ta aktuator vam omogoča tudi, da določite, kako bo kamera gledala prizor.
    • Uredi predmet - omogoča nadzor nad dodajanjem, urejanjem in brisanjem predmetov v sceni med igro. Uporablja se lahko na primer za izstrelitev naboja iz orožja. Lahko tudi sledi predmetom.
    • Lastnost - nastavitev vrednosti lastnosti predmeta.
    • Zvok - omogoča nadzor zvoka. Na voljo so samo tisti zvočni posnetki, ki so bili naloženi v Blender.
    • Kamera – Omogoča kameri sledenje subjektu. Kamero lahko postavite za objekt (ali vzdolž osi X ali Y) in namestite na določeni razdalji (najmanjši in največji) od objekta ter na določeni višini.
    • IPO - Omogoča nadzor nad animacijo predmeta v igri.
    • Omejitev - omeji možne položaje predmeta.
    • Gibanje - Omogoča nadzor gibanja predmeta. Nadzor je lahko neposreden (dLoc in dRot) ali z uporabo fizike (Sila in navor)

    Nadaljevanje dela z Blender Game Engine

    Upamo, da ste uživali v učenju osnov GE in da boste še naprej delali z motorjem, pri čemer boste uporabljali znanje in veščine, ki ste jih pridobili, jih širili s prakso in se učili iz izkušenj članov širše skupnosti Blender GE.

    koristne povezave

    To je eden najboljših virov za uporabnike GE. Če želite postaviti kakršna koli vprašanja o delu z GE, objaviti nekaj svojega dela ali preprosto izboljšati svoje znanje o GE, vsekakor obiščite ta forum.

Članek bo uporaben za začetnike razvijalce iger. V njej si bomo ogledali prednosti in metode ustvarjanja in upodabljanja tridimenzionalnih objektov za izometrične 2D igre na primeru Blenderja. Članek ne bo vseboval kompleksnih operacij, dovolj je osnovno znanje 3D urejevalnika. Za primer upodabljanja in animacije sem vzel stolp iz Dune2 in, da ne bo tako dolgočasno sam, sem ga dopolnil z dvema zgradbama iz Desert Strike.

Prednosti tega pristopa v primerjavi z 2D upodabljanjem: hitrost in enostavnost ustvarjanja animacij, enostavnost nadgradnje modelov (na primer za ustvarjanje nadgradenj stavb), dokaj dobri rezultati z nizko časovno naložbo.

Napake: zmanjšanje “dušnostnosti” slik in pravzaprav potrebe po znanju 3D modeliranja.

Začetek, priprava odra

Privzeto je ustvarjena "prazna" datoteka Blender s tremi predmeti: kamero, svetlobnim virom in kocko v sredini. Začnimo nastavljati kamero, v njenih lastnostih preklopite iz perspektivnega v pravopisni način, nato pa na plošči z lastnostmi določite naslednje parametre:

Preobrazba
X: 12,0
Y: -12,0
Z: 12,0

(kot lahko vidite, koordinate izgledajo kot N, -N, N, medtem ko je N lahko karkoli, ker imamo ortogonalno kamero)

Rotacija
X: 54,8°
Y: 0°
Z: 45°

Če je vse narejeno pravilno, potem gledanje prizora skozi kamero (za to morate pritisniti Številka0), bomo videli našo kocko v izometriji.

Po poskusu upodabljanja ( F12) pri prvem izometričnem preizkusu boste videli, da so ploskve kocke zelo neenakomerno osvetljene. Začnimo s svetlobo! Najprej v lastnostih sveta (zavihek Svet) omogočite Ambient Occlusion in zanjo določite zahtevano vrednost faktorja (v primeru je nastavljena na 0,5). Drugič, spremenimo vrsto svetlobnega vira iz Point v Sun. To je potrebno, da so vse sence usmerjene v eno smer in niso odvisne od položaja predmeta glede na vir svetlobe.


Primer upodabljanja s točkovnim virom svetlobe


Primer upodobitve z virom sončne svetlobe

Ko že govorimo o sencah, ne naredite iste napake kot jaz! Če iz nekega razloga želite, da so vsi predmeti igre na istem prizorišču in upodobljeni istočasno (na primer, da ne zlepite spritesheeta iz ločenih slik), se prepričajte, da na noben način ne vplivajo drug na drugega in da njihove sence in osvetlitev (neonski napisi, luči itd.) ne prekrivajo drugih predmetov. Na sliki na začetku članka je opazno, da senca stolpa pada na stražni stolp.

Naše kocke so upodobljene na grdo sivo ozadje, ki pa ga je seveda treba izklopiti, da se kasneje ne bi ukvarjali z izrezovanjem ozadja predmetov. Če želite to narediti, na zavihku Render poiščite razdelek Shading in spremenite način Alpha iz Sky v Transparent (če uporabljate Blender Render) ali potrdite polje Transparent v razdelku Film (v Cycles Render).

Končali smo z nastavitvijo, pojdimo na ustvarjanje predmetov, na primer tega stolpa. Mislim, da postopka njegovega modeliranja ni treba podrobno obravnavati, takoj izkoristimo same prednosti, ki nam jih daje tridimenzionalni predmet.


Stolp se močno vrti

Številne strategije uporabljajo vizualni prikaz gradnje zgradbe: najprej so zgrajeni temelji, nato stene in tako naprej. Poskusimo narediti nekaj podobnega. Izberite vse predmete v sceni ( A), nato jih podvojite ( Shift-D) in ga premaknite v drugo plast ( M in izberite želeno plast). Operacijo lahko ponovimo tolikokrat, kolikor potrebujemo gradbenih faz. Pojdimo na drugo plast in "uničimo" stolp.


Ponovimo zahtevano število krat, et voila!

Naknadna obdelava

Na začetku članka sem med slabostmi tega pristopa omenil odsotnost občutka »svetilke«. Na srečo ga je mogoče delno obnoviti z uporabo naknadne obdelave in mehanizma Freestyle, vgrajenega v Blender. Ne bom ga podrobno obravnaval, pokazal bom le, česa je sposoben.


Primeri Freestyle dela

Upam, da sem dokazal, da je ustvarjanje elementov za 2D igre v 3D v mnogih primerih hiter in priročen postopek. Hvala za vašo pozornost!

Članek bo uporaben za začetnike razvijalce iger. V njej si bomo ogledali prednosti in metode ustvarjanja in upodabljanja tridimenzionalnih objektov za izometrične 2D igre na primeru Blenderja. Članek ne bo vseboval kompleksnih operacij, dovolj je osnovno znanje 3D urejevalnika. Za primer upodabljanja in animacije sem vzel stolp iz Dune2 in, da ne bo tako dolgočasno sam, sem ga dopolnil z dvema zgradbama iz Desert Strike.

Prednosti tega pristopa v primerjavi z 2D upodabljanjem: hitrost in enostavnost ustvarjanja animacij, enostavnost nadgradnje modelov (na primer za ustvarjanje nadgradenj stavb), dokaj dobri rezultati z nizko časovno naložbo.

Napake: zmanjšanje “dušnostnosti” slik in pravzaprav potrebe po znanju 3D modeliranja.

Začetek, priprava odra

Privzeto je ustvarjena "prazna" datoteka Blender s tremi predmeti: kamero, svetlobnim virom in kocko v sredini. Začnimo nastavljati kamero, v njenih lastnostih preklopite iz perspektivnega v pravopisni način, nato pa na plošči z lastnostmi določite naslednje parametre:

Preobrazba
X: 12,0
Y: -12,0
Z: 12,0

(kot lahko vidite, koordinate izgledajo kot N, -N, N, medtem ko je N lahko karkoli, ker imamo ortogonalno kamero)

Rotacija
X: 54,8°
Y: 0°
Z: 45°

Če je vse narejeno pravilno, potem gledanje prizora skozi kamero (za to morate pritisniti Številka0), bomo videli našo kocko v izometriji.

Po poskusu upodabljanja ( F12) pri prvem izometričnem preizkusu boste videli, da so ploskve kocke zelo neenakomerno osvetljene. Začnimo s svetlobo! Najprej v lastnostih sveta (zavihek Svet) omogočite Ambient Occlusion in zanjo določite zahtevano vrednost faktorja (v primeru je nastavljena na 0,5). Drugič, spremenimo vrsto svetlobnega vira iz Point v Sun. To je potrebno, da so vse sence usmerjene v eno smer in niso odvisne od položaja predmeta glede na vir svetlobe.


Primer upodabljanja s točkovnim virom svetlobe


Primer upodobitve z virom sončne svetlobe

Ko že govorimo o sencah, ne naredite iste napake kot jaz! Če iz nekega razloga želite, da so vsi predmeti igre na istem prizorišču in upodobljeni istočasno (na primer, da ne zlepite spritesheeta iz ločenih slik), se prepričajte, da na noben način ne vplivajo drug na drugega in da njihove sence in osvetlitev (neonski napisi, luči itd.) ne prekrivajo drugih predmetov. Na sliki na začetku članka je opazno, da senca stolpa pada na stražni stolp.

Naše kocke so upodobljene na grdo sivo ozadje, ki pa ga je seveda treba izklopiti, da se kasneje ne bi ukvarjali z izrezovanjem ozadja predmetov. Če želite to narediti, na zavihku Render poiščite razdelek Shading in spremenite način Alpha iz Sky v Transparent (če uporabljate Blender Render) ali potrdite polje Transparent v razdelku Film (v Cycles Render).

Končali smo z nastavitvijo, pojdimo na ustvarjanje predmetov, na primer tega stolpa. Mislim, da postopka njegovega modeliranja ni treba podrobno obravnavati, takoj izkoristimo same prednosti, ki nam jih daje tridimenzionalni predmet.


Stolp se močno vrti

Številne strategije uporabljajo vizualni prikaz gradnje zgradbe: najprej so zgrajeni temelji, nato stene in tako naprej. Poskusimo narediti nekaj podobnega. Izberite vse predmete v sceni ( A), nato jih podvojite ( Shift-D) in ga premaknite v drugo plast ( M in izberite želeno plast). Operacijo lahko ponovimo tolikokrat, kolikor potrebujemo gradbenih faz. Pojdimo na drugo plast in "uničimo" stolp.


Ponovimo zahtevano število krat, et voila!

Naknadna obdelava

Na začetku članka sem med slabostmi tega pristopa omenil odsotnost občutka »svetilke«. Na srečo ga je mogoče delno obnoviti z uporabo naknadne obdelave in mehanizma Freestyle, vgrajenega v Blender. Ne bom ga podrobno obravnaval, pokazal bom le, česa je sposoben.


Primeri Freestyle dela

Upam, da sem dokazal, da je ustvarjanje elementov za 2D igre v 3D v mnogih primerih hiter in priročen postopek. Hvala za vašo pozornost!

Blender je program za ustvarjanje animirane računalniške grafike in video produkcije. To je v bistvu urejevalnik 3D, ki ga podpira veliko uporabnikov zahvaljujoč odprtokodni kodi. Toda na tem urejevalniku 3D, zahvaljujoč vgrajenemu igralni motor"Blender Game Engine", lahko ustvarite igre katere koli vrste, fokusa in žanra. Izkazalo se je, da je na njem mogoče ustvariti igre brez uporabe skriptnega jezika, ki je mimogrede na voljo (Python) za nekatere potrebe. Trdijo, da je na njem igre mogoče ustvariti v petih minutah. Obstajajo reference in vodniki za uporabo in ustvarjanje iger. Računate lahko tudi na veliko skupnost uporabnikov Blenderja, na katere se lahko obrnete po pomoč. 3D grafika ima vse prednosti OpenGL, različne visoke ločljivosti, podporo za skoraj vse priljubljene avdio in video formate.

Podprti so vsi glavni 2D grafični formati: TGA, JPG, PNG, OpenEXR, DPX, Cineon, Radiance HDR, Iris, SGI Movie, IFF, AVI in Quicktime GIF, TIFF, PSD, MOV itd.

Podprti so vsi glavni formati 3D grafike: 3D Studio, AC3D, COLLADA, FBX Export, DXF, Wavefront OBJ, DEC Object File Format, DirectX, Lightwave, MD2, Motion Capture, Nendo, OpenFlight, PLY, Pro Engineer, Radiosity, Raw Triangle , Softimage, STL, TrueSpace, VideoScape, VRML, VRML97, X3D Extensible 3D itd.

Možna je uporaba fizikalnega motorja Bullet Physics Library. Grafika v igrah je lahko poljubne zapletenosti, odvisno od vaših sposobnosti. Program je popolnoma brezplačen.

Za operacijski sistemi: Windows 2000, XP, Vista, Mac OS X (PPC in Intel), Linux (i386), Linux (PPC), FreeBSD 5.4 (i386), SGI Irix 6.5, Sun Solaris 2.8 (sparc).




Grafični logični urejevalnik za definiranje interaktivnega vedenja brez programiranja. Zaznavanje trčenja in simulacija dinamike zdaj podpirata Bullet Physics Library. Bullet je odprtokodna knjižnica za zaznavanje trkov in dinamiko togega telesa, razvita za Play Station 3. Vrste oblik: konveksni polieder, škatla, krogla, stožec, valj, kapsula, sestavljena in statična trikotna mreža z načinom samodejne deaktivacije. Diskretno zaznavanje trka za simulacijo RigidBody. Podpora za aktiviranje dinamičnih omejitev v igri. Popolna podpora dinamiki vozila, vključno z vzmetnimi reakcijami, togostjo, dušenjem, trenjem pnevmatik itd. Python skriptni API za prefinjen nadzor in umetno inteligenco, popolnoma definirano napredno logiko igre. Podpira vse načine osvetlitve OpenGLTM, vključno s prosojnicami, animiranimi in refleksijsko preslikanimi teksturami. Podpora za multimateriale, načine mešanja več tekstur in tekstur, osvetlitev na slikovno piko, dinamično osvetlitev, načine preslikave, mešanje teksture GLSL vertexPaint, senčenje tonov, animirane materiale, podpora za normalno preslikavo in preslikavo paralakse. Predvajanje iger in interaktivne 3D vsebine brez prevajanja ali predprocesiranja. Zvok z uporabo orodja SDL. Večplastnost prizorov za prekrivne vmesnike.



 

Morda bi bilo koristno prebrati: