Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Preparazione dell'area di gioco
In questa prima parte, prepareremo l'area del gioco. Cominciamo importando le risorse del gioco iniziali e preparando la scena del gioco.
Abbiamo preparato un progetto Godot con i modelli 3D e i suoni che useremo per questo tutorial, il cui link si trova nella pagina d'indice. Se non l'hai ancora fatto, puoi scaricare l'archivio qui: Squash the Creeps assets.
Once you've downloaded it, extract the .zip archive on your computer. Open the Godot Project Manager and click the Import button.
Nel popup di importazione, inserisci il percorso completo della cartella 3d_squash_the_creeps_starter/ appena creata. Puoi cliccare sul pulsante Sfoglia a destra per aprire una finestra Esplora file e navigare fino al file project.godot contenuto nella cartella.
Clicca su Importa per aprire il progetto nell'editor.
Una finestra potrebbe informarti che il progetto è stato generato da una versione precedente di Godot. Clicca su OK per convertire il progetto alla versione attuale di Godot.
If it doesn't open immediately, open the project from your project list.
Il progetto iniziale contiene un'icona e due cartelle: art/ e fonts/. Lì, troverai le risorse grafiche e sonore che useremo nel gioco.
Ci sono due modelli 3D, player.glb e mob.glb, alcuni materiali che appartengono a questi modelli e una traccia musicale.
Preparazione dell'area giocabile
Andremo a creare la nostra scena principale con un Node base come sua radice (root). Nel pannello Scena, clicca sul pulsante Aggiungi nodo figlio rappresentato dal simbolo "+" in alto a sinistra e fai doppio-clic su Nodo. Rinomina il nodo in Main. Alternativamente, per rinominare un nodo, è possibile fare clic destro su Nodo e scegliere Rinomina (oppure F2). Oppure, per aggiungere un nodo alla scena, è possibile premere Ctrl + A (Cmd + A su macOS).
Salva la scena come main.tscn premendo Ctrl + S (Cmd + S su macOS).
Cominceremo aggiungendo un pavimento che impedirà ai personaggi di cadere nel vuoto. Per creare collisori statici come pavimenti, mura, o soffitti, possiamo usare dei nodi StaticBody3D. Questi richiedono nodi CollisionShape3D come figli per definire un'area di collisione. Con il nodo Main selezionato, aggiungi un nodo StaticBody3D, e successivamente un nodo CollisionShape3D come figlio del precedente. Rinomina il nodo StaticBody3D in Ground.
Il tuo albero di scena dovrebbe assomigliare a questo
Un simbolo di avviso apparirà accanto al CollisionShape3D perché non abbiamo ancora definito la sua forma. Cliccando sull'icona di avviso, apparirà un popup che ci fornirà più informazioni.
Per creare una forma, seleziona il nodo CollisionShape3D, vai nell'Ispettore e clicca sul campo <vuoto> accanto alla proprietà Shape. Crea un nuovo BoxShape3D.
La forma a riquadro (box) è perfetta per pavimenti piani e mura. Il suo spessore lo rende affidabile anche per bloccare oggetti in rapido movimento.
Un fildiferro del riquadro apparirà nella viewport con tre punti arancioni. È possibile cliccare e trascinare questi punti per modificare interattivamente l'estensioni della forma. È possibile anche impostare dimensioni precise attraverso l'ispettore. Clicca sul BoxShape3D per espandere la risorsa. Imposta il suo Size a 60 sull'asse X, 2 sull'asse Y e 60 sull'asse Z.
Le forme di collisione sono invisibili. Abbiamo bisogno di aggiungere un pavimento visivo che combaci con il collisore. Seleziona il nodo Ground e aggiungi un nodo MeshInstance3D come suo figlio.
Nell'Ispettore, clicca sul campo accanto a Mesh e crea una risorsa BoxMesh per aggiungere un cubo visibile.
Ancora una volta, le dimensioni predefinite sono troppo piccole. Clicca sull'icona del cubo per espandere la risorsa e imposta Size a 60, 2 e 60.
Dovresti vedere un'ampia lastra grigia che copre la grigli, e gli assi blu e rossi nella viewport.
Sposteremo il terreno verso il basso in modo da poter vedere la griglia del pavimento. Per fare ciò, è possibile utilizzare la funzione di scatto alla griglia. Lo scatto alla griglia si può attivare in due modi nell'editor in 3D. Il primo è premendo il pulsante Usa scatto (o premendo il tasto Y). Il secondo è selezionando un nodo, trascinando una maniglia sul gizmo e poi tenendo premuto Ctrl (Cmd on macOS) mentre si mantiene il nodo selezionato.
Comincia impostando lo scatto con il metodo che preferisci. Quindi sposta il nodo Ground usando l'asse Y (la freccia verde sul gizmo).
Nota
Se non riesci a vedere il manipolatore di oggetti 3D come nell'immagine precedente, assicurati che la Modalità Trasformazione sia attiva nella barra degli strumenti sopra la vista.
Sposta il terreno verso il basso di 1 metro, in modo da avere una griglia visibile. Un'etichetta nell'angolo in basso a sinistra della viewport indica di quanto stai traslando il nodo.
Nota
Spostando il nodo Ground verso il basso, si spostano entrambi i suoi nodi figli con esso. Assicurati di spostare il nodo Ground, non il MeshInstance3D o il CollisionShape3D.
Infine, la proprietà transform.position.y di Ground dovrebbe essere -1
Per evitare di avere la nostra scena completamente grigia, aggiungiamo una luce direzionale. Seleziona il nodo Main e aggiungi un nodo figlio DirectionalLight3D.
Abbiamo bisogno di muovere e ruotare il nodo DirectionalLight3D. Spostalo verso l'alto cliccando e trascinando la freccia verde del manipolatore e clicca e trascina l'arco rosso per ruotarlo attorno all'asse X, fino a illuminare il pavimento.
Nell'Ispettore, attiva Shadow cliccando sulla casella di spunta.
A questo punto, il tuo progetto dovrebbe assomigliare a questo.
Questo è il nostro punto di partenza. Nella prossima parte, lavoreremo sulla scena del giocatore e il movimento di base.