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...
Organizzazione di un progetto
Introduzione
Poiché Godot non ha restrizioni sulla struttura di un progetto o sull'utilizzo del file system, organizzare i file durante l'apprendimento del motore può sembrare complicato. Questo tutorial suggerisce un flusso di lavoro che dovrebbe essere un buon punto di partenza. Tratteremo anche dell'utilizzo del controllo versioni con Godot.
Organizzazione
Godot, per sua natura, è basato sulle scene e utilizza il file system così com'è, senza metadati o un database di risorse.
A differenza di altri motori, molte risorse sono contenute nella scena stessa, quindi la quantità di file nel file system è considerevolmente inferiore.
Considerando ciò, l'approccio più comune è quello di raggruppare le risorse il più vicino possibile alle scene; quando un progetto cresce, tale approccio lo rende più mantenibile.
Ad esempio, solitamente è possibile inserire in un'unica cartella le risorse basilari, come immagini di sprite, mesh di modelli 3D, materiali, musica, ecc. È quindi possibile utilizzare una cartella separata per archiviare i livelli creati che li utilizzano.
/project.godot
/docs/.gdignore # See "Ignoring specific folders" below
/docs/learning.html
/models/town/house/house.dae
/models/town/house/window.png
/models/town/house/door.png
/characters/player/cubio.dae
/characters/player/cubio.png
/characters/enemies/goblin/goblin.dae
/characters/enemies/goblin/goblin.png
/characters/npcs/suzanne/suzanne.dae
/characters/npcs/suzanne/suzanne.png
/levels/riverdale/riverdale.scn
Guida di stile
Per garantire conformità tra i progetti, consigliamo di seguire queste linee guida:
Utilizza snake_case per i nomi di cartelle e file (ad eccezione degli script C#). Questo evita i problemi di distinzione tra maiuscole e minuscole che possono sorgere dopo l'esportazione di un progetto su Windows. Gli script C# sono un'eccezione a questa regola, poiché la convenzione prevede di denominarli con il nome della classe, che dovrebbe essere in PascalCase.
Utilizzare PascalCase per i nomi dei nodi, in quanto corrisponde allo stile dei nodi integrati.
In generale, è consigliabile conservare le risorse di terze parti in una cartella di livello superiore
addons/, anche se non sono estensioni dell'editor. Questo rende più facile individuare i file di terze parti. Ci sono alcune eccezioni a questa regola; ad esempio, se si utilizzano risorse di gioco di terze parti per un personaggio, è più sensato includerle nella stessa cartella delle scene e degli script del personaggio.
Importazione
Le versioni di Godot precedenti alla 3.0 effettuavano il processo di importazione da file esterni al progetto. Sebbene questo possa essere utile in grandi progetti, ha causato problemi organizzativi alla maggior parte degli sviluppatori.
Pertanto, le risorse vengono ora importate in modo trasparente dall'interno della cartella del progetto. Consultare la documentazione Processo d'importazione per maggiori dettagli su come funziona l'importazione in Godot.
Ignorare cartelle specifiche
Per impedire a Godot di importare i file contenuti in una cartella specifica, create un file vuoto chiamato .gdignore nella cartella (il . iniziale è necessario). Ciò può essere utile per velocizzare l'importazione iniziale del progetto.
Nota
Per creare un file il cui nome inizia con un punto su Windows, inserire un punto sia all'inizio sia alla fine del nome del file (.gdignore.). Windows rimuoverà automaticamente il punto finale quando il nome viene confermato.
Alternativamente, è possibile utilizzare un editor di testo come Notepad++ o inserire il seguente comando in un prompt dei comandi: type nul > .gdignore
Una volta ignorata la cartella, le risorse contenute nella cartella non potranno più essere caricate tramite i metodi load() e preload(). Ignorare una cartella la nasconderà automaticamente anche dal pannello Filesystem, il che può essere utile per ridurre il disordine.
Si noti che il contenuto del file .gdignore viene ignorato, motivo per cui il file dovrebbe essere vuoto. Non supporta schemi come quelli dei file .gitignore.
Distinzione tra maiuscole e minuscole
Windows e le versioni recenti di macOS utilizzano file system che, normalmente, non distinguono tra maiuscole e minuscole, mentre le distribuzioni Linux utilizzano un file system che lo fa. Questo può causare problemi dopo l'esportazione di un progetto, poiché il file system virtuale PCK di Godot distingue tra maiuscole e minuscole. Per evitare questo problema, si consiglia di utilizzare la denominazione snake_case per tutti i file del progetto (e in generale per i caratteri minuscoli).
Nota
È possibile infrangere questa regola quando le guide di stile indicano diversamente (come la guida di stile C#). Comunque, è importante essere coerenti per evitare errori.
Su Windows 10, per evitare ulteriormente errori relativi alla tale distinzione, è anche possibile rendere la cartella del progetto sensibile alle maiuscole. Dopo aver abilitato la funzionalità Sottosistema Windows per Linux, eseguire il seguente comando in una finestra di PowerShell:
# To enable case-sensitivity:
fsutil file setcasesensitiveinfo <path to project folder> enable
# To disable case-sensitivity:
fsutil file setcasesensitiveinfo <path to project folder> disable
Se il sottosistema Windows per Linux non è stato abilitato, è possibile immettere la seguente riga in una finestra di PowerShell eseguita come amministratore, poi riavviare quando richiesto:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux