Unity 3d játékok androidra. Android alkalmazások létrehozása

Az Android operációs rendszert futtató eszközökre való játékok fejlesztése az iOS fejlesztéséhez hasonló megközelítést igényel. Másrészt az Android készülékek hardverére nem vonatkoznak egyértelmű szabványok, ami arra kényszeríti Önt, hogy olyan problémákat oldjon meg, amelyek az iOS rendszerrel való munka során nem jelennek meg. A Unity Android és iOS verziói között is vannak különbségek.

Az Android fejlesztői környezet előkészítése

Mielőtt kipróbálná játékait az eszközön, fel kell készítenie a fejlesztői környezetet. Mindenekelőtt töltse le és telepítse a kívánt platform Android SDK-ját, és adja hozzá eszközét a rendszerhez (ez a folyamat Windows és Mac esetén eltérő). Erről részletesen le van írva az Android fejlesztői weboldal, és a készülék gyártója is tud további információkkal szolgálni. Mivel ez egy meglehetősen összetett folyamat, elkészítettünk egy kis instrukciót, amely segít előkészíteni mindent, amire szüksége van a fejlesztéshez. Ha további információra van szüksége, az Android fejlesztői portálon szerezheti be.

Az Android funkciók elérése

A Unity API-t biztosít az Android bemenetek és beállítások eléréséhez. Az elérhető osztályok a Kód írása Android-összeállításokhoz oldalon találhatók.

C, C++ vagy Java kód összekapcsolása szkriptekkel

A Unity lehetővé teszi, hogy a C/C++ nyelven írt függvények közvetlenül szkriptekből hívhatók meg (a Java függvények indirekt módon is meghívhatók). Ha meg szeretné tudni, hogyan érheti el a funkciókat a Unity natív kódjából, keresse fel az Android-bővítmények létrehozásával foglalkozó oldalt.

Elzáródás (a láthatatlan geometria levágása)

A Unity támogatja az okklúziós selejtezést, ami nagyon hasznos mobilplatformokra való optimalizálás során. További információ az Occlusion selejtezés oldalon található.

Az indítóképernyő beállítása

A játék indításakor megjelenő indítóképernyő testreszabható – további információkért tekintse meg ezt az oldalt.

Hibaelhárítás és hibaüzenetek

Számos oka lehet annak, hogy az alkalmazás összeomlik vagy nem működik megfelelően. Útmutatónk az Android-specifikus problémák megoldásához segít abban, hogy gyorsan megtalálja a hibák gyökerét. Ha a kézikönyv elolvasása után azt gyanítja, hogy a probléma a Unity-ben van, küldjön hibajelentést. Az utasításokat ezen az oldalon találja.

Miben különbözik a Unity for Android az asztali verziótól

JavaScript erős gépeléssel

