Új sorozat indul, mely a Blender játékmotorjába, a Blender Game Engine lelkivilágába szeretne bevezetni. Az iskolánkban ez egy kezdődő szakköri anyag, de ajánlom bármely kollégámnak vagy a játékkészítéssel kacérkodó tanulónak. Az első epizódban arról beszélünk, hogyan kell felkészíteni a Blendert — és magunkat — arra, hogy a programban játékot készíthessünk.
Bicska
Mert egyébként nem egyértelmű, hogy egy alapvetően 3D modellező és animációs alkalmazás képes lenne játékot futtatni! Legtöbbször az a helyzet, hogy ezekben a programokban csak modelleznek, textúráznak, animációkat készítenek. Aztán a produktum átkerül olyan játéktervezőkbe, mint a Unity, Unreal vagy éppen a nyílt forrású Godot Engine. S ez így van rendben, mindenki foglalkozzon a maga dolgával, aztán ha nem tud valamit megoldani, adja tovább egy másik mesternek.
Nem minden programnak áll jól amúgy, ha amolyan szoftveres svájci bicsak módjára a kiskanáltól a dugóhúzóig mindent belezsúfolnak. Ami másoknál idegesítő tudálékosság (készítsünk könnyen, gyorsan csúnya plakátot Wordben), az valahogy itt mégis jól összejön — a Blenderrel kvázi egy teljes grafikai, animációs és játékkészítő stúdiót kapunk ingyen.
Ól in van! — minden az egyben.
Korlátok
Nem szeretném eladni neked a portékámat úgy, hogy azt hidd, életed minden problémájára a Blender a megoldás. Ha te egy jó programozó vagy, akkor nem lesz számodra vonzó, hogy egy kapcsolótáblán bogozol eseményeket, és egy keretrendszer megpróbál megóvni téged a kódolástól.
Ha C felől jössz, akkor inkább az Unityt vagy az Unrealt ajánlom, ha Python felől, akkor meg a Godot-t. Ha a többplatformos mobil fejlesztésen gondolkozol, akkor szintén nem a Blender lesz a te spanod. Nem erre való. Itt csak Windows, Makkos vagy Linux rendszerekhez fejleszthetsz.
Előnyök
Blender Game Engine (eztán BGE) azoknak jó, akik gyorsan akarnak eredményeket elérni, a játék logikáját egy grafikus környezetben felépíteni. Nincs kedvük több gigányi fejlesztői környezetet letölteni. Szóval az igazi, egyszemélyes projektekhez, ahol kevés magolással, alapvetően fizikára és logikára építve gyorsan lehet eredményeket elérni.
Nagyon jó kezdőknek. S azok sem torpannak meg, akik, ha kinőtték, saját intelligenciát tudnak fejleszteni.
Mert a Blender alapvetően egy nyílt és dinamikus rendszer, amit Python nyelvű varázsigékkel tovább lehet bűvölni.
Felkészültség
Talán érzed, hogy nem programozói tudásra lesz itt szükséged (még), hanem egy kis Blender-ismeretre.
Igen, ez a legfájdalmasabb része a dolognak. Mert egy 3D-s program felülete olyan, mint egy atomerőmű vezérlőterme. Facebook Messengerről azt sem lehet irányítani. De talán nem is baj, legyünk igényesek magunkhoz, használjuk az agyunkat, fejlesszük a tudásunkat.
Ha ajánlhatok valamit, lapozz bele a Blender — látvány és animáció c. könyvbe, ha az első gyakorlatokat megcsinálod, akkor már itt sem lesz nehéz haladnod. Ezenfelül rengeteg élvezetes videóanyag található a neten… Ezt pl. nézd meg. De át is ugorhatod a könyvet, meg a videókat, igyekszem úgy szerkeszteni ezeket az anyagokat, hogy a Blender-szüzek is értsék!
Kezdőknek itt is van egy csokor videjó…
Alapbeállítás
Ha még nincs a gépeden Blender, töltsd le innen.
A Blender felső menüsorában találsz két legördülőt. Az elsővel megváltoztatod a munkakörnyezetet, ezt állítsd GAME LOGIC-ra. Emellett viszont a program 3D megjelenítőjét is át kell állítanod BLENDER RENDER-ről BLENDER GAME-re, ez a második legördülő. Így kialakul egy új munkakörnyezet, amiben már fut a játékmotor.
A Blender ablakrendszere az Adobe Premiere vagy After Effects programjaihoz hasonlóan felosztott, ami azt jelenti, hogy nem fedik el egymást az ablakok. Két fontos munkaablakot használunk. A fenti, zölddel keretezett a 3D ABLAK, itt játszhatod majd a játékot. Az alsó a LOGIC EDITOR, melynek az általam keretezett kapcsolótábláján fogjuk a játék idegrendszerét, mesterséges intelligenciáját szervezni. Próbáld ki, ha a fenti, 3D ABLAK-ra viszed az egeret:
- Lenyomod az egér görgőjét, s mozgatod az egeret, térforgásra készteti az ablak tartalmát.
- Az egér görgőjével közeledhetsz és távolodhatsz.
- SHIFT+egérgörgő lenyomva: a képernyő síkja mentén mozog az ablak tartalma (vonszolás).
A Blenderben jobb egérgombbal jelöljük ki a tárgyakat. (Nehéz az elején megszokni, utána meg csodálkozol majd, mennyire megizmosodik a középső ujjad 😉
Jelöld ki a játékunk főszereplőjét, a Kockát.
- Ha megnyomod a “G” gombot, akkor elmozdíthatod a tárgyat (grab, go).
- Ha lenyomod az “R” gombot, meg lehet forgatni (rotate).
- Ha pedig az “S“-t, skálázhatod, azaz nagyítható, kicsinyíthető.
Ez a három gomb a Blender három titkos fegyvere, varázsigéje, ráolvasása, sárkányfüve. Használd gyakran, és egészséggel!
Mesterséges intelligencia
Jelfogó, váltó, cselekvő
Figyelj arra, hogy a kocka kijelölt állapotban legyen! Értsük meg most a logikai kapcsolótábla működését!
Sensor | Controller | Actuator = érzékelő (jelfogó) | logikai egység (váltó) | végrehajtó (cselekvő).
Van egy szereplőnk a játéktéren (Kocka). Egy elég buta jószág: nem érez, nem gondol, és nem akar semmit…
Sensor | Controller | Actuator hármassal érezni, gondolni és cselekedni tanítjuk. Nézzünk egy példát!
Adj egy KEYBOARD (Billentyűzet) szenzort a kapcsolótáblához. Ez a jelfogó arra való, hogyha valaki megérint egy általad meghatározott billentyűt, akkor a Kocka meg fogja ezt érezni. Kattints rá az egereddel a KEY felirat melletti üres beviteli mezőbe. A panelen megjelenik egy “Press a Key!” (Nyomj egy gombot!) felirat. Érintsd meg a azt, amivel irányítani szeretnéd a mozgást, ez legyen a felfele nyíl a billentyűzeteden!
Tárgy
Képzeljük el, hogy a Kocka egy valódi kockakő. Ennyit tud most: Megérzi, ha böködöd az ujjaddal, de ez belőle semmilyen gondolatot nem vált ki, legfőképpen cselekvésre nem készteti.
Állat
Menjünk egy szinttel feljebb a lét életfáján. Az állatokról azt tanultuk, hogy ösztönlények. Bizonyos szempontból úgy viselkednek, mint az automaták. Ezt nagyon nehéz elképzelni Buksi kutyáról, aki behozza az újságot a postás bácsitól, érdeklődve nézi a kvízműsorokat a tévében, és ugat, ha a szomszéd mattot ad nekem a sakktáblán.
De ha a poloskákra gondolsz, melyek így ősszel alig várják a pillanatot, hogy beslisszolhassanak a nyíló ajtón, egyszerűbb megérteni ezt a tételt. Ajtó nyílik > poloska repül. Ajtó csukva > poloska nyugszik. Ennyi. Az ösztöne hajtja, hogy valahol átteleljen, ahol melegebb van, mint a környezetében.
No, ezt kéne leprogramozni a kockánkra. Azt javaslom, most ne nagyon törődjünk a középső elemmel, az adna ugyanis észt a folyamathoz.
Nézzük a jobb oldalon az Actuatorokat, azaz a végrehajtó, cselekvő egységeket. Válaszd itt ki a MOTION (Mozgás) típusút.
Két dolgot tudsz itt beállítani:
- LOC(ation) — helyváltoztatás.
- ROT(ation) — forgás.
Megfelelő nagyításban (egérgörgő) látható, mely tengelyek mentén történhet az elmozdulás vagy forgás. X — piros, Y — zöld, Z — kék.
Mozgassunk most az egyik vízszintes tengely mentén (Y). Állíts be 0,2-es értéket, majd a Szenzor (jelfogó) kivezetéséből húzz egy drótot az Aktuátor (cselekvő) bemenetére. Látni fogod, hogy valami minimál idegrendszert kiépít a Blender, beiktat egy Kontrollert (váltót). De ezzel most ne foglalkozzunk. Kit érdekel egy poloska gondolkodása, no!
Így néz ki egy poloska ösztönvezérlése fent. Megpöckölöd és (AND) arrébb megy. Zseniális! Folytassuk a rükverccel!
Adj még egy Szenzort, jelfogót a rendszer bal oldalára. Ez figyelje a lefele nyilat. Az Aktuátor oldalon újabb mozgás, ugyanazon tengely mentén, csak visszafele, negatív irányba. Most már futtathatod a játékot: poloskát két oldalról pöckölve előre megy majd vagy tolat. Nézd meg az alábbi képet!
Háromféleképpen futtatható a játék:
- A felső menü GAME menüpontjából > Start Game Engine.
- A jobb alsó ablakrész START gombjával.
- Vagy egyszerűen helyezd el az egér mutatóját a 3D ablakban, ott ahol a kocka alakú poloska van, és nyomd meg a billentyűzet “P” gombját (Play Game).
Feladatok:
- Az előbb elkezdett kockát a négy vezérlő nyíllal tologatjuk a sík négy irányában. Így mentsd: 01tolikocka.blend.
- Egy kockát a WASD billentyűkkel tologatunk síkban, és a felfele, lefele billentyűkkel fel-le emeljük/süllyesztjük. Így mentsd: 02tértoli.blend.
- A kocka fel/le nyilakkal előre-hátra megy. Jobbra/balra nyilakkal fordul. Így mentsd: 03tekergo.blend.
Tisztelt Kisantal Tibor,
Nem biztos hogy a megfelelő helyre írok, de szerettem volna érdeklődni a Blender-látvány és animáció könyvével kapcsolatban. Nemrég kezdtem el olvasni, és csak annyit mondhatok hogy a könyv fantasztikus.
Egy kérdésem lenne ezzel kapcsolatban, hogy esetleg rendes papír, kézzel fogható könyv alakban, nem fog véletlenül megjelenni? Számomra jobb volna a kézben forgatni a könyvet, és persze egy időben a gépen a feladatokat megcsinálni, gyakorolni.
Sajnos facebook profilom nincs, nem tudtam hogyan léphettem volna kapcsolatban önnel, ezért írtam ide. Előre is elnézést e miatt.
Tísztelettel
Roland