
Una breve presentazione del corso che stai per cominciare
Andiamo a installare il software Unity
Creiamo un ID per Unity e impostiamo il nostro progetto 3D Runner
Cominciamo a prendere confidenza con l'interfaccia di Unity e i suoi strumenti
Impostiamo la risoluzione di un ipotetico smartphone
In questa lezione andiamo a prendere il personaggio 3D che sarà il runner del nostro gioco
In questa lezione importiamo il personaggio nel gioco, impostiamo il file che serve a mostrare le texture e inseriamo il personaggio pronto nella scena del gioco
Prepariamo il nostro player alle dinamiche del gioco
Cominciamo a far correre il nostro personaggio
Creiamo uno script associato al Player dove andremo poi a inserire il codice per farlo muovere
Assegnamo un rigidbody al personaggio in modo che possa avere le risposte giuste alle forze fisiche come la gravità e la massa, e cominciamo ad ambientarci con il programma per scrivere il codice
Scriviamo il codice che servirà a far muovere il personaggio
Facciamo gli ultimi aggiustamenti e facciamo muovere il nostro player
Andiamo a scaricare e ad importare la nuova animazione che ci servirà ogni volta che il personaggio dovrà saltare
Andiamo ad aggiungere una forza che spinge il player verso l'alto ad ogni click dell'utente
Cominciamo con le prime impostazioni per attivare l'animazione del salto
Impostiamo gli ultimi settaggi e richiamiamo l'animazione da script ogni volta che l'utente clicca sullo schermo dello smartphone
Ci occupiamo della telecamera, creaiamo lo script per farla muovere
Inseriamo il codice che servirà a far seguire il personaggio dalla telecamera
Andiamo nell'AssetStore a scaricare il package con le piattaforme che ci serviranno per la creazione del percorso
Creiamo i collider per le staccionate in modo da poter riconoscere le collsioni con il personaggio e mandare il gioco in game over
Leghiamo tra loro più piattaforme utilizzando una tecnica di snapping e testiamo il gioco con le nuove piattaforme
Una breve presentazione alla nuova sezione che andremo ad affrontare
Cominciamo con il creare lo script che si occuperà della creazione delle piattaforme in modo dinamico
Iniziamo ad impostare le variabili necessarie allo script di PlatformSpawner
Cominciamo a scrivere il codice per la Void Start e implementiamo una funzione con Return di una variabile (parte 1)
Cominciamo a scrivere il codice per la Void Start e implementiamo una funzione con Return di una variabile (parte 2)
Creiamo la funzione che si occupa di gestire la creazione delle prime piattaforme
Andiamo a creare lo script che si occuperà di creare le piattaforme verticali e di renderle visibili o invisibili ogni volta che servono
Nel nuovo script creiamo la void che servirà a creare le nuove piattaforme
Andiamo a mettere il codice per richiamare il pool dell'oggetto piattaforma e testiamo il tutto in Unity
Andiamo a prendere l'animazione da assegnare al personaggio quando sta in attesa all'inizio del gioco e la assegnamo sull'Animator
Importiamo l'immagine di tipo Sprite 2D per l'animazione iniziale che indica all'utente di cliccare sullo schermo per far partire il gioco
Andiamo nella timeline delle animazioni a creare l'animazione iniziale che fa ingrandire e rimpicciolire il file startImage per indicare all'utente di cliccare sullo schermo
Nelle lezioni precedenti abbiamo fatto i preparativi per creare il setup iniziale in cui il personaggio è in attesa e appare un'immagine sullo schermo che invita l'utente a cliccare per far partire il gioco e quindi far correre il player... ora cominciamo a modificare lo script del player per rendere attive queste funzioni
Creiamo il codice per fare in modo che quando l'utente clicca sullo schermo il player inizia a correre e l'animazione iniziale scompare
Andiamo a importare uno script apposito per le gesture e lo interfacciamo col nostro giocatore
Facciamo in modo che se l'utente fa saltare il player mentre è già in aria il comando non si attivi per evitare salti doppi, tripli ecc.
Creiamo la void che si occuperà dello spawning delle piattaforme durante il gioco
Creiamo la funzione che si occuperà dell'impostazione di tutte le piattaforme verticali
Creiamo la funzione che sceglie quale tipo di Corner utilizzare (verso destra o verso sinistra) e analizziamo la situazione dei 4 angoli necessari
Creiamo gli oggetti piattaforma ad angolo da usare nella creazione del percorso durante il gioco
In questa lezione andiamo a creare il codice per richiamare l'angolo che manda la piattaforma verso destra
Creiamo lo script di tipo "pooler" per la creazione delle piattaforme ad angolo di tipo 1 e testiamo il gioco su Unity
Creiamo la void per eseguire lo spawn delle piattaforme che vanno verso destra in orizzontale
Aggiungiamo il codice per le gesture in modo che il player si giri verso destra o verso sinistra a seconda dello slide dell'utente
Inseriamo il codice per la void che si occuperà dello spawning delle piattaforme orizzontali vuote che il player dovrà saltare
Creiamo la piattaforma orizzontale verso destra invisibile e la inseriamo tra i prefabs e poi testiamo il gioco per controllare il corretto funzionamento
Andiamo a fare lo spawning dell'angolo che manda le piattaforme verso sinistra
Creiamo il codice per fare lo spawning delle piattaforme orizzontali verso sinistra
In questa lezione ci occupiamo delle piattaforme che vanno in orizzontale verso sinistra e sono vuote
Mettiamo il codice per impostare le piattaforme ad angolo verso l'alto
In questa lezione creiamo i due pooler per le piattaforme ad angolo e testiamo il gioco su Unity
In questa lezione facciamo degli aggiustamenti necessari alla variabile lastPos per avere degli incastri di piattaforma perfetti
Creiamo lo script per far scomparire le piattaforme già utilizzate
In questa lezione andiamo a impsotare i collider anche alle piattaforme ad angolo in modo che scompaiano una volta passato il player
Creiamo le piattaforme che contengono gli ostacoli da saltare o da strisciarci sotto
In questa lezione andiamo a creare i pooler con i loro script per le piattaforme con gli ostacoli
Andiamo a compilare la void CreateCombinations che avevamo lasciato in stand by
In questa lezione terminiamo la compilazione di CreateCombinations e andiamo a testare il gioco su Unity
In questa lezione terminiamo di occuparci del percorso inserendo le piattaforme orizzontali con gli ostacoli
In questa lezione ci andiamo ad occupare della scivolata del Player, andiamo a scaricare l'animazione e la impostiamo
Andiamo a prendere e a impostare un'altro tipo di scivolata per il player
Andiamo a modificare il capsule collider del player nel momento in cui esegue la scivolata e poi ripristiniamo i valori iniziali subito dopo
Andiamo a scaricare e poi impsotare l'animazione per quando il player inciampa in un ostacolo e testiamo su Unity
In questa lezione andiamo a scaricare e impostare una seconda animazione di caduta che ci servirà ogni volta che il player inciampa in una staccionata e cade nel vuoto
In questa lezione completiamo i vari aggiustamenti necessari ai collider delle "Fences" ovvero le staccionate
In questa lezione andiamo a inserire una label nella scena che mostrerà il punteggio ottenuto dal player (Prima parte)
In questa lezione andiamo a inserire una label nella scena che mostrerà il punteggio ottenuto dal player (Seconda parte)
Scriviamo il codice per registrare lo score e l'high score dell'utente
Aggiungiamo l'oggetto panel nella scena e ci mettiamo le scritte per il Game Over
In questa seconda parte di questa lezione ci occupiamo del codice per far apparire il panel al momento del Game Over
Creiamo l'animazione per far apparire il game over panel dall'alto ogni volta che il player cade
Creiamo una scritta "HIGH SCORE!" che apparirà ogni volta che il giocatore supererà il proprio punteggio massimo registrato
Andiamo a creare l'animazione per far lampeggiare la scritta High Score e per farla poi scomparire
Facciamo suonare un file audio ogni volta che il player super l'high score
Creiamo il GameObject Diamond e gli diamo una rotazione e un colore tramite un Material
Creiamo l'animazione per far roteare i diamanti su se stessi
In questa lezione andiamo a generare i diamanti in maniera random lungo il percorso
Andiamo a distruggere i diamanti ogni volta che il player ci passa sopra e associamo un suono e un punteggio
Facciamo apparire un particle effect ogni volta che viene raccolto un diamante
Facciamo in modo che quando il gioco va in game over non si possa più raccogliere diamanti ne controllare il player
Creiamo un pulsante per il Game Over panel che quando cliccato rilancia il gioco
In questa lezione vediamo come inserire e modificare una skybox per avere uno scenario con mare e cielo nuvoloso
Modifichiamo l'impostazione del progetto per renderlo compatibile con Android
Prepariamo il nostro smartphone Android per il debug diretto impostando tutti i permessi e installando i driver usb
Scarichiamo l'applicazione che ci permette di testare il gioco direttamente in uno smartphone e testiamo
Aggiungiamo il codice che fa spostare il player verso destra e verso sinistra a seconda dell'inclinazione dello smartphone
Inseriamo uno script che ci permette di conoscere il valore FPS (Frame Per Second) del nostro gioco e quindi testare la sua fluidità
Vi presento l'ultima sezione, la sezione per la pubblicazione del gioco
Vediamo come fare per installare il Java JDK nel nostro computer
In questa lezione andiamo a scaricare e installare l'Android SDK, necessario per poter creare dei file APK per Android
In questa lezione vediamo come impostare Unity per la creazione del file Apk per il Google Play Store
Andiamo ad installare il software di grafica vettoriale gratuito Inkscape per Mac
Vediamo come installare il software per la grafica vettoriale Inkscape su Windows
Vediamo come creare un'icona per il nostro gioco tramite il software Inkscape
Andiamo a creare un nuovo account Google e ad attivare un account sviluppatore app di Google (Google Developer)
In questa lezione andiamo a creare la scheda per il nostro gioco nella Google Play Console
In questa lezione vediamo come creare le immagini di anteprima del gioco e le immagini promozionali per la scheda nel Play Store
In questa lezione utilizziamo un servizio gratuito online per generare una privacy policy online e la andiamo a pubblicare in un sito gratuito per poi andare a inserire il link nella Google Play Console
Siamo finalmente arrivati al momento tanto sospirato... la pubblicazione del nostro gioco
Siamo giunti al termine di questa lunghissima cavalcata... ci salutiamo e vi lascio con i coupon sconto per i miei corsi!
Ciao e benvenuto!
Con questo corso ho voluto approfondire in maniera seria e completa lo sviluppo di un gioco 3D di tipo runner mantenendo però il livello didattico fruibile da tutti, quindi apprezzabile da programmatori esperti ma anche da persone alle prime armi con la programmazione e il mondo del 3D gaming.
I giochi di tipo runner 3D sono molto in voga ormai da qualche anno, un esempio è il classico Temple Run o l'ormai famosissimo Subway Surfer.
Si tratta in sostanza di pilotare un personaggio con una visualizzazione in terza persona lungo un percorso che cambia continuamente e che presenta una serie di ostacoli e difficoltà oltre che di gemme per raccogliere punti.
Passo dopo passo, lezione dopo lezione, costruiremo un perfetto e complesso sistema per la creazione delle piattaforme che andranno a formare il percorso per il player.
Ci occuperemo di tutti quegli aspetti necessari al buon funzionamento del gioco, come la gestione del player, i salti, le scivolate, le oscillazioni destra sinistra, le svolte, le collsioni con gli ostacoli e tutto ciò che serve a rendere il gioco piacevole e giocabile.
Grazie alle varie dinamiche del gioco riusciremo ad approfondire temi importanti e spesso non perfettamente spiegati o compresi come i collider e la loro gestione e tanti altri componenti disponibili in Unity 3D.
Alla fine del corso ci sarà una parte interamente dedicata alla pubblicazione del gioco nel Google Play Store.
Questo è un corso completo che da zero ti porterà fino alla creazione e alla pubblicazione di un 3D runner game in modo semplice e diretto.
Inoltre avrai la garanzia del soddisfatti o rimborsati, se per qualsiasi motivo entro 30 giorni non sarai completamente soddisfatto del tuo acquisto potrai richiedere "facilmente" un rimborso che ti verrà dato al 100% senza nessun tipo di domanda o questione da parte di Udemy!
Che chiedere di più? ;)
Music:
"Tech Live” , “On The Ground” , “Robobozo” Kevin MacLeod (incompetech(dot)com)
Licensed under Creative Commons: By Attribution 3.0 License
http://creativecommons.org/licenses/by/3.0/