A teljesítmény javítása érdekében a Unity Android-verziójában a JavaScript dinamikus gépelése mindig le van tiltva (mintha a #pragma strict automatikusan alkalmazva lenne minden szkriptre). Ezt fontos észben tartani, ha régebbi platformokról Androidra visz át egy projektet, és ha fordítási hibákat észlel, a problémát mindenekelőtt a gépelésben kell keresni. Az ilyen hibákat általában könnyű kezelni, ha meg kell győződni arról, hogy az összes változó típusa kifejezetten meg van adva, vagy az inicializálás során kiadva.

Bár a Unity Android támogatja a DXT/PVRTC/ATC textúrákat, a Unity futás közben RGB(A) formátumba tömöríti a textúrákat, ha ezeket a tömörítési módszereket egy adott eszköz nem támogatja. Ez komolyan befolyásolhatja a GPU megjelenítési teljesítményét, ezért javasolt az ETC formátum használata. Ez az Android de facto szabványa, és mindenkinek támogatnia kell modern eszközök. Másrészt az ETC nem támogatja az alfa csatornát, és néha a 16 bites RGBA textúrák legjobb választás a minőség, a méret és a renderelési sebesség kritériumai szerint, ahol alfa csatornára van szükség.

Sziasztok! Miután megtanultam, hogyan kell játékokat készíteni ezen a motoron, ugyanezt szeretném megtanítani neked. Először is szükségünk van magára a Unity3d-re, bármilyen 3D-s modellszerkesztőre és egyenes karokra, amelyek vállból nőnek ki.

1. Tanulmányozza a programot

Kezdésként a Monodevelop telepítését javaslom! Nézzük meg, mi az a Unity. A Unity egy többplatformos játékfejlesztő környezet. Pontosan egyszerűsége és áttekinthetősége miatt minden harmadik játszott már rajta legalább egyszer.

Nézd meg a fenti képernyőképet:

  • A színpad a kreativitás homokozója.
  • Project – itt az összes animáció és modell, hangok és textúrák.
  • Ha modelleket szeretne telepíteni a felső eszköztárra, válassza az Eszközök - Új eszköz importálása lehetőséget. Eszközök-importálási csomag-egyéni csomag is lehetséges. A második esetben a csomagnak .unity kiterjesztésűnek kell lennie.
  • Hierarchia – minden tárgy a színpadon. Ott létrehozza az objektum szüleit. Csak helyezzen át egy objektumot egy másikra a hierarchia menüben, és csatolni fogja. Az eredmény egyfajta mappa lesz.
  • Eszköztár - eszközök listája. Itt engedélyezheti a 2D, 3D módot.
  • Az ellenőr egy objektum jellemzője, ahol animációkat, szkripteket és egyebeket ad hozzá. Ott használhatod az eszközöket: kamera mozgatása, tárgy mozgatása, nyújtás, tárgy elforgatása.


Most megjelenik az objektum menü, amelyben animációt, szkripteket és egyebeket adhat hozzá.

Szerintem ezzel a menüvel nem lesz gond.
Bármely objektum létrehozásához kattintson a gombra.

Általánosságban elmondható, hogy áttanulmányoztuk a programot, hamarosan saját játékokat is írhatunk.

2. Egyszerű játék készítése

Először is hozzuk létre a Terep létrehozása területet. Adjon hozzá füvet és fákat. Ha a jobb oldalon a talajra kattint, megjelenik egy ablak, ahol válassza ki a fákat és a füvet.


Hozzon létre hegyeket és dudorokat is. Ezután töltse be a Characher vezérlőcsomagot a projektbe. Ezután keresse meg a Standard eszközök-karakterek vezérlőt a projektet tartalmazó ablakban, és válassza ki az első személyű nézetet (kapszula) vagy a harmadik személyű nézetet (szerelő).
Ha az első személy, akkor tedd le a földre. Ha a harmadiktól, akkor le kell töltenie az animációt. Azt is javaslom, hogy állítsa a színpadi világítást Create-Directional Light-ra.


Zene hozzáadásához húzza a kívánt objektumra.
A játék készen van, de hogyan kell lefordítani?

Ehhez lépjen a File-Build beállítások-lejátszó beállításaihoz (a parancsikon és a cím). Válassz egy platformot, és kész. Ehhez telepítenie kell az Android SDK-t. De ott meg kell adnia a mappát az SDK-val, és nem csak egy SDK-ra van szüksége, hanem a szükséges szintű API-ra (például Android 4.2 - API 17 esetén). Például ahhoz, hogy a játék Android 4.0+ rendszeren futhasson, telepítenie kell ezeket az API-kat.

A következő cikkben elmondom, hogyan állíthat be vezérlőket Android vagy iOS rendszerhez, és megtanulhatja, hogyan írhat saját maga szkripteket.

Megtekintések száma: 19 374

Beszéltünk arról, hogyan hozhat létre saját játékot Androidon az Unreal Engine segítségével. Ebben a cikkben egy másik, hasonlóan népszerű játékfejlesztő motort fogunk megvizsgálni - Egység.

A Unity egy nagyon híres motor az indie fejlesztők körében. Lényegében ez egy többplatformos motor, amely lehetővé teszi a fejlesztést 3D- És 2D-játékok. A Unity-t a többi motortól megkülönböztető jellemző az alacsony belépési korlát a kezdők számára, míg a profik számára gazdag eszköztár áll rendelkezésre. A cross-platform lehetővé teszi alkalmazások fejlesztését bármilyen platformra, az asztali játékoktól a mobilos játékokig.

Az előfizetési rendszerről külön érdemes megemlíteni, mivel a Unity nem teljesen ingyenes termék. Többféle előfizetés létezik:

  • Személyes. Ingyenes verzió, amely tartalmazza a motor összes fő funkcióját. Ennek a következő korlátai vannak: az éves bevétel vagy a felvett forrás összege nem haladhatja meg 100000$ .
  • Plusz. Mögött 35 dollár havonta különféle jelentések és elemzések állnak rendelkezésre, valamint lehetőség van a kezdőképernyő megváltoztatására, 20% - kedvezmény a belföldi vásárlásokra Eszköztárés különféle kisebb juttatások. A következő korlátozásokkal rendelkezik: az év bevétele vagy a felvett pénzeszközök összege nem haladhatja meg 200000$ .
  • Pro. Mögött 125 dollár havonta verzió minden előnyét tartalmazza Pluszés ezen felül professzionális szolgáltatásés prémium támogatás. Nincs korlátozás a forgalomra vagy az alapok mennyiségére vonatkozóan.
  • Külön verziók üzleti célokra (nagy cégek használják).

Így a kis költségvetésű indie fejlesztőknek a verziónak elegendőnek kell lennie Személyes vagy Plusz, különben elő kell fizetned Pro. Ebben a cikkben az ingyenes verziót fogjuk használni az első indításhoz.

1. lépés: Telepítse a Unity-t

A Unity telepítésének megkezdéséhez fel kell lépnie a Unity Store webhelyére, ahol meg kell adnia az előfizetés típusát. Ahogy fentebb említettük, válasszunk Személyes.

Ezután a rendszer felkéri, hogy fogadja el a használati feltételeket, és töltse le a telepítőt. Ki is lehet nézni rendszerkövetelmények dolgozni a Unityvel.

A telepítő elindítása után a rendszer felkéri, hogy válassza ki a telepíteni kívánt összetevőket. Mivel Android-alkalmazást kell létrehoznunk, jelöljük be a négyzetet Android Build támogatás. Ezenkívül, ha szükséges, a Unity helyett telepítheti Visual Studio Community 2017 a programozáshoz C#.

Ezek után már csak a telepítési útvonal kiválasztása és a Unity telepítésének megkezdése van hátra.

2. lépés: Regisztrálja és konfigurálja a Unity-t

A telepítés befejezése és a Unity elindítása után megkérünk, hogy jelentkezzünk be fiókunkkal.

Ezután ismét felkérjük, hogy válasszon előfizetést, mi továbbra is a Személyes lehetőséget választjuk. Ebben az esetben meg kell erősítenie, hogy a vállalat éves bevétele kevesebb, mint 100 000 USD, vagy hogy a Unity-t képzési célokra használják.

A végén egy kis felmérést kell kitöltenie, amelyben meg kell válaszolnia, hogy mit csinál, és milyen célból telepíti a Unity-t.

3. lépés: Hozzon létre egy új projektet

A Unity konfigurálása után a projektkiválasztás/létrehozás képernyőre jutunk. Ide kell kattintani Új az új projekt létrehozásához.

Ezt követően a megjelenő ablakban meg kell adnia a projekt nevét és a könyvtárat, ahol a projekt található. Ne felejtse el bejelölni a négyzetet sem 3D a szerkesztő 3D módban történő használatához.

Ha végzett, kattintson a gombra Projekt létrehozása projekt létrehozásához. Ezt követően megnyílik egy szerkesztő ablak egy előre generált jelenettel.

Egyelőre ne foglalkozzunk a programozás bonyodalmaival, és vegyünk példának egy kész játékot. Ezért létezik itt Eszköztár, amely rengeteg kész modellt, animációt, hangot (és még játékot is) tartalmaz fizetős és ingyenes egyaránt.

Az Eszköztár megnyitásához a menübe kell lépnie Ablak választ Eszköztár(billentyűkombináció Ctrl-9).

Megnyílik az üzlet kirakata. Írja be a keresősávba " flappy madár stílusú példajáték", és nyisson meg egy ingyenes példát, amelyet a projektünkben fogunk használni.

Kattintás Letöltésés így a letöltés után importálhatja a projektbe. Ehhez kattintson a gombra Importálás, amely után egy figyelmeztetés jelenik meg, amely jelzi, hogy a projekt beállításai az importálás után módosulnak.

Miután beleegyezett az importálásba, megjelenik egy ablak, ahol ki kell választania az importálandó összetevőket. Jelölje ki az összeset, és kattintson Importálás.

Az importálás befejezése után az új fájlok megjelennek a Project Explorerben. Ezek a játékfájlok. Jelenet megnyitásához a szerkesztőben bontsa ki Flappy Bird stílus - Jelenetekés kattintson duplán .

Ennek eredményeként a játék jelenete megjelenik a 3D szerkesztő ablakában.

A gombra kattintva ellenőrizheti a játék működését a Unityben Játék a szerkesztőablak felett.

4. lépés: Az Android Tools beállítása

Jegyzet: ha használod Android Studio, akkor már telepítette az összes szükséges összetevőt, és így nyugodtan folytathatja a következő lépést.

Az eredményül kapott játék Androidon való felépítéséhez telepítenie kell a következő eszközöket:

  • Java Development Kit (JDK). Letöltheti a Java webhelyről. Ha követi a linket, a legfelül látni fogja Java platform (JDK), kattintson Letöltés a felirat mellett, majd válassza ki az operációs rendszert, és kezdje el a letöltést. Ezt követően egyszerűen kövesse a telepítő utasításait.
  • Android SDK. A legtöbb egyszerű módon A jelenlegi verzió telepítéséhez töltse le az Android Studio-t, amelyhez ez az SDK is tartozik. Ehhez nyissa meg az Android Studio webhelyét, és kattintson a gombra Android Studio letöltése. Az Android Studio telepítője telepíti az Android fejlesztéshez szükséges alapvető Android SDK összetevőket.

5. lépés: A projekt előkészítése az indításhoz

Először is módosítania kell a fejlesztői platformot Androidra. Ehhez a Unity alkalmazásban nyissa meg a Fájl menüt, és válassza a Build Settings menüpontot.

A megjelenő ablakban ki kell választani Android majd nyomja meg Platform váltása.

A platformváltó arról tájékoztat, hogy Android-alkalmazást fogunk készíteni. Ez azt jelenti, hogy amikor elkészítjük az alkalmazást, a Unity létrehozza APK fájl. A platformváltás arra is kényszeríti a Unity-t, hogy ismét importálja a projekt összes eszközét. Nem tart sokáig kis projekt, de ne feledje, hogy nagy projekteknél ez a művelet sokáig tarthat.

Most meg kell adnunk az alkalmazás csomagnevét.

Jegyzet: A csomagnév az alkalmazás egyedi azonosítója, és fordított DNS-stílusban van írva a formátumban com.CompanyName.ProductName. Miután az alkalmazást közzétették a Google Playen, a csomag neve nem módosítható.

Ehhez lépjen a menübe Szerkesztésés válassz Projektbeállítások - Player.

Megnyílik egy ablak a Unity jobb oldalán számos különböző beállítással, mint például az alkalmazás verziója, a cél és a minimális SDK, az ikonok kiválasztása stb. Itt kell a blokkban Egyéb beállitások megtalálja Azonosításés állítsa be a csomag nevét a mezőben Csomag név. Más beállításokat is módosíthat, ha kívánja.

Most már csak az Android SDK és JDK elérési útját kell megadni. Ehhez lépjen a menübe, és válassza ki Szerkesztés - Beállítások.

A megjelenő ablakban a következőre kell lépnie Külső eszközökés a mezőkön SDKÉs JDK jelölje meg a megfelelő útvonalakat, majd zárja be az ablakot.

6. lépés: Építse fel és futtassa az alkalmazást

Ideje elkészíteni első Unity alkalmazását. Ehhez válassza ki a menüből Fájl – Építési beállítások. Megnyílik egy ablak, amelyben hozzá kell adnia az összeállítandó jelenetet. Mivel ez a jelenet már nyitva van a szerkesztőben, csak kattintson Nyitott jelenetek hozzáadása Ha hozzá szeretné adni a buildhez, a hozzáadása után látni fogja a jelenetek listájában.

Nincs más dolgod, mint kattintani Épít, ami után a Unity megkezdi az alkalmazás építését. Mielőtt ezt megtenné, előfordulhat, hogy válasszon ki egy mappát, ahová a fájlokat menti. összegyűjtött fájlokat alkalmazásokat, valamint az APK fájl nevét.

Jegyzet: tovább Ebben a pillanatban, ha az alfa verziót telepítette az Android SDK-ba Építőeszközök(változat 28.0.0-rc1), a Gradle hibát fog dobni az építés során. A probléma megoldásához egyszerűen távolítsa el ezt a verziót az Android SDK-ból.

Ennek eredményeként az összeállított APK fájl megjelenik a megadott mappában, készen áll az emulátorra vagy egy valós eszközre történő telepítésre.

Lássuk, mi van az összeállított APK-ban. Ehhez a segédprogramot fogjuk használni APK elemző, amely az Android Studio része,

A tömörítetlen APK fájl mérete 21,1 MB, egy tömörített 20,9 MB. Amint az a grafikonon látható, a kötet nagy részét a Unity által hozzáadott, harmadik féltől származó könyvtárak foglalják el. Aztán be eszközök Az összeállított jelenetben használt összes erőforrás megtalálható. Fájl osztályok.dexösszesen tartalmaz 89 osztályok és 479 mód.

Sőt, ha megnézed AndroidManifest.xml, az alkalmazás egy tevékenységből áll.

Következtetés

Ez minden. Ebben a cikkben megtanultuk, hogyan kell telepíteni és konfigurálni a Unity-t, valamint elkészítettük első alkalmazásunkat Androidra.

A Unity 3D nélkülözhetetlen asszisztensnek bizonyul majd azok számára, akik professzionálisan közelítenek a minőségi anyagok létrehozásához. Az alkalmazás kész modelleket, szkripteket és textúrákat integrál, amelyek kiegészíthetők saját tartalommal - képekkel, hangokkal és videókkal.

A Unity 3D-ben készített késztermékek szinte minden népszerű platformmal kompatibilisek – a mobiltelefonoktól a SMART TV-kig.

A program jellemzői:

  • Unity tanulási motor;
  • rugalmas többfunkciós szerkesztő;
  • nagy fordítási sebesség;
  • könnyen megtanulható felület;
  • kompatibilis számos platformmal.

Működés elve

A program használatához le kell tölteni a Unity Hub platformot, ezen keresztül pedig ki lehet próbálni az ingyenes Personal verzió szolgáltatásait. Akár évi 100 ezer dollár bevételszerzési mennyiség esetén is elérhető.

Az ingyenes opción kívül két további bővített verzióra is előfizethet:

Unity Plus (~25 $ havonta) – korlátozott hozzáférést biztosít a Customer Success Advisor szolgáltatáshoz, információkat gyűjt a felhasználói eszközök meghibásodásairól, és figyeli a véleményeket.

A Unity Pro (~125 $ havonta) a maximális előfizetési lehetőség. Támogatást nyújt a professzionális fejlesztőktől, lehetővé teszi, hogy elsőbbségi hozzáférést kapjon a programkészítők támogatásához, valamint továbbfejlesztett teljesítményfigyelési és statisztikai gyűjtési lehetőségeket kínál.

Az összes játékművelet felépítése a program meglehetősen jó minőségű fizikai magján (PhysX) alapul, amelytől a modellek viselkedése függ. A textúrák és objektumok importálási lehetőségének köszönhetően egyediséget adhat a termékhez, vagy használhatja a fejlesztő által integrált eszközöket. Fontos megérteni, hogy minden, ebben a konstruktorban létrehozott objektum szkriptek és események meghatározott halmaza, amelyeket Ön is kezelhet.

A Unity 3D professzionális használatához időre van szüksége, hogy megismerje az alkalmazás felületét és képességeit. Ehhez számos videót találhat az interneten, vagy részt vehet speciális tanfolyamokon, amelyeket számos nagyvárosban tartanak.

Felhívjuk figyelmét, hogy a 3D grafikával való munkavégzéshez modern számítógépre van szükség hardveres videokártyával.

Előnyök:

  • szinte korlátlan funkcionalitás projektek létrehozásához;
  • böngésző 3D grafika támogatása;
  • kompatibilitás játékkonzolokkal és modern tévékkel;
  • számos vizualizációs eszköz;
  • van egy ingyenes verzió.

Mínuszok:

  • A minőségi termék létrehozásához speciális ismeretekre van szükség;
  • nincs lehetőség a program fizikai magjának nagyon finom hangolására;
  • Az interfésznek nincs fordítása oroszra.

A Unity 3D-t nem csak azért töltheti le, hogy felkészítse a versenytársat a népszerű Juggernaut online játékra (amely szintén áttekintésünk hősének eszközeivel készült), hanem gyönyörű 3D-s prezentációkat is készíthet. Lehet, hogy kicsit tovább tart, de a wow hatás a közönség számára garantált.

A platform képességeinek megismeréséhez egyszerűen töltse le a Unity 3D ingyenes verzióját. Ha hozzáférésre van szüksége a forráskódhoz, nézze meg a fizetős verziókat.

Analógok:

  • A Game Editor egy ingyenes alkalmazás játékok létrehozásához;
  • A Construct 2 egy népszerű játékkonstruktor, egyszerű felülettel.
  • A Construct 2 egy hatékony program 2D ​​projektek létrehozására.

A Unity az a motor, amelyre a legtöbb modern játék épül különböző platformokon. A motor segítségével számítógépeken (Windows, Linux, MacOS), mobiltelefonokon, táblagépeken (Android, iOS) és akár PlayStation, Xbox, Nintendo játékkonzolokon is futtatható játékok készíthetők.

Hogyan készítsünk játékokat a Unity-ben?

Az egység egy komponens-orientált koncepción alapul. Valójában minden játék tárgyak tömegéből áll, amelyeket további összetevőkkel hígítanak. Például egy platformer készítésekor létrehozunk egy GameObject-et, ehhez csatolunk egy grafikus komponenst, amely a karakter megjelenítéséért felelős, és egy vezérlő komponenst, amely egér, billentyűzet, joystick vagy érintőképernyő segítségével biztosítja a karakter vezérlését. . A motor nem korlátozza az ilyen modulok számát. A GameObjecthez annyi komponenst adhatunk, amennyi szükséges. A motoron végzett minden munka a GameObjects létrehozásán és a megfelelő komponensek alkalmazásán alapul.

A kezdőket félrevezetheti a folyamat látszólagos egyszerűsége, bár ez nem így van. Egy egyedi és népszerű játék létrehozásához sok összetevőt kell írnia a semmiből. Pontosabban, a Unity környezetben ezt scriptnek hívják. A szkriptek létrehozásának anyanyelve a C#, de részben a JavaScript és a Boo (a Python egy vágott változata) is használatos. Saját komponensek létrehozása nem egyszerű, akár azt is mondhatnánk, hogy a klasszikus programozáshoz közvetlenül kapcsolódó összetett eljárás. Elérhetőség nélkül elegendő szinten a programozási tudás nehéz dolga lesz.

Támogatott platformok

Sok nagy projekt a Unity-t részesíti előnyben a motorral kompatibilis platformok hatalmas listája miatt. A kész alkalmazás bármely számítógépen futtatható operációs rendszer, népszerű mobilplatformok és SmartTV. Mit is mondhatnánk, akár böngészős játékok és alkalmazások is bizonyos platformokhoz ( mint a Tizen OS) elsősorban a Unityben fejlesztik.

Itt azonban nem minden olyan zökkenőmentes. Ha szükséges, alacsony szintű kód alapján írhatunk konkrét algoritmusokat, ugyanahhoz az Androidhoz alapos Java ismerete szükséges.

Ugyanez igaz az iOS-re is. Az iOS másik jellemzője, hogy csak az Apple számítógépéről vagy táblagépéről fejleszthető. Macbook vagy hasonló eszköz nélkül hamar leáll a játék megjelenése és a Unity-nek semmi köze hozzá, maga az Apple is hasonló megkötést ír elő. A következtetés egyszerű: ha iOS fejlesztést tervez, akkor előre ki kell választania a megfelelő eszközt az összeszereléshez.

Hogyan és hol lehet játékot fejleszteni a motoron?

A játékfejlesztés hosszú folyamatát mind Windowson, mind Mac OS X-en belül lebonyolíthatjuk. A szerkesztőnek Linuxra már vannak verziói, de ezek stabil működésére még nem számíthatunk. A legtöbb A fejlesztő ideje nagy részét játék létrehozásával tölti a Unity szerkesztőben. A szkriptkód írásával is sok időt kell töltenünk, elkészíthetjük akár a szabványos MonoDevelop-ban, akár bármely harmadik féltől származó szerkesztőben. Manapság aktívan használják a Visual Studio-t, valamint a Sublime Text-et, de csak megfelelő konfigurációval.