Tutorial Unity3D

Tutorial Unity3D

Introduzione all'Unità 3D

Unity 3D è un potente motore di sviluppo del gioco. È la piattaforma incrociata che ti consente di creare giochi per dispositivi mobili, web, desktop e console, circa 30 piattaforme in tutto. Unity 3D ha molte caratteristiche entusiasmanti, alcune di esse sono riportate di seguito:

  • Costo: La versione personale di Unity 3D è gratuita per principianti, studenti e hobbisti. Unity Personal ha tutte le caratteristiche fondamentali dell'unità. Ha anche analisi core, build cloud, annunci, multiplayer, acquisti in-app e funzionalità di piattaforma incrociata. Oltre a queste caratteristiche unità personale ha anche alcune limitazioni. Altre due versioni Unity Plus e Unity Pro sono disponibili anche per creatori e professionisti seri, a partire dal prezzo di $ 35 al mese.
  • Tutti gli editori in uno: L'unità è conosciuta come un editore tutto in un editore. L'editor di Unity ha diversi strumenti per artisti per la progettazione di esperienze impressionanti. Ha una forte causa di strumenti per sviluppatori per l'implementazione della logica del gioco e del gameplay di fascia alta. Unity ti consente anche di creare entrambi i giochi 2D e 3D. Include anche strumenti per pathfinding AI basati su un sistema di navigazione. Ha un eccellente sistema integrato per creare interfacce utente che catturano gli occhi. Il suo motore di fisica Box2D ci consente di creare movimento, slancio, forza e gameplay realistici.
  • Piattaforme: Unity supporta molte piattaforme diverse come Linux, iOS, Android, Windows, ecc. Totalmente quasi 30 piattaforme.
  • Realtà virtuale e aumentata: L'unità supporta lo sviluppo della realtà virtuale e aumentata. È un motore più utilizzato per lo sviluppo XR. Ha Microsoft HoloLens, Stream VR/Vive, Gear VR e PlayStation VR Support in Unity Plus per la realtà virtuale e aumentata.
  • Multiplayer: Per i giochi in rete in tempo reale e il multiplayer Unity è l'opzione migliore. Fornisce server per la collaborazione in tempo reale.
  • Performance del motore: Le prestazioni del motore di Unity sono straordinarie. Il sistema di calcolo multi-thread sta arrivando per scenari intensivi. Il motore Unity ha strumenti di profilazione avanzata che determina se il gioco è vincolato o meno della CPU e dice anche come ottimizzarlo con un'esperienza migliore.
  • Store di attività unity: È un enorme catalogo di contenuti gratuiti e pagati. Puoi aumentare il tempo di sviluppo scaricando molti modelli e risorse gratuiti integrati. Anche Unity Asset Store ha progetti completi sia gratuitamente che a pagamento.
  • Rendering grafico: Unity ha uno dei migliori sistemi di rendering grafico. Ti permette di creare ambienti come il giorno luminoso, sgargiante bagliore di segni al neon, mezzanotte scarsamente illuminate e tunnel ombrosi. Produce incredibili effetti visivi. Sebbene Unity supporti multipiattaforma, ma cerca comunque di coprire l'API grafica di basso livello di ogni piattaforma per risultati migliori e un'esperienza utente morbida.
  • Collaborazione del team: Ha caratteristiche che consentono la collaborazione e il flusso di lavoro semplice. L'archiviazione cloud di Unity ti consente di salvare, condividere e sincronizzare i tuoi progetti ovunque.
  • Reporting per le prestazioni: Il sistema di reporting per le prestazioni di Unity affronta i problemi in tempo reale. I problemi di alte priorità sono risolti in modo molto efficiente. Trova errori dell'applicazione su dispositivi e piattaforme.

Interfacce unity

Esploriamo le interfacce di Unity Editor, che sono configurabili. È composto da finestre toccate che puoi riorganizzare in base al tuo bisogno. Esploriamo le impostazioni della finestra predefinite. Ecco l'immagine come appare

Finestra gerarchia

