In questo tutorial imparerai come creare un gioco 2D mobile usando C # e Unity. Sfrutteremo il plug-in Dolby Audio per Unity per migliorare l'esperienza auditiva del gioco. L'obiettivo del gioco è semplice, raggiungere l'altro lato del livello evitando i nemici e raccogliendo monete.
In questo tutorial, imparerai i seguenti aspetti dello sviluppo del gioco Unity:
Apri Unity e seleziona Nuovo progetto dal File menu per aprire la nuova finestra di dialogo del progetto. Dillo a Unity dove vuoi salvare il progetto e impostare ilImpostare i valori predefiniti per: menu a discesa a 2D.
Nel prossimo passaggio, ti verrà presentata l'interfaccia utente di Unity. Scegli il progetto per lo sviluppo mobile scegliendo Costruisci le impostazioni dal File menu e selezionare androide come piattaforma di destinazione.
Dato che stiamo per creare un gioco 2D, la prima cosa che dobbiamo fare dopo aver selezionato la piattaforma di destinazione è scegliere la dimensione del disegno che useremo nel gioco. Poiché Android è una piattaforma aperta, esiste una vasta gamma di dispositivi, risoluzioni dello schermo e densità di pixel disponibili sul mercato attuale. Alcuni dei più comuni sono:
Anche se ci concentreremo sulla piattaforma Android in questo tutorial, puoi utilizzare lo stesso codice per scegliere come target qualsiasi altra piattaforma supportata da Unity.
A seconda dei dispositivi che hai scelto come targeting, potrebbe essere necessario convertire l'artwork del gioco nelle dimensioni e densità di pixel consigliate. Puoi farlo nel tuo editor di immagini preferito. Ho usato il Regola dimensioni ... funzione sotto il Utensili menu in OS X Anteprima applicazione.
Prima di iniziare, assicurati di fare clic su 2D pulsante nel Scena pannello. È anche possibile modificare la risoluzione che viene visualizzata nel Gioco pannello.
L'interfaccia del nostro gioco sarà semplice. Lo screenshot qui sopra ti dà un'idea dell'opera d'arte che useremo e di come l'interfaccia di gioco finale finirà per apparire. Puoi trovare le illustrazioni per questo tutorial nei file sorgente di questo tutorial.
Puoi utilizzare uno dei tre linguaggi di programmazione quando usi Unity, C #, UnityScript, una variante di JavaScript e Boo. Ognuno di questi linguaggi di programmazione ha i suoi pro e contro e spetta a te decidere quale preferisci. La mia preferenza personale va al linguaggio di programmazione C #, quindi questa è la lingua che userò in questo tutorial.
Se decidi di utilizzare un altro linguaggio di programmazione, assicurati di dare un'occhiata al Riferimento degli script di Unity per degli esempi.
Unity ha costruito un nome per essere una grande piattaforma per la creazione di giochi 3D per varie piattaforme, come Xbox 360 di Microsoft, PS3 di Sony, Wii di Nintendo, il web e varie piattaforme mobili.
Mentre è sempre stato possibile utilizzare Unity per lo sviluppo di giochi 2D, è stato solo con il rilascio di Unity 4.3 che includeva il supporto 2D nativo. Impareremo come lavorare con le immagini come sprite anziché trame nei passaggi successivi.
Userò un numero di suoni per creare una grande esperienza auditiva per il gioco. Gli effetti sonori utilizzati in questo tutorial sono stati ottenuti da as3sfxr e PlayOnLoop.
Prima di iniziare la codifica, dobbiamo aggiungere le nostre risorse al progetto Unity. Puoi farlo in diversi modi:
Dopo aver completato questo passaggio, dovresti vedere le risorse nel tuo progetto Risorse cartella nel Progetto pannello.
Siamo pronti a creare la scena del nostro gioco trascinando gli oggetti sul Gerarchia o Scena pannello.
Inizia trascinando e rilasciando lo sfondo nel Gerarchia pannello. Dovrebbe apparire automaticamente nel Scena pannello.
Perché il Scena pannello è impostato per visualizzare una vista 2D, noterai che la selezione di Macchina fotografica principale nel Gerarchia mostra un'anteprima di ciò che la fotocamera sta per visualizzare. Puoi anche vederlo in Gioco vista. Per rendere visibile l'intera scena, cambia il Taglia valore del Macchina fotografica principale a 1.58 nel Ispettore pannello.
Il pavimento è usato per mantenere il nostro personaggio principale da cadere una volta che abbiamo aggiunto la fisica al gioco. Trascinalo dal Risorse cartella e posizionarlo nella scena come mostrato di seguito.
Per fare in modo che il pavimento rilevi quando il personaggio lo sta toccando, dobbiamo aggiungere un componente, a Box Collider 2D per essere precisi.
Seleziona il piano nella scena, apri il Ispettore pannello e fare clic Aggiungi componente. Dall'elenco dei componenti, selezionare Box Collider 2D dal Fisica 2D sezione.
Useremo i pulsanti per controllare il nostro personaggio principale nel gioco. Trascina e posiziona il pulsante di salto in Scena e aggiungere un Circle Collider2D componente come mostrato nel passaggio precedente.
Per riprodurre un suono quando il personaggio salta, dobbiamo prima collegarlo al pulsante di salto. Selezionalo dal Gerarchia o Scena visualizzare, fare clic su Aggiungi componente pulsante nel Ispettore pannello e selezionare Sorgente Audio nel Audio sezione.
Deseleziona Gioca su Awake e fai clic sul piccolo punto a destra, sotto l'icona a forma di ingranaggio, per selezionare il suono che vogliamo riprodurre quando il giocatore tocca il pulsante. Nel passaggio successivo, implementeremo la logica per riprodurre il suono quando il giocatore tocca il pulsante.
Creiamo la sceneggiatura che controllerà il nostro personaggio. Seleziona il pulsante di salto e fai clic su Aggiungi componente pulsante nel Ispettore pannello. Selezionare Nuovo script e nominalo Saltare. Non dimenticare di cambiare la lingua in C #.
Apri il file appena creato e aggiungi il seguente snippet di codice.
usando UnityEngine; usando System.Collections; classe pubblica Jump: MonoBehaviour public float jumpForce; eroe privato GameObject; // usato per riferirsi al nostro personaggio (eroe) sulla scena // Usa questo per l'inizializzazione void Start () hero = GameObject.Find ("Hero"); // ottiene l'oggetto di gioco dell'eroe // L'aggiornamento viene chiamato una volta per frame void Update () / * Controllare se l'utente sta toccando il pulsante sul dispositivo * / if (Application.platform == RuntimePlatform.Android) if ( Input.touchCount> 0) if (Input.GetTouch (0) .phase == TouchPhase.Began) CheckTouch (Input.GetTouch (0) .position, "started"); // funzione creata sotto else if (Input.GetTouch (0) .phase == TouchPhase.Ended) CheckTouch (Input.GetTouch (0) .position, "ended"); / * Controlla se l'utente sta toccando il pulsante sull'Editor, cambia il valore di OSXEditor se sei su Windows * / if (Application.platform == RuntimePlatform.OSXEditor) if (Input.GetMouseButtonDown (0)) CheckTouch (Input.mousePosition, "started"); if (Input.GetMouseButtonUp (0)) CheckTouch (Input.mousePosition, "ended"); CheckTouch void (posizione Vector3, fase stringa) / * Ottieni il punto dello schermo dove l'utente sta toccando * / Vector3 wp = Camera.main.ScreenToWorldPoint (pos); Vector2 touchPos = new Vector2 (wp.x, wp.y); Collider2D hit = Physics2D.OverlapPoint (touchPos); / * se si tocca il pulsante ... * / if (hit.gameObject.name == "JumpButton" && hit && phase == "begin") hero.rigidbody2D.AddForce (new Vector2 (0f, jumpForce)); // Aggiungi forza di salto a hero audio.Play (); // riproduce l'audio collegato a questo oggetto di gioco (suono di salto)
Lo snippet di codice può sembrare scoraggiante, ma in realtà è piuttosto semplice. Prima otteniamo un riferimento al eroe
oggetto, un'istanza del GameObject
classe, quindi possiamo usarlo più tardi. Rileviamo quindi se l'utente sta toccando il pulsante di salto e, se lo sono, aggiungere una forza al eroe
oggetto. Ultimo ma non meno importante, suoniamo il suono del salto quando si tocca il pulsante di salto.
I passaggi per aggiungere e implementare i pulsanti di spostamento, sinistra e destra, sono molto simili. Inizia posizionando i pulsanti nella scena e aggiungi un Circle Collider 2D ad ogni pulsante come abbiamo fatto con il pulsante di salto.
Crea un nuovo script, collegalo al pulsante sinistro e nominalo Muovere a sinistra. Sostituisci il suo contenuto con il seguente frammento di codice, che contiene il Muovere a sinistra
metodo.
usando UnityEngine; usando System.Collections; public class MoveLeft: MonoBehaviour public Vector3 moveSpeed = new Vector3 (); private bool moving = false; scena privata GameObject []; // array di oggetti di gioco che conformano la scena GameObject privato bg; // Usa questo per l'inizializzazione void Start () scene = GameObject.FindGameObjectsWithTag ("Moveable"); // Oggetti di gioco con tag Moveable bg = GameObject.Find ("Background"); // Sfondo di gioco // L'aggiornamento viene chiamato una volta per frame void Update () / * Detect touch * / if (Application.platform == RuntimePlatform.Android) if (Input.touchCount> 0) if (Input.GetTouch (0) .phase == TouchPhase.Began) CheckTouch (Input.GetTouch (0) .position, "started"); else if (Input.GetTouch (0) .phase == TouchPhase.Ended) CheckTouch (Input.GetTouch (0) .position, "ended"); if (Application.platform == RuntimePlatform.OSXEditor) if (Input.GetMouseButtonDown (0)) CheckTouch (Input.mousePosition, "started"); if (Input.GetMouseButtonUp (0)) CheckTouch (Input.mousePosition, "ended"); // Sposta se viene premuto il pulsante if (moving && bg.transform.position.x < 4.82f) for (int i = 0; i < scene.Length; i++) if (scene [i] != null) scene [i].transform.position += moveSpeed; void CheckTouch(Vector3 pos, string phase) Vector3 wp = Camera.main.ScreenToWorldPoint(pos); Vector2 touchPos = new Vector2(wp.x, wp.y); Collider2D hit = Physics2D.OverlapPoint(touchPos); if (hit.gameObject.name == "LeftButton" && hit && phase == "began") moving = true; if (hit.gameObject.name == "LeftButton" && hit && phase == "ended") moving = false;
In questo script, creiamo una matrice di elementi contrassegnati come Moveable
-li etichettiamo più avanti in questo tutorial per rendere più facile spostarli tutti in una volta. Per spostare gli elementi, per prima cosa controlliamo se il pulsante viene toccato e cambia la posizione usando velocità di movimento
nel Aggiornare
funzione. E 'così semplice.
Crea un altro script, collegalo al pulsante destro e nominalo Vai a destra. Questo script contiene il Vai a destra
metodo e la sua implementazione è simile a quella del Muovere a sinistra
metodo che abbiamo visto un momento fa. Sostituiamo la direzione del movimento += moveSpeed
con -= moveSpeed
. Questo sposterà la scena nella direzione opposta.
Nel Vai a destra script, controlliamo anche se il giocatore ha completato il livello.
usando UnityEngine; usando System.Collections; public class MoveRight: MonoBehaviour public Vector3 moveSpeed = new Vector3 (); private bool moving = false; scena privata GameObject []; GameObject privato bg; audio AudioClip completeSound; pulsanti privati GameObject []; GameObject privato completeText; bool privato finito = falso; carattere pubblico good dog; // Usa questo per l'inizializzazione void Start () scene = GameObject.FindGameObjectsWithTag ("Moveable"); bg = GameObject.Find ("Sfondo"); buttons = GameObject.FindGameObjectsWithTag ("Pulsanti"); // L'aggiornamento viene chiamato una volta per frame void Update () if (Application.platform == RuntimePlatform.Android) if (Input.touchCount> 0) if (Input.GetTouch (0) .phase == TouchPhase.Began ) CheckTouch (Input.GetTouch (0) .position, "started"); else if (Input.GetTouch (0) .phase == TouchPhase.Ended) CheckTouch (Input.GetTouch (0) .position, "ended"); if (Application.platform == RuntimePlatform.OSXEditor) if (Input.GetMouseButtonDown (0)) CheckTouch (Input.mousePosition, "started"); if (Input.GetMouseButtonUp (0)) CheckTouch (Input.mousePosition, "ended"); // Sposta se il pulsante è premuto && lo stage non è finito se (moving && bg.transform.position.x> -4.8f) for (int i = 0; i < scene.Length; i++) if (scene [i] != null) scene [i].transform.position -= moveSpeed; // Stage Completed if (bg.transform.position.x <= -4.8f && ended == false) Alert("complete"); void CheckTouch(Vector3 pos, string phase) Vector3 wp = Camera.main.ScreenToWorldPoint(pos); Vector2 touchPos = new Vector2(wp.x, wp.y); Collider2D hit = Physics2D.OverlapPoint(touchPos); if (hit.gameObject.name == "RightButton" && hit && phase == "began") moving = true; if (hit.gameObject.name == "RightButton" && hit && phase == "ended") moving = false; public void Alert(string action) ended = true; completeText = new GameObject(); completeText.AddComponent("GUIText"); completeText.guiText.font = goodDog; completeText.guiText.fontSize = 50; completeText.guiText.color = new Color(255, 0, 0); if (action == "complete") AudioSource.PlayClipAtPoint(completeSound, transform.position); completeText.guiText.text = "Level Complete!"; completeText.guiText.transform.position = new Vector3(0.24f, 0.88f, 0); else completeText.guiText.text = "Game Over"; completeText.guiText.transform.position = new Vector3(0.36f, 0.88f, 0); bg.GetComponent().Stop(); for(int i = 0; i < buttons.Length; i++) buttons[i].renderer.enabled = false; Invoke("restart", 2); void restart() Application.LoadLevel(Application.loadedLevel);
Il Mettere in guardia
la funzione crea e visualizza un messaggio al lettore e riproduce il suono collegato allo sprite di sfondo. Per fare in modo che funzioni, aggiungi il suono corrispondente allo sprite di sfondo come abbiamo visto in precedenza in questo tutorial. Nascondiamo anche i pulsanti e riavviamo il gioco con un ritardo di due secondi.
Useremo un foglio sprite per il resto degli elementi del gioco. Unity ha un editor di sprite che rende l'uso degli sprite un gioco da ragazzi. L'artwork utilizzato in questo tutorial è stato ottenuto da OpenGameArt.org.
Importa il disegno, selezionalo dal Risorse pannello, e cambia il Modalità Sprite opzione a multiplo nel Ispettore pannello.
Apri il Sprite Editor facendo clic sul pulsante in basso e selezionare Slice> Automatico.
Con il foglio sprite affettato e pronto per l'uso, fai clic sulla freccia che appare quando il foglio sprite è selezionato e scegli lo sprite per l'eroe, il personaggio principale del nostro gioco. Mettilo sulla scena e aggiungi un Collider 2D componente ad esso.
Per rilevare una collisione con il nostro eroe, almeno uno degli oggetti in collisione deve avere un RigidBody 2D componente collegato ad esso. Per aggiungerne uno al nostro eroe, seleziona Aggiungi componente nel Ispettore pannello, seguito da Fisica 2D > RigidBody 2D.
Controlla il Angolo fisso casella per impedire all'eroe di ruotare se si verifica una collisione.
Quando il nostro eroe viene colpito da un nemico, suoniamo un altro suono per dare il feedback al giocatore. Se hai mai giocato a Super Mario Bros., probabilmente sai qual è l'effetto che cerchiamo. Per fare ciò, dobbiamo prima aggiungere il suono. Selezionalo dal Gerarchia o Scena visualizzare, fare clic su Aggiungi componente pulsante nel Ispettore pannello e selezionare Sorgente Audio nel Audio sezione.
I dettagli del componente audio verranno visualizzati nel Pannello Ispettore. Fai clic sul punto sotto l'icona a forma di ingranaggio e seleziona colpire suono.
Come in molti tradizionali platform 2D, puoi collezionare monete nel nostro gioco. Poiché utilizzeremo questo oggetto più volte nel gioco, lo convertiremo in a Prefab una volta aggiunti tutti i componenti necessari.
Trascina la moneta dal Risorse cartella e aggiungi a Collider2D come abbiamo visto nei passaggi precedenti.
Suoniamo un suono ogni volta che il nostro eroe colleziona una moneta. Aggiungi un Sorgente Audio componente come abbiamo visto un attimo fa e selezionare il moneta suono dalle risorse del progetto.
Allega questo semplice copione alla moneta. Rileva quando la moneta e l'eroe si scontrano. La moneta viene distrutta e viene riprodotto un suono per indicare che la moneta è stata raccolta dall'eroe.
usando UnityEngine; usando System.Collections; public class GrabCoin: MonoBehaviour void OnTriggerEnter2D (Collider2D other) if (other.gameObject.name == "Hero") audio.Play (); Destroy (gameObject.collider2D); gameObject.renderer.enabled = false; Destroy (gameObject, 0.47f); // Destroy the object -after- il suono riprodotto
Con tutti i componenti in posizione, trascina la moneta dal Gerarchia pannello al Risorse pannello per convertirlo in a Prefab. Noterai che il testo diventa blu indicando che ora è un prefabbricato.
Non dimentichiamo i nemici del gioco. Trascina l'opera d'arte per il nemico dal Risorse cartella e aggiungere due Collider 2D componenti come mostrato nello screenshot qui sotto.
I collisori sono di dimensioni ridotte per impedire all'eroe di scontrarsi con entrambi i collisori contemporaneamente. Cambia le impostazioni di ciascuno Collider 2D componente come sotto.
Il primo collisore nel pannello è il collisore più in alto che abbiamo aggiunto al nemico. Rileverà se l'eroe salta sopra il nemico e lo distrugge. La logica per questa azione è mostrata nello script seguente.
Contrassegniamo il secondo collider come trigger selezionando la casella contrassegnata È Trigger. Rileva quando il nemico si imbatte nell'eroe o viceversa. Quando ciò accade, il giocatore perde la partita.
La sceneggiatura allegata al nemico è mostrata sotto e implementa la logica che abbiamo appena discusso. Come puoi vedere, il nemico viene spostato a sinistra in ogni fotogramma e lo script rileva quando l'eroe salta sopra il nemico o quando l'eroe incontra il nemico.
usando UnityEngine; usando System.Collections; public class Enemy: MonoBehaviour public Vector3 moveSpeed; pubblico AudioClip hitSound; public GameObject alertBridge; // Usa questo per l'inizializzazione void Start () // L'aggiornamento viene chiamato una volta per frame void Update () transform.position - = moveSpeed; // Sposta il nemico a sinistra void OnCollisionEnter2D (Collision2D altro) // Hero salta sul nemico if (other.gameObject.name == "Hero") AudioSource.PlayClipAtPoint (hitSound, transform.position); Destroy (gameObject); void OnTriggerEnter2D (Collider2D altro) // hero colpisce il lato del nemico if (other.gameObject.name == "Hero") other.gameObject.audio.Play (); // Riproduci audio Destroy (other.gameObject.collider2D); // Rimuovi il collisore per evitare riproduzioni audio other.gameObject.renderer.enabled = false; // Rendi invisibile l'oggetto Destroy (other.gameObject, 0.626f); // Distruggi oggetto quando l'audio è terminato, distruggendolo prima farà sì che l'audio interrompa alertBridge.GetComponent (). Alert ("gameover");
I mattoni sono usati come piattaforme. L'eroe può saltare sui mattoni per evitare nemici e raccogliere monete. Trascina il disegno del mattone dal Risorse pannello e aggiungi a Collider 2D componente ad esso. Non dimenticare di convertirlo in a Prefab, perché sarà usato un bel po 'nel gioco.
Useremo uno sprite per mostrare il traguardo del livello. Trascinalo dal Risorse pannello al Scena come mostrato nello screenshot qui sotto.
Miglioriamo l'esperienza auditiva del nostro gioco utilizzando il plug-in Dolby Audio per Unity. Tuttavia, vorrei prima spiegare perché dovresti usare il Dolby Audio Plugin e come migliorerà il tuo gioco.
Dolby Digital Plus è una soluzione audio avanzata integrata in molti dispositivi mobili, compresi i tablet. Le applicazioni mobili possono sfruttare le funzionalità Dolby Digital Plus tramite API. Alcuni dei vantaggi includono Ottimizzazione audio, Massimizzazione del volume e Livellamento del volume. Dolby ha reso disponibile la sua API per diverse piattaforme, tra cui Android e Kindle Fire. Nel nostro gioco, utilizzeremo il plug-in Dolby Audio per Unity.
Nota che il plugin per Unity è gratuito e molto facile da integrare. In altre parole, non c'è motivo di non includerlo nel tuo prossimo gioco.
Inizia scaricando il plug-in Unity di Dolby. Puoi scaricarlo da Unity Asset Store o direttamente dal sito Web degli sviluppatori di Dolby. Se scegli la seconda opzione, crea un account gratuito per scaricare il plug-in o accedi se hai già un account sviluppatore Dolby. Estrai il pacchetto e copia la versione di cui hai bisogno Risorse> Plugin> Android. Ecco come è facile installare il plugin per Unity.
Crea un nuovo script e collegalo a un oggetto sempre presente nel gioco come lo sfondo o la fotocamera. Dai un nome allo script Dolby e compilalo con il seguente frammento di codice.
usando UnityEngine; usando System.Collections; utilizzando System.Runtime.InteropServices; // Ci permette di usare DLLImport public class Dolby: MonoBehaviour private GameObject debugText; carattere pubblico arial; / * Funzioni del plugin di importazione * / [DllImport ("DSPlugin")] public extern bool pubblico isAvailable (); [DllImport ("DSPlugin")] public static extern int initialize (); [DllImport ("DSPlugin")] public static extern int setProfile (int profileid); [DllImport ("DSPlugin")] public static extern int suspendSession (); [DllImport ("DSPlugin")] public static extern int restartSession (); [DllImport ("DSPlugin")] public static extern void release (); // Usa questo per l'inizializzazione void Start () / * Campo di testo creato per feedback * / debugText = new GameObject (); debugText.AddComponent ( "GUIText"); debugText.guiText.font = arial; debugText.guiText.fontSize = 14; debugText.guiText.color = new Color (255, 0, 0); debugText.transform.position = new Vector3 (0, 1, 0); / * Inizializza Dolby se Disponibile * / if (isAvailable ()) Invoke (Init, 0.1f); // Attendi 100 ms per accertarsi che il servizio Dolby sia abilitato else debugText.guiText.text = "Dolby Sound Not Available"; void Init () debugText.guiText.text = "Dolby Sound Available"; setprofile (2); / * Imposta profilo su "Gioco" * / initialize (); void OnApplicationPause () suspendSession (); // L'audio Dolby si interrompe se l'app viene commutata o messa in pausa void OnApplicationFocus () restartSession (); // Riavvia audio Dolby se l'app è attiva void OnApplicationQuit () release (); // Interrompe completamente il Dolby Sound
Sono sicuro che sei d'accordo che è molto semplice integrare l'API Dolby Audio nel tuo gioco. Per prima cosa creiamo un debugText
oggetto, che è di tipo GameObject
, per ricevere feedback dal dispositivo. Quindi importiamo le funzioni necessarie definite dall'API Dolby Audio e inizializziamo l'API Dolby Audio se il dispositivo dell'utente lo supporta.
Per garantire che il servizio Dolby sia abilitato, attendere brevemente (0.1 secondi) prima di chiamare il inizializzare()
metodo. Se non lo facciamo, c'è una possibilità che tu riceva a -1
errore, che può verificarsi quando si tenta di impostare Dolby su quando il servizio viene stabilito.
Dolby ha anche incluso funzioni per sospendere e riavviare il suono quando necessario, il che è utile quando passiamo a un'altra applicazione e non abbiamo bisogno dell'aumento del suono. Questo è importante per conservare la carica della batteria e altre risorse del dispositivo. Possiamo anche fermare completamente l'amplificazione del suono invocando pubblicazione
come facciamo noi OnApplicationQuit
.
È tempo di testare il gioco. Premi Comando-P per giocare in Unity. Se tutto funziona come previsto, sei pronto per i passaggi finali.
Quando sei soddisfatto del tuo gioco, è il momento di selezionare Costruisci le impostazioni dal File menu e fare clic su Impostazioni del giocatore pulsante. Questo dovrebbe far apparire il Impostazioni del giocatore nel Ispettore pannello in cui è possibile impostare i parametri per la propria applicazione.
Queste impostazioni sono specifiche dell'applicazione e includono il creatore o la società, la risoluzione dell'applicazione, la modalità di visualizzazione, ecc. Queste impostazioni dipendono dai dispositivi a cui ti rivolgi e dai negozi o mercati sui quali pubblicherai il gioco.
Usando la grafica creata in precedenza, ora puoi creare una bella icona e un'immagine splash per il tuo gioco. Unity ti mostra le dimensioni richieste, che dipendono dalla piattaforma che stai creando.
Una volta che il tuo progetto è configurato correttamente, è il momento di rivisitare il Costruisci le impostazioni e fare clic su Costruire pulsante. Questo è tutto ciò che serve per costruire il tuo gioco per test e / o distribuzione.
In questo tutorial, abbiamo imparato a conoscere il nuovo plug-in Dolby Audio per Unity, i fogli sprite, i controlli, il rilevamento delle collisioni e altri aspetti dello sviluppo del gioco utilizzando Unity. Ti incoraggio a sperimentare il risultato e personalizzare il gioco per renderlo tuo. Spero che questo tutorial ti sia piaciuto e l'ho trovato utile.