Unity-suli: autóverseny házilag

|

Vonz a sebesség, és rongyosra pörgeted az autós játékokat? Megmutatjuk, hogyan készítheted el sajátodat.

Továbbra is rengeteg játékost tapaszt a képernyők elé a virtuális autóvezetés, az alkotási folyamat pedig majdnem ugyanannyira izgalmas, mint a száguldozás. A megfelelő eszközöket segítségül hívva te magad is összerakhatsz egy teljes egészében játszható demót akár különösebb kódolási ismeretek nélkül.

Első körben persze még nem az az cél, hogy a következő Need for Speed a kis házi fejlesztőstúdiódból gördüljön ki. Cikkünkben megmutatjuk, miként vághatsz bele egy autós versenyjáték elkészítésébe, sőt segítünk abban, is, hogy ne csak magányosan ródd a köröket a felhúzott pályán, hanem előre programozott ellenfelek is nehezítsék a dolgodat.

Szükséges csomagok

Nem kell túlzottan sok extra kiegészítőt beemelni az alkalmazás elkészítéséhez - persze a környezet kialakítása során még néhány extra modellel bátran feldobhatod a felületet -, az alapokhoz ugyanis a Standard Assets csomag bőségesen elegendő kiegészítőt kínál. A Unity indítása és az új 3D-s projekt létrehozása után lépj is be az Asset Store felületére, majd az áruház keresőmezőjébe gépeld be a Standard Assets kifejezést, és az első találatot töltsd le, majd importáld.

Mivel nem lesz szükség a teljes csomagra, a társítás során nyugodtan szűrheted a könyvtárakat; amit semmiképp sem hagyhatsz ki, az a CrossPlatformInput, az Environment, a Utility és a Vehicles mappák, valamint a bennük található állományok.

Készíts egy pályát

Amennyiben sikeresen társítottad a megfelelő csomagokat a projekthez, jöhet a pálya felépítése. Rengeteg módszert választhatsz arra, hogy életre keltsd a környezetet, de kezdetben nem érdemes túl bonyolult íveket megálmodnod, egy kör alakú aszfaltcsík is remekül ellátja majd a feladatot. Ha gyorsan szeretnél egy versenyzésre alkalmas területet kialakítani, akkor hozz létre a Hierarchy alatt található Create segítségével egy Terraint, amit a 3D Objects almenüben találsz meg.

A képernyőn megjelenő talaj méretét állítsd át - az oldalsó Inspector-felületen a fogaskerékikonra kattintva - 500×500-ra, így nem nő túlzottan hatalmasra a világod. Ezek után a Terraint pozicionáld a képernyő közepére úgy, hogy a Position értékénél az x és az z koordinátákat átírod -250-re. Ha elkészültél, jöhet a terület kiszínezése. Ezt az ecsetikonra kattintva ejtheted meg, miután a legördülő menüből kiválasztottad a Paint Texture opciót.

Itt kattints az Edit Terrain Layers… gombra, és bökj a Create Layer lehetőségre, a felugró menüben pedig klikkelj a használni kívánt textúrára. Ezt követően az ecsetikon alatti legördülő menüből válaszd a Raise or Lower Terrain menüpontot, és hegyek rajzolásával alakíts ki egy pályát. Természetesen a saját elképzelésed szerint is létrehozhatod az egyedi terepet (például egy erdő felfestésével), a lényeg, hogy kezdetben ne legyenek nagyon bonyolult kanyarok a felületen, így ugyanis nem okoz majd akkora gondot megvalósítani a riválisok vonalkövetését.

Életre kel az autód

Amint elkészült a pálya, helyezd el a felületén a már előkészített autót, amit a Standard Assets/Vehicles/Car/Prefabs útvonalon találsz meg. A Car.prefab nevű állományt helyezd el a frissen elkészített versenypályán, majd társítsd a Main Camerát is az autóhoz, ezzel ugyanis elérheted, hogy a kamera kövesse a mozgó járművet.

A csatoláshoz nem kell mást tenned, mint egyszerűen a Hierarchy felületen a megjelenítésre használt állományt ráhúzni a Carra, és kész is vagy. Ezután a kamera koordinátái már az autódhoz igazodnak. Amennyiben nullára állítod a pozícióinál található értékeit, a nézőkép a kocsi belsejébe ugrik. Ebből az állapotból a Move Tool segítségével igazítsd úgy a Main Camerát, hogy az élőképen jól látható legyen az autó, igény szerint egy kicsit forgathatsz is rajta.

Ha szeretnéd valamennyire egyedivé varázsolni a járművet (illetve megkülönböztetni a későbbi ellenfelektől), javasoljuk, hogy hozz létre egy új színezhető anyagot (Projekt fülön Create/Material), amelynek tónusát állítsd be az általad választottra, majd egyszerűen húzd az átfesteni kívánt elemre a szerkesztési felületen. Ha ilyen formában elindítod a játékot, máris bejárhatod az autóddal a pályát, azaz köröket futhatsz a felületen.

Jöhetnek az ellenfelek

A Prefabs mappában a Car feliratú komponens mellett egy CarWaypointBased nevű állományt is találsz, amelynek segítségével egy remekül beállított, pontokat követő autót helyezhetsz el a jelenetben, mindenféle extra programozás nélkül. Húzd a képernyőre ezt a kocsit, ő lesz majd az ellenfeled. Ha most újra elindítod a játékot, láthatod, hogy az újonnan beemelt jármű szépen elkezd körbe-körbe forogni, amint rajtot vesz, mert jelenleg csupán a kezdőpont áll rendelkezésére.

Az autó útvonalának felrajzolásához szükség lesz néhány iránypontra; minél kacskaringósabb a pálya, annál többet kell belőlük beemelned. Nincs más dolgod, mint a Hierarchy nézet/Create legördülő menüben a Create Empty feliratra bökni. Ezzel el is készítetted az algoritmus vezette ellenfeled navigációs rendszerének központját. Nyugodtan nevezd is át dupla kattintással (mi az Utvonal nevet adtuk neki) és pozicionáld úgy, hogy megfelelően látszódjék a képernyőn.

Ezek után jobb klikkel kattints a Hierarchy fülre, és helyezz el benne annyi üres objektumot a Create Emptyvel, amennyi lefedi a pályát (egy kör formájú aszfaltcsíknál maradva is legalább négy iránypontot javaslunk). Ezt követően a Standard Assets mappában a Utilities alkönyvtárat válaszd, majd keresd meg a WaypointCircuit.cs szkriptet, és húzd az Utvonal objektumra. Ha most a Hierarchyn rákattintasz az Utvonalra, akkor a jobb oldali Inspector nézetben észreveheted, hogy a frissen csatolt szkript alatt két gomb is megjelent.

Ezek közül a felső segítségével társíthatod az útvonalkezelőhöz a benne elhelyezett iránypontokat. Ha mindezzel végeztél, nekiláthatsz szétszórni a pályán a jelzőpontokat, arra azonban figyelj, hogy sorban haladj fentről lefelé, hiszen az autó is ezt a sorrendet fogja majd követni. A pontok mozgatásával megjelenik egy körvonal is, amely az autó útvonalát rajzolja ki. Ha esetleg túl kevés a pötty a pálya lefedéséhez, nyugodtan készíts továbbiakat, csak arra figyelj, hogy ilyenkor mindig generáltasd újra az összes pontot a szkript megfelelő gombjával.

Amint elkészült az útvonal, kattints az ellenfeledként használni kívánt járműre, és az Inspector felületen keresd meg a Waypoint Progress Trackhez tartozó beállításokat. Láthatod, hogy a Circuit és a Target feliratok melletti mező még üresen tátong, ide kell megadnod két komponenst ahhoz, hogy az autó a megadott útvonalon guruljon tovább. A Circuit feliratú sor melletti apró körre kattintva felugrik egy ablak, ahonnan az Utvonal objektumot választhatod ki, ezzel csatolod jelzéseidet a szkripthez.

Végül a Target kiválasztásához kattints a Hierarchy fülön a CarWaypointBased melletti kis háromszögre, a benne található komponensek közül keresd meg a Helpers nevűt, és szintén válaszd a mellette található háromszöget. Az alatta elhelyezkedő két elem közül a WaypointTargetObject komponenst húzd a Target felületre, ez lesz az elsődleges célpontod.

Ha mindent megfelelően végrehajtottál, most már úgy indíthatod el a játékot, hogy az ellenfeled végighalad a számára kijelölt úton. Érdemes lehet kicsit állítgatni még a riválisodhoz tartozó Inspector nézetben a Car AI Control funkcióin, itt módosíthatod például a vonalkövetési pontosságot is. Ezután már teljes egészében rajtad múlik, hogy milyen irányban folytatod a játék fejlesztését. Nem árthat még beépíteni a körök számolásának lehetőségét (ez már némi kódolást igényel), de extra tájelemeket vagy akár különféle effektusokat is felhasználhatsz, sőt akár platformot is válthatsz.

Úgy tűnik, AdBlockert használsz, amivel megakadályozod a reklámok megjelenítését. Amennyiben szeretnéd támogatni a munkánkat, kérjük add hozzá az oldalt a kivételek listájához, vagy támogass minket közvetlenül! További információért kattints!

Engedélyezi, hogy a https://www.helloworldonline.hu értesítéseket küldjön Önnek a kiemelt hírekről? Az értesítések bármikor kikapcsolhatók a böngésző beállításaiban.