La finestra della gerarchia rappresenta ogni oggetto nella scena. Mostra come gli oggetti sono collegati tra loro nella scena, quindi queste due finestre sono correlate. Nella finestra di gerarchia c'è un elenco di discesa chiamato come Creare. È possibile creare un oggetto vuoto, oggetti 3D, oggetti 2D, luce, audio, video, sistema di particelle e oggetti della fotocamera molto facilmente. La finestra della gerarchia è mostrata di seguito. "Untitled" è il nome della scena. Puoi rinominarlo come vuoi. Puoi vedere un'icona a discesa sul lato destro di Untitled (nome della scena). Facendo clic su questo discesa puoi vedere diverse opzioni per Salva scena E Aggiungi nuova scena.

Finestra di scena

La finestra della scena è dove crei la tua scena. È dove puoi interagire con gli oggetti e i modelli del tuo gioco. Puoi ridimensionare, rimodellare e riposizionare i tuoi oggetti di scena. Questa è la finestra in cui inizi a lavorare con unità. La vista della scena può essere 2D o 3D a seconda dell'impostazione del progetto. Ecco una schermata di come appare la finestra della scena:

Nella finestra della scena puoi vedere un'altra scheda etichettata Ombreggiato, Qui è dove è possibile selezionare quale tipo di vista desideri ombre o wireframe. Ha molte altre opzioni come varie illuminazione globale, giurisprudenza, gi e molti altri. È possibile visualizzare su 2D o 3D utilizzando il pulsante accanto a Ombreggiato cadere in picchiata. Il prossimo è il pulsante di levetta per l'illuminazione della scena. Allo stesso modo. Il prossimo è un elenco a discesa per abilitare Sky Box, nebbia, materiale animato e effetti dell'immagine.

Finestra di gioco

La finestra del gioco rappresenta il tuo gioco finale pubblicato in modalità di gioco. È reso dalle telecamere che hai usato nel tuo gioco. Nella finestra del gioco puoi vedere un'altra barra degli strumenti come mostrato di seguito nella schermata:

Visualizza 1 mostra la fotocamera presente nella scena del gioco. Per impostazione predefinita è impostato su Visualizza 1 per la fotocamera principale. Se hai più telecamere e si desidera cambiare, puoi selezionare dall'elenco a discesa. Accanto a questo puoi vedere un calo per i rapporti. È possibile selezionare in base alla schermata del monitor del dispositivo target. Successivamente puoi vedere un SCALE SLIDER per ingrandire. Scorri a destra ed esamina maggiori dettagli della tua scena in modalità di gioco. Il prossimo è il pulsante per Massimizza il gioco, Quando è stato cliccato, la dimensione della finestra del gioco sarà massima in modalità di gioco. Audio muto Leggle viene utilizzato per l'audio muto/non -up. Statistiche mostra le statistiche di rendering sull'audio e sulla grafica del tuo gioco.

Finestra delle risorse del progetto

Come mostra il nome, la finestra ha tutte le risorse del tuo progetto che puoi utilizzare. Se importi qualcosa di nuovo, apparirà nella finestra delle risorse del progetto. La finestra Asset Project ha due parti, il pannello sinistro e il pannello destro come mostrato nella schermata seguente:

Il riquadro sinistro mostra la struttura gerarchica delle risorse del progetto. Quando si fa clic su qualsiasi cartella, mostrerà i dettagli nel pannello a destra. Ad esempio nella figura data Prefabbricati La cartella viene cliccata nel pannello sinistro in modo che i suoi dettagli siano visualizzati nel pannello destro in quanto contiene due oggetti di gioco. Nel pannello a sinistra puoi vedere un file Preferiti sezione, dove è possibile trascinare gli articoli che si desidera utilizzare molto frequentemente per evitare gli sprechi nel tempo nella ricerca. Sopra di esso puoi vedere un Creare Abbassa che ti consente di creare uno script C#, una cartella, uno shader, una pelle di GUI, una scena, una prefabbricata, un materiale e molto altro ancora.

Finestra console

La finestra della console è il luogo in cui puoi vedere i tuoi errori, avvertimenti e messaggi. È possibile regolarli facendo clic sui loro pulsanti. Ti consente inoltre di cancellare tutti gli errori, gli avvertimenti e i messaggi. Puoi mettere in pausa errori per un certo tempo. Qui puoi vedere nella figura seguente

L'icona a discesa all'angolo in alto a destra ha opzioni per il registro editor e la registrazione di traccia dello stack.

Finestra dell'ispettore

La finestra dell'ispettore è una delle finestre più interessanti e utili dell'editor. È il luogo in cui è possibile modificare tutte le proprietà dell'oggetto di gioco selezionato. Ogni oggetto di gioco ha il suo tipo, quindi le loro proprietà saranno diverse e la finestra dell'ispettore può variare. Asset, sceneggiature e oggetti di gioco variano tutti nelle proprietà. Vediamo le proprietà di un cubo nella finestra dell'ispettore. Ecco l'immagine:

Puoi rinominare il tuo oggetto di gioco semplicemente facendo clic sul nome precedente e digitando uno nuovo. Successivamente vedrai la sezione di trasformazione in cui puoi regolare la posizione, la rotazione e il ridimensionamento dell'oggetto di gioco selezionato. Nell'ultimo vedi un nome pulsante come Aggiungi componente, Fare clic su di esso per aggiungere nuovi componenti all'oggetto del gioco, ad esempio se si desidera allegare uno script, fai clic su Aggiungi componente e digita il nome dello script.

Barra degli strumenti

L'ultima è la scheda della barra degli strumenti, ha molte funzionalità utili. Contiene alcuni strumenti di base per manipolare la vista della scena e gli oggetti. Al centro ci sono pulsanti per il gioco, pausa e controllo dei gradini. I prossimi due pulsanti mostrano il tuo account Unity Cloud e Unity. Ecco la figura come appare:

Iniziare con l'unità

Iniziamo a creare un nuovo progetto in Unity perché è tempo di giocare con ciò che abbiamo imparato. Fare doppio clic sull'icona Unity verrà visualizzata la finestra seguente:

accedere Nome del progetto, Seleziona un posto di lavoro Posizione e quindi selezionare il tipo di progetto 2D o 3D. Clicca su Crea progetto.

Per impostazione predefinita vedrai una scena senza titolo contenente una fotocamera principale e una luce direzionale nella scena. Iniziamo a creare un ambiente.

Ambiente di costruzione

Prima di tutto crea un piano facendo clic su Crea -> Oggetto 3D e poi seleziona Aereo. O in alternativa puoi crearlo facendo clic su GameObject -> Oggetto Game e poi seleziona Aereo. Vai alla finestra della gerarchia e fai clic sull'oggetto del gioco aereo. Ora vai alla finestra dell'ispettore e rinominalo come Terra. Ora regola i valori di trasformazione in modo che questo aereo assomigli a una strada dritta. Scala solo x a 6 e z a 50. Ecco l'immagine come appare

Ora scarica una trama stradale e applicalo sull'oggetto a terra. Crea un nome cartella come trama. Trascina la trama stradale scaricata nella cartella di Texture. Ora seleziona Terra e trascinare la trama stradale nella vista della scena. Ecco l'immagine come appare

Questa è la trama che ho scaricato

Dopo aver applicato la trama a terra, fare clic a terra e impostare la piastrella nella finestra dell'ispettore. Ecco come l'ho impostato.

Ora hai creato un modello su strada, creiamo un modello a palla in unità.

Vai a Crea -> Oggetto 3D e poi seleziona Sfera, Vedrai un oggetto sfera nella finestra della scena. Selezionalo e vai alla finestra Inspector per rinominarlo come Palla. Ora regola i valori di trasformazione di conseguenza. Basta ridimensionarlo a 5 lungo tutti e tre gli asse e riposizionarlo al centro della strada. Ecco come appare

Ora crea una recinzione o un muro intorno alla strada.

Vai a Crea -> Oggetto 3D e poi seleziona Cubo. Selezionalo e rinominalo a Wall1. Vai alla finestra Inspector e imposta i valori di trasformazione in modo che sembri un muro intorno alla strada. Ecco come appare:

Vedere questi valori di trasformazione per Wall1. Scala Y a 6 e z a 500. Quindi regola la sua posizione in modo che arrivi agli angoli della strada.

Ora cerca una trama da parete scaricalo e copia su Struttura cartella in attività. Trascina la trama del muro sul muro nella finestra della scena. Regola la lavorazione in modo che sembri bello e liscio. Ho regolato la piastrellatura da x a 50 e y a 1.5. Dopo aver regolato la piastrella è così che sembra

Questa è la trama che ho usato per il muro

Abbiamo creato muro per un lato della strada. Ora fai la stessa cosa anche per l'altro lato della strada. Invece di passare attraverso tutto il processo che possiamo semplicemente copiare Wall1 e rinominarlo a Wall2.

Selezionare Wall1 Nella finestra gerarchia e quindi fare clic con il tasto destro e quindi selezionare Duplicare opzione. Creerà un altro oggetto di gioco con valori di dimensioni e trasformazione. Clicca su Wall1 (1) e rinominarlo a Wall2. Ora regola la posizione in modo che arrivi all'altro angolo della strada.

Vedere l'immagine seguente quanto è bello

I miei valori di posizione per Wall2 sono da x a -29.6 y a 2.6 e z a 2.6.

Ora crea un materiale per Palla. Vai alla finestra Project e crea una cartella facendo clic con il tasto destro sul mouse, quindi seleziona Cartella. Nominalo come Materiali. Ancora una volta fai clic con il tasto destro sul mouse e crea un materiale. Nominalo come palla rossa. Nella finestra dell'ispettore seleziona il colore del materiale. Vai a Mappe principali e seleziona il colore dell'albedo in rosso. Aumenta la trama metallica scorrendo la barra a destra. Trascinare questo materiale su Palla Nella vista della scena. Ecco come appare

Ecco come appare il materiale:

Quindi abbiamo finito con il nostro sviluppo dell'ambiente. Ora è ora di fare un po 'di codifica. Per questo dobbiamo creare uno script.

Scripting in unità

Per implementare le tue funzionalità di gioco e controllare il comportamento dell'unità di gioco fornisce come meccanismo di scripting. Puoi scrivere il tuo script per l'output desiderato del gioco. Con questi script è possibile attivare eventi di gioco, puoi modificare le proprietà del componente e puoi rispondere agli input dell'utente. Fondamentalmente Unity supporta due diversi linguaggi di programmazione a scopo di scripting, uno è C# e l'altro è JavaScript. Oltre a queste due lingue molte altre .Le lingue nette possono anche essere utilizzate con unità. Gli script sono noti come componente comportamentale nell'unità.

Creazione di uno script

Iniziamo a creare uno script di unità. Per questo vai alla finestra delle risorse e crea una nuova cartella denominata Script (Puoi saltare la creazione di nuove cartelle per ogni nuovo tipo di risorsa ma è una buona pratica mantenere le cose organizzate). Ecco come appare ora la finestra delle mie risorse:

Ora apri il Script cartella, clic destro, quindi vai a Creare e seleziona C# sceneggiatura. Rinominare lo script a Movimento. Stiamo creando questa sceneggiatura per muovere e far rotolare la palla sulla strada. Per ora la palla è fermo, non facendo nulla, creiamo un po 'di movimento.

Double Click sullo script di movimento si aprirà in mono sviluppo. Se la tua sceneggiatura è un comportamento mono, vedrai un codice pre scritto come questo

Utilizzo del sistema.Collezioni;
Utilizzo del sistema.Collezioni.Generico;
usando UnityEngine;
Movementscript di classe pubblica: monobehaviour
// usa questo per l'inizializzazione
void start ()

// L'aggiornamento viene chiamato una volta per frame
void update ()

Puoi vedere due funzioni start () e update ().

Inizio(): La funzione di avvio viene utilizzata per l'inizializzazione di variabili e oggetti. Si chiama solo una volta quando lo script è abilitato poco prima di qualsiasi altra chiamata di funzione di aggiornamento.

Aggiornamento(): È una funzione comportamento mono, viene chiamata una volta in ogni frame.

Oltre a questi due ci sono molte altre funzioni di comportamento mono, ad esempio sveglio (), fisseUpdate (), lateupdate () ecc.

Per spostare la palla sulla strada prima di tutto devi renderla un corpo rigido (è un corpo solido ideale in cui la deformazione viene trascurata). Selezionare Palla Nella finestra gerarchia e fare clic su Aggiungi componente pulsante nella finestra dell'ispettore. Digita il corpo rigido e premi accedere. Un corpo rigido si attaccerà al file Palla. Ora vai allo script e crea una variabile privata di tipo Corpo rigido. Ora assegna un corpo rigido della palla a questa variabile appena creata nello script.

Private Rigidbody RB;
rb = getComponent ();

Ora scrivi un po 'di codice per il movimento di questo corpo rigido. Qual è l'idea? La palla dovrebbe muoversi quando premo i tasti freccia della tastiera. Dovrebbe andare avanti quando viene premuto il tasto verso l'alto, all'indietro quando viene premuto il tasto verso il basso e così via.

Quindi l'input nel venire dalla tastiera, come dovrei ottenere questo input? La classe di input di Unity ha un nome di funzione GetAxis (), per restituire il valore dell'asse virtuale identificato dal nome dell'asse. Crea due variabili una per l'asse x e una per l'input dell'asse y. Ecco come dovrebbe essere

Float MoveHorizontal = Input.GetAxis ("orizzontale");

Ora crea una variabile vector3 per ottenere valori di movimento.

VECTOR3 Movement = new Vector3 (MoveHorizontal, 0.0f, movingverticle);

Il primo parametro è il valore dell'asse x, il secondo è il valore dell'asse y e il terzo è il valore dell'asse z. Poiché la palla non si muoverà nella direzione dell'asse y, quindi assegnerà zero ad esso. Infine aggiungere questo movimento al corpo rigido e moltiplicare con un numero costante per la velocità o creare un'altra variabile per la velocità. Vedi il codice completo di seguito

Utilizzo del sistema.Collezioni;
Utilizzo del sistema.Collezioni.Generico;
usando UnityEngine;
Movimento della classe pubblica: monobehaviour
velocità del galleggiante pubblico;
Private Rigidbody RB;
// usa questo per l'inizializzazione
void start ()
rb = getComponent ();

// L'aggiornamento fisso viene chiamato dopo il numero fisso di frame
void FixEUpDate ()
Float MoveHorizontal = Input.GetAxis ("orizzontale");
Float MoveLverticle = Input.GetAxis ("orizzontale");
Vector3 Movement = new Vector3 (-1*MoveHorizontal, 0.0f, -1*MoveLverticle);
Rb.AddForce (movimento * velocità);

Poiché la velocità è una variabile pubblica in modo da poter assegnare il valore nella finestra dell'ispettore. Allega questo script alla palla trascinandolo nella finestra dell'ispettore o premendo Aggiungi componente pulsante. Premere il pulsante Play e testare la codifica che la palla si muove o no.

Impostazione della fotocamera

L'ultima cosa che noterai è quando si preme il pulsante in avanti e la palla inizia a spostarla esce dalla fotocamera poiché la fotocamera è ferma. Cosa dovremmo fare? Dovremmo muovere anche la fotocamera? Sì, è la cosa più semplice da fare. Rendi la fotocamera figlio della palla trascinando la fotocamera principale sulla palla.

Conclusione

Questo è stato un tutorial introduttivo di base in cui hai imparato molte caratteristiche interessanti, costruzione dell'ambiente e script in unità. Non esitare, inizia a creare il tuo primo gioco con Unity oggi e divertiti!