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.

Elenco delle funzionalità

Questa pagina punta a elencare tutte le funzionalità attualmente supportate da Godot.

Nota

Questa pagina elenca le funzionalità supportate dall'attuale versione stabile di Godot. Alcune di queste funzionalità potrebbero non essere disponibili nella serie di versioni 3.x.

Piattaforme

Vedi anche

Vedasi Requisiti di sistema per i requisiti hardware e software.

Nota

Per informazioni sul supporto di console, consulta il sito web di Godot.

Può eseguire sia l'editor sia i progetti esportati:

  • Windows (x86 e ARM, 64-bit e 32-bit).

  • macOS (x86 e ARM, solo 64-bit).

  • Linux (x86 e ARM, 64-bit e 32-bit).

    • I file binari sono collegati in modo statico e possono essere eseguiti su qualsiasi distribuzione se compilati in una distribuzione base sufficientemente vecchia.

    • I binari ufficiali sono compilati utilizzando il Godot Engine buildroot, consentendo di ottenere binari che funzionano su tutte le distribuzioni Linux più comuni.

  • Android (il supporto dell'editor è sperimentale).

  • Browser web. Sperimentale nella versione 4.0, si consiglia invece di usare Godot 3.x quando si vuole usare HTML5.

Nota

Linux supporta rv64 (RISC-V), ppc64 e ppc32 (PowerPC) e loongarch64. Tuttavia, è necessario compilare l’editor per quella piattaforma (oltre a esportare i modelli) autonomamente, poiché al momento non sono disponibili download ufficiali. Le istruzioni per compilare in RISC-V sono disponibili alla pagina Compilare per Linux, *BSD.

Esegue progetti esportati:

  • iOS.

Godot punta a essere il più indipendente possibile dalla piattaforma e può essere portato su nuove piattaforme con relativa facilità.

Nota

I progetti scritti in C# usando Godot 4 non possono essere attualmente esportati per piattaforme web. Per usare C# su tali piattaforme, si consiglia l'uso di Godot 3. Il supporto per piattaforme Android e iOS è disponibile a partire da Godot 4.2, ma tale supporto è sperimentale e si applicano limitazioni.

Editor

Funzionalità:

  • Editor dell'albero delle scene.

  • Editor di script integrato.

  • Supporto per external script editors come Visual Studio Code o Vim.

  • GDScript debugger.

    • Il supporto per il debugging nei thread è disponibile dalla versione 4.2.

  • Profilatore grafico dell'utilizzo di CPU e GPU con indicazione temporizzata per ogni step della pipeline di rendering.

  • Strumenti per il monitoraggio delle prestazioni, incluso il monitoraggio personalizzato di esse.

  • Ricaricamento dello script in tempo reale.

  • Modifica della scena in tempo reale.

    • Le modifiche si rifletteranno nell'editor e verranno mantenute dopo la chiusura del progetto in esecuzione.

  • Inspector remoto.

    • Le modifiche non si rifletteranno nell'editor e non verranno mantenute dopo la chiusura del progetto in esecuzione.

  • Replica della telecamera in tempo reale.

    • Spostare la telecamera dell'editor e vedi il risultato nel progetto in esecuzione.

  • Documentazione di riferimento delle classi offline integrata.

  • Usa l'editor in svariate lingue fornite dalla community.

Plugins:

Renderer

Godot 4 include tre renderer:

  • Forward+. Il renderer più avanzato, adatto solo a piattaforme desktop. Utilizzato come predefinito sulle piattaforme desktop. Questo renderer utilizza Vulkan, Direct3D 12 o Metal come driver di rendering e si basa sul backend RenderingDevice.

  • Mobile. Meno funzionalità, ma renderizza scene semplici più velocemente. Adatto a piattaforme mobili e desktop. Utilizzato come predefinito sulle piattaforme mobili. Questo renderer utilizza Vulkan, Direct3D 12 o Metal come driver di rendering e si basa sul backend RenderingDevice.

  • Compatibilità, talvolta chiamato Compatibilità GL. Il renderer meno avanzato, adatto a piattaforme desktop e mobili di fascia bassa. Utilizzato come predefinito sulla piattaforma web. Questo renderer utilizza OpenGL come driver di rendering.

Vedasi Panoramica dei renderer per un confronto dettagliato dei vari metodi di rendering.

Grafica 2D

  • Rendering di Sprite, poligoni e linee .

    • Strumenti di alto livello per disegnare linee e poligoni come Polygon2D e Line2D, con supporto per le texture.

  • AnimatedSprite2D come supporto per la creazione di sprite animati.

  • Livelli di parallasse.

    • Supporto pseudo-3D, compresa l'anteprima nell'editor.

  • Illuminazione 2D con mappe normal e speculari.

    • Luci puntiformi (omnidirezionali/spot) e direzionali 2D.

    • Ombre nette o sfumate (regolabili per ogni luce).

    • Gli shader personalizzati posso accedere in tempo reale a una rappresentazione SDF della scena 2D basata sui nodi LightOccluder2D, che è possibile usare per migliorare gli effetti d'illuminazione 2D, tra cui l'illuminazione globale 2D.

  • Rendering dei font utilizzando bitmap, rasterizzazione tramite FreeType o Multichannel Signed Distance Field (MSDF).

    • I font bitmap si possono esportare attraverso strumenti come BMFont, o importati da immagini (solo per font con una larghezza fissa).

    • DynamicFont supporta sia i font monocromatici sia i font colorati (ad esempio per le emoji). I formati supportati sono TTF, OTF, WOFF1 e WOFF2.

    • I font dinamici supportano contorni facoltativi per il font, con spessore e colore regolabili.

    • I font dinamici supportano i font variabili e le funzionalità OpenType, incluse legature.

    • I font dinamici supportano la simulazione del grassetto e l'italico quando il file del font non possiede questi stili.

    • I font dinamici supportano il sovracampionamento dei caratteri per mantenerli nitidi a risoluzioni più elevate.

    • I font dinamici supportano il posizionamento subpixel per rendere i caratteri più nitidi a piccole dimensioni.

    • I font dinamici supportano le ottimizzazioni subpixel LCD per rendere i caratteri ancora più nitidi a piccole dimensioni.

    • I font signed distance field (SDF) possono essere ridimensionati a qualsiasi risoluzione senza richiedere una nuova rasterizzazione. L'uso multi-canale consente ai font SDF di ridursi meglio a dimensioni inferiori rispetto ai font SDF monocromatici.

  • Particelle calcolate dalla GPU con supporto per shader personalizzati di particelle.

  • Particelle basate sulla CPU.

  • Rendering in HDR 2D opzionale per migliori effetti di bagliore.

Strumenti 2D

  • TileMaps per level design basato su Tile 2D.

  • Telecamera 2D con movimento fluido integrato e margini di scorrimento.

  • Nodo Path2D per rappresentare un percorso nello spazio 2D.

    • Può essere disegnato nell'editor o generato proceduralmente.

    • Nodo PathFollow2D per fare in modo che i nodi seguano un Path2D.

  • Classe ausiliare per la geometria 2D..

Fisica 2D

Corpi fisici:

  • Corpi statici.

  • Corpi animabili (per oggetti in movimento solo tramite script o animazioni, come porte o piattaforme).

  • Corpi rigidi.

  • Corpi di personaggi.

  • Giunti.

  • Aree per rilevare i corpi che entrano o escono.

Rilevamento delle collisioni:

  • Forme integrate: linea, scatola, cerchio, capsula, confini di mondo (piano infinito).

  • Poligoni di collisione (possono essere disegnati manualmente o generati da uno sprite nell'editor).

Grafica 3D

  • Rendering HDR con sRGB.

  • Telecamere prospettiche, ortografiche e troncoconiche.

  • Quando si utilizza il renderer Forward+, viene utilizzato un pre-passaggio di profondità per migliorare le prestazioni in scene complesse riducendo il costo dell'overdraw.

  • Variable rate shading sulle GPU supportate in Forward+ e Mobile.

Rendering basato sulla fisica (funzionalità dei materiali integrati):

  • Segue il modello Disney PBR.

  • Supporta le modalità di ombreggiatura diffusa Burley, Lambert, Lambert Wrap (mezzo-Lambert) e Toon.

  • Supporta le modalità di ombreggiatura speculare Schlick-GGX, Toon e Disabilitato.

  • Utilizza il flusso di lavoro roughness-metallic con supporto per le texture ORM.

  • Utilizza l'occlusione speculare dell'orizzonte (modello Filament) per migliorare l'aspetto del materiale.

  • Normal mapping.

  • Mappatura parallasse/rilievo con livello di dettaglio automatico basato sulla distanza.

  • Mappatura dettagliata per le mappe di albedo e di normali.

  • Diffusione e trasmittenza sotto-superficiale.

  • Rifrazione nello spazio dello schermo con supporto per la rugosità di materiale (con conseguente rifrazione sfocata).

  • Dissolvenza in prossimità (particelle soffuse) e a distanza.

  • La dissolvenza a distanza può utilizzare la fusione alfa o il dithering per evitare di passare attraverso la pipeline trasparente.

  • Il dithering può essere determinato per pixel o per oggetto.

Illuminazione in tempo reale:

  • Luci direzionali (sole/luna). Fino a 4 per scena.

  • Luci omnidirezionali.

  • Faretti con angolo del cono e attenuazione regolabili.

  • L'intensità della specularità, luce indiretta e nebbia volumetrica può essere regolata per ogni luce.

  • "Dimensioni" di luce regolabili per luci fittizie in un area (renderà anche le ombre più sfocate).

  • Sistema opzionale di dissolvenza a distanza per attenuare le luci distanti e le loro ombre, migliorando le prestazioni.

  • Quando si utilizza il renderer Forward+ (predefinito su desktop), le luci sono renderizzate con ottimizzazioni di tipo "clustered forward" per ridurre il loro costo computazionale individuale. Ciò rimuove anche ogni limite sul numero di luci che si possono usare su una mesh.

  • Quando si utilizza il renderer Mobile, è possibile visualizzare fino a 8 luci omni e 8 luci spot per ogni risorsa di tipo mesh. L'illuminazione precalcolata si può sfruttare per superare tale limite, se necessario.

Mappatura delle ombre:

  • DirectionalLight: Ortogonale (più veloce), PSSM a 2 e 4 suddivisioni. Supporta la sfumatura tra le suddivisioni.

  • OmniLight: Doppia paraboloide (veloce) o cubemap (più lento ma più preciso). Supporta le texture colorate e proiettabili sotto forma di panorami.

  • SpotLight: Texture singola. Supporta texture di proiettore colorate.

  • Regolazione dell'offset e appiattimento delle ombre per ridurre la quantità di imperfezioni visibili nelle ombre e l'effetto “Peter Pan”.

  • Sfocatura di ombre simile a PCSS basato sulle dimensioni della luce e sulla distanza dalla superficie su cui viene proiettata l'ombra.

  • Sfocatura di ombra, regolabile per ciascuna luce.

Illuminazione globale con illuminazione indiretta:

  • Lightmap precalcolate (veloci, ma non si possono aggiornare durante l'esecuzione).

    • Supporta il baking della sola luce indiretta o di entrambe le luci diretta e indiretta. La modalità bake può essere regolata indipendentemente per ogni luce, per permettere una organizzazione ibrida della stessa.

    • Supporta l'illuminazione dinamica di oggetti attraverso un sistema automatico e manuale di sonde.

    • Supporta, facoltativamente, l'illuminazione direzionale e i riflessi approssimativi basati su armoniche sferiche.

    • Lightmaps are baked on the GPU using compute shaders (much faster compared to CPU lightmapping). Baking can only be performed from the editor, not in exported projects.

    • Supporta la riduzione del rumore basato su GPU con JNLM, o riduzione del rumore basata su CPU/GPU con OIDN.

  • Sonde GI basate su voxel. Supporta luci dinamiche e occlusori dinamici, anche supportando riflessi. Richiede una fase rapida di precalcolo che si può eseguire nell'editor o in fase d'esecuzione (anche in un progetto esportato).

  • Signed-distance field GI progettato per grandi "open world". Supporta luci dinamiche, ma non occlusori dinamici. Supporta riflessi. Non è necessario eseguirne il precalcolo.

  • Screen-space indirect lighting (SSIL) a intera o dimezzata risoluzione. Renderizzata interamente in tempo reale e supporta qualsiasi sorgente di luce emissiva (incluse decalcomanie).

  • VoxelGI e SDFGI utilizzano un passaggio differito per consentire di renderizzare il GI a metà risoluzione per migliorare le prestazioni (pur mantenendo funzionale il supporto per MSAA).

Riflessi:

  • Voxel-based reflections (when using GI probes) and SDF-based reflections (when using signed distance field GI). Voxel-based reflections are visible on transparent surfaces, while rough SDF-based reflections are visible on transparent surfaces.

  • Riflessi veloci pre-calcolati o riflessi lenti in tempo reale tramite ReflectionProbe. Opzionalmente, è possibile abilitare la correzione di parallasse.

  • Riflessi nello spazio dello schermo con supporto per la rugosità dei materiali.

  • Le tecniche di riflessione possono essere mischiate per una migliore accuratezza o scalabilità.

  • Quando si utilizza il renderer Forward+ (predefinito su desktop), le sonde per i riflessi sono renderizzate con ottimizzazioni di tipo "clustered forward" per ridurre il loro costo computazionale individuale. Ciò rimuove anche ogni limite sul numero di sonde per i riflessi che si possono usare su una mesh.

  • Quando si utilizza il renderer Mobile, è possibile visualizzare fino a 8 sonde di riflessione per risorsa mesh. Quando si utilizza il renderer Compatibilità, è possibile visualizzare fino a 2 sonde di riflessione per risorsa mesh.

Decalcomanie:

  • Supporta l'albedo, l'emissivo, ORM e la mappatura normale.

  • I canali di texture sono sovrapposti senza problemi sopra il materiale sottostante, con supporto per decalcomanie con solo normali/ORM.

  • Supporto per la dissolvenza delle normali per dissolvere la decalcomania a seconda del suo angolo di incidenza.

  • Non dipende sulla generazione di mesh durante l'esecuzione. Ciò significa che le decalcomanie si possono utilizzare su mesh complesse senza alcuna penalità sulle prestazioni, anche se le decalcomanie si spostano a ogni frame.

  • Supporto per il filtraggio di tipo più ravvicinato, bilineare, trilineare o anisotropico delle texture (configurazione globale).

  • Optional distance fade system to fade distant decals, improving performance.

  • Quando si utilizza il renderer Forward+ (predefinito su desktop), le decalcomanie sono renderizzate con ottimizzazioni clusterizzate per ridurre il impatto individuale. Il rendering clusterizzato solleva anche eventuali limiti sul numero di decalcomanie che si possono utilizzare su una mesh.

  • Quando si utilizza il renderer Mobile, è possibile visualizzare fino a 8 decalcomanie per ogni risorsa di mesh.

Cielo:

  • Cielo panoramico (utilizzando un HDRI).

  • Cielo procedurale e cielo basato sulla fisica che reagiscono alle luci direzionali (nodo DirectionalLight) presenti nella scena.

  • Supporto per shader di cielo personalizzati, che possono essere animati.

  • La mappa di radianza utilizzata per la luce ambientale e speculare si può aggiornare in tempo reale a seconda delle impostazioni di qualità scelte.

Nebbia:

  • Nebbia di profondità esponenziale.

  • Nebbia di altezza esponenziale.

  • Supporto per la colorazione automatica della nebbia in base al colore del cielo (prospettiva aerea).

  • Supporto per la diffusione della luce solare nella nebbia.

  • Supporto per il controllo della quantità di nebbia che dovrebbe influenzare il cielo, con controlli separati per la nebbia tradizionale e volumetrica.

  • Supporto per creare materiali specifici che ignorano la nebbia.

Nebbia volumetrica:

  • Nebbia volumetrica globale che reagisce a luci e ombre.

  • La nebbia volumetrica può tenere conto della luce indiretta quando si utilizza VoxelGI o SDFGI.

  • Nodi del volume di nebbia che si possono posare per aggiungere nebbia ad aree specifiche (o rimuoverla da aree specifiche). Le forme supportate includono parallelepipedo, ellisse, cono, cilindro e mappe di densità basate su texture 3D.

  • Ogni volume di nebbia può avere il proprio shader personalizzato.

  • Si può utilizzare insieme alla nebbia tradizionale.

Particelle:

  • Particelle basate sulla GPU, con supporto per sotto-emettitori (2D + 3D), scie (2D + 3D), attrattori (solo 3D) e collisioni (2D + 3D).

    • Attrattore di particelle 3D con forme supportate: parallepipedo, sfera e campi di vettori 3D.

    • Forme di collisione di particelle 3D supportate: parallelepipedo, sfera, SDF precalcolato e heightmap in tempo reale (adatto per effetti meteorologici in mondi aperti).

    • La collisione delle particelle 2D viene gestita utilizzando un SDF generato in tempo reale in base ai nodi LightOccluder2D nella scena.

    • Le scie possono usare le mesh integrate a nastro e a tubo, oppure mesh personalizzate con scheletri.

    • Supporto per shader di particelle personalizzati con emissione manuale.

  • Particelle basate sulla CPU.

Post-elaborazione:

  • Mappatura dei toni (Lineare, Reinhard, Filmico, ACES, AgX).

  • Regolazione automatica dell'esposizione in base alla luminosità della viewport (e sostituzione manuale dell'esposizione).

  • Profondità di campo vicina e lontana con simulazione bokeh regolabile (riquadro, esagono, cerchio).

  • Occlusione ambientale nello spazio dello schermo (SSAO) a metà o piena risoluzione.

  • Glow/bloom with optional bicubic upscaling and several blend modes available: Screen, Soft Light, Add, Replace, Mix.

  • Glow can have a colored dirt map texture, acting as a lens dirt effect.

  • Glow can be used as a screen-space blur effect.

  • Correzione del colore mediante una rampa unidimensionale o una texture LUT 3D.

  • Limitatore di rugosità per ridurre l'impatto dell'aliasing speculare.

  • Regolazione della luminosità, contrasto e saturazione.

Filtraggio delle texture:

  • Filtraggio per vicinanza, bilineare, trilineare o anisotropico.

  • Filtering options are defined on a per-use basis, not a per-texture basis.

Compressione delle texture:

  • Basis Universal (lenta, ma produce file più piccoli).

  • BPTC per una compressione di alta qualità (non supportata su macOS).

  • ETC2 (non supportato su macOS).

  • S3TC (supportato solo su piattaforme mobili/Web).

Antialiasing:

  • Antialiasing temporale (TAA).

  • Antialiasing AMD FidelityFX Super Resolution 2.2 (FSR2), che si può utilizzare alla risoluzione nativa come una forma di antialiasing temporale di alta qualità.

  • Antialiasing multi-campione (MSAA), sia per Antialiasing 2D sia per Antialiasing 3D.

  • Antialiasing approssimativo veloce (FXAA).

  • Antialiasing supercampione (SSAA), tramite ridimensionamento 3D bilineare e una scala di risoluzione 3D superiore a 1,0.

  • Alpha antialiasing, MSAA alpha to coverage and alpha hashing on a per-material basis.

Resolution scaling:

  • Supporto per il rendering in 3D a una risoluzione inferiore pur mantenendo il rendering in 2D alla scala originale. Ciò si può utilizzare per migliorare le prestazioni sui sistemi di fascia bassa o le visuali sui sistemi di fascia alta.

  • Il ridimensionamento della risoluzione utilizza il filtraggio bilineare, AMD FidelityFX Super Resolution 1.0 (FSR1) oppure AMD FidelityFX Super Resolution 2.2 (FSR2).

  • Texture mipmap LOD bias is adjusted automatically to improve quality at lower resolution scales. It can also be modified with a manual offset.

La maggior parte di questi effetti si possono regolare per migliorare le prestazioni o per migliorare ulteriormente la qualità. Ciò può essere utile quando si utilizza Godot per il rendering offline.

Strumenti 3D

  • Mesh integrate: cubo, cilindro/cono, (emi)sfera, prisma, piano, quad, toro, nastro, tubo.

  • GridMap per la progettazione di livelli basati su tasselli 3D.

  • Geometria solida costruttiva (pensata per la prototipazione).

  • Strumenti per generazione geometrica procedurale.

  • Nodo Path3D per rappresentare un percorso nello spazio 3D.

    • Può essere disegnato nell'editor o generato proceduralmente.

    • Nodo PathFollow3D per fare in modo che i nodi seguano un Path3D.

  • Classe ausiliare per la geometria 3D..

  • Supporto per l'esportazione della scena attuale come file in formato glTF 2.0, sia dall'editor sia durante l'esecuzione di un progetto esportato.

Fisica 3D

Corpi fisici:

  • Corpi statici.

  • Corpi animabili (per oggetti in movimento solo tramite script o animazioni, come porte o piattaforme).

  • Corpi rigidi.

  • Corpi di personaggi.

  • Corpi di veicoli (destinati alla fisica arcade, non alla simulazione).

  • Giunti.

  • Corpi deformabili.

  • Ragdolls.

  • Aree per rilevare i corpi che entrano o escono.

Rilevamento delle collisioni:

  • Forme integrate: cuboide, sfera, capsula, cilindro, confine di mondo (piano infinito).

  • Genera forme di collisione a triangolo per qualsiasi mesh dall'editor.

  • Genera una o più forme di collisione convesse per qualsiasi mesh dall'editor.

Shader

Scripting

Generale:

  • Modello di progettazione orientato agli oggetti con script che estendono i nodi.

  • Segnali e gruppi per la comunicazione tra gli script.

  • Supporto per scripting cross-language.

  • Numerosi tipi di dati di algebra lineare 2D, 3D e 4D, come vettori e trasformazioni.

GDScript:

C#:

  • Confezionato in un binario separato per mantenere basse le dimensioni e le dipendenze dei file.

  • Supporta .NET 8 e versioni superiori.

    • Pieno supporto per la sintassi e le funzionalità di C# 12.0.

  • Supporta Windows, Linux e macOS. A partire da Godot 4.2, è disponibile anche il supporto sperimentale per Android e iOS.

    • Sulla piattaforma iOS sono supportate solo alcune architetture: arm64.

    • La piattaforma web non è attualmente supportata. Per utilizzare C# su questa piattaforma, si consiglia di utilizzare Godot 3.

  • Si consiglia di utilizzare un editor esterno per beneficiare della funzionalità IDE.

GDExtension (C, C++, Rust, D, ...):

  • Quando ne hai bisogno, collegati alle librerie native per prestazioni più elevate e l'integrazioni di terze parti.

    • Per lo scripting della logica di gioco, si consigliano GDScript o C # se le loro prestazioni sono adeguate.

  • Binding ufficiali di GDExtension per C e C++.

    • Usa qualsiasi sistema di compilazione e funzionalità della lingua che desideri.

  • Binding attivamente sviluppati di GDExtension per D, Swift e Rust forniti dalla comunità. (Alcuni di questi binding potrebbero essere sperimentali e non ancora pronti per la produzione).

Audio

Funzionalità:

  • Uscita Mono, stereo, 5.1 e 7.1.

  • Riproduzione non posizionale e posizionale in 2D e 3D.

    • Effetto Doppler opzionale in 2D e 3D.

  • Supporto per bus audio reindirizzabili ed effetti con dozzine di effetti inclusi.

  • Supporto per la polifonia (riproduzione di più suoni da un singolo nodo AudioStreamPlayer).

  • Supporto per volume e tono casuale.

  • Supporto per la regolazione del tono in tempo reale.

  • Supporto per la selezione sequenziale/casuale di campioni, inclusa la prevenzione delle ripetizioni quando si utilizza una selezione casuale di campioni.

  • Nodi Listener2D e Listener3D per ascoltare da una posizione diversa dalla telecamera.

  • Supporto per la generazione di audio procedurale.

  • Ingresso audio per la registrazione da microfoni.

  • Sintesi vocale tramite i motori di TTS forniti dalla piattaforma.

  • Ingresso MIDI.

    • Ancora nessun supporto per l'uscita MIDI.

API utilizzate:

  • Windows: WASAPI.

  • macOS: CoreAudio.

  • Linux: PulseAudio o ALSA.

Importa

Formati:

  • Immagini: Consulta Importazione di immagini.

  • Audio:

    • WAV con compressione IMA-ADPCM opzionale.

    • Ogg Vorbis.

    • MP3.

  • Scene 3D: Consulta Importare Scene 3D.

    • glTF 2.0 (consigliato).

    • .blend (chiamando in modo trasparente la funzionalità di esportazione glTF di Blender).

    • FBX (chiamando FBX2glTF in modo trasparente).

    • Collada (.dae).

    • Wavefront OBJ (solamente scene statiche, si possono caricare direttamente come mesh o importate sotto forma di scena 3D).

  • Supporto per il caricamento di scene in formato glTF 2.0 in fase di esecuzione, anche da un progetto esportato.

  • Le mesh 3D utilizzano Mikktspace per generare le tangenti all'importazione, il che garantisce la coerenza con altre applicazioni 3D come Blender.

Input

  • Sistema di mappatura degli input che utilizza eventi codificati o azioni rimappabili di input.

    • I valori degli assi possono essere mappati su due diverse azioni con una zona morta configurabile.

    • Usa lo stesso codice per supportare sia tastiere sia gamepad.

  • Input da tastiera.

    • I tasti possono essere mappati in modalità "fisica" per essere indipendenti dal layout della tastiera.

  • Input del mouse.

    • Il cursore del mouse può essere visibile, nascosto, catturato o confinato all'interno della finestra.

    • Quando acquisito, l'input grezzo verrà utilizzato su Windows e Linux per eludere le impostazioni di accelerazione del mouse del sistema operativo.

  • Input Gamepad (fino a 8 controller simultanei).

  • Input penna/tablet con supporto della pressione.

Networking

  • Rete TCP di basso livello attraverso StreamPeer e TCPServer.

  • Rete UDP di basso livello attraverso PacketPeer e UDPServer.

  • Richieste HTTP di basso livello attraverso HTTPClient.

  • Richieste HTTP di alto livello attraverso HTTPRequest.

    • Supporta l'HTTPS in modo immediato, utilizzando i certificati in bundle.

  • API multiplayer di alto livello usando UDP e ENet.

    • Replica automatica tramite chiamate di procedura remota (RPC).

    • Supporta trasferimenti inaffidabili, affidabili e ordinati.

  • Client e server WebSocket, disponibili su tutte le piattaforme.

  • Client e server WebRTC, disponibili su tutte le piattaforme.

  • Supporto per UPnP per aggirare la necessità di inoltrare le porte quando si ospita un server dietro un NAT.

Internazionalizzazione

  • Pieno supporto per Unicode comprese le emoji.

  • Supporto per caricare i font di sistema su Windows, macOS e Linux.

    • Per impostazione predefinita, i font di sistema sono utilizzati come alternative per visualizzare caratteri non supportati. Questo permette di visualizzare correttamente testo multilingua senza aver bisogno di includere file di font molto grandi nel progetto.

  • Salva le stringhe di localizzazione usando CSV o gettext.

    • Supporto per la generazione di file gettext POT e PO dall'editor.

  • Usa stringhe localizzate nel tuo progetto automaticamente negli elementi della GUI o usando la funzione tr().

  • Supporto per la pluralizzazione e i contesti di traduzione.

  • Supporto per composizione tipografica bidirezionale, formazione del testo e forme localizzate OpenType.

  • Rispecchiamento automatico dell'interfaccia utente per le localizzazioni da destra a sinistra.

  • Supporto per la pseudolocalizzazione per testare la compatibilità con i18n di un progetto.

Finestre e integrazione del sistema operativo

  • Generare più finestre indipendenti in un singolo processo.

  • Sposta, ridimensiona, minimizza e massimizza le finestre generate dal progetto.

  • Cambia il titolo e l'icona della finestra.

  • Creare finestre trasparenti da usare come overlay, con supporto dell'oltrepassaggio del mouse basato su regioni poligonali.

  • Richiedere attenzione (farà lampeggiare la barra del titolo sulla maggior parte delle piattaforme).

  • Modalità a schermo intero.

    • Utilizza normalmente la modalità a schermo intero senza bordi su Windows per una rapida pressione di alt-tab, ma può facoltativamente utilizzare la modalità a schermo intero esclusiva per ridurre la latenza di input.

  • Finestre senza bordi (a schermo intero o non).

  • Mantenere una finestra sempre in primo piano.

  • Fare ignorare il focus a una finestra (utile per gli overlay).

  • Dichiarare una finestra come popup (nascosta dal selettore di attività) o esclusiva (impedisce l'interazione con altre finestre provenienti dallo stesso processo).

  • Supporto della finestra di dialogo nativa dei file su Windows, macOS, Linux e Android.

  • Supporto delle icone nella barra delle applicazioni su Windows e macOS.

  • Integrazione del menu globale su macOS.

  • Decorazioni dal lato client su macOS.

  • Esecuzione di comandi in modo bloccante o non bloccante (inclusa l'esecuzione di più istanze dello stesso progetto).

  • Apri percorsi file e URL utilizzando gestori di protocollo predefiniti o personalizzati (se registrati nel sistema).

  • Analizza gli argomenti personalizzati della riga di comando.

  • Supporto per i lettori dello schermo su Windows, macOS e Linux.

  • Qualsiasi eseguibile di Godot (editor o progetto esportato) si può utilizzare come server headless avviandolo con l'argomento --headless dalla riga di comando. Ciò permette di eseguire il motore senza GPU o server di visualizzazione.

Vedi anche

Per ulteriori dettagli sull'utilizzo di queste funzionalità, consultare Creating applications.

Mobile

  • In-app purchases on Android and iOS.

  • Supporto per annunci pubblicitari che utilizzano moduli di terze parti.

Supporto XR (AR e VR)

  • Supporto pronto all'uso per OpenXR.

    • Incluso il supporto per i visori più popolari come il Valve Index, i visori WMR, e Quest con Link.

  • Supporto per visori basati su Android che utilizzano OpenXR attraverso un'estensione.

    • Incluse il supporto per i visori a sé stanti più popolari come il Meta Quest 1/2/3 e Pro, Pico 4, Magic Leap 2 e Lynx R1.

  • Supporto pronto all'uso i visori Apple visionOS.

    • Al momento è supportata solo l'esportazione di un'applicazione per l'utilizzo su una superficie piana nel visore. Le esperienze immersive non sono supportate.

  • Altri dispositivi supportati attraverso una struttura di estensioni XR.

  • Vari toolkit avanzati sono disponibili che implementano le funzionalità comuni richieste dalle applicazioni XR.

Sistema GUI

La GUI di Godot è costruita utilizzando gli stessi nodi Control usati per creare giochi in Godot. L'interfaccia utente dell'editor può essere facilmente estesa in molti modi utilizzando i componenti aggiuntivi.

Nodi:

  • Pulsanti.

  • Caselle di controllo, pulsanti di conferma, pulsanti a scelta multipla.

  • Inserimento di testo tramite LineEdit (riga singola) e TextEdit (righe multiple). TextEdit supporta anche alcune funzionalità di modifica del codice, come la visualizzazione dei numeri di riga e l'evidenziazione della sintassi.

  • Menu a tendina utilizzando PopupMenu e OptionButton.

  • Barre di scorrimento.

  • Etichette.

  • RichTextLabel per testo formattato usando il BBCode, con supporto per effetti animati personalizzati.

  • Trees (Alberi) (possono essere utilizzati anche per rappresentare tabelle).

  • Selettore di colori con modalità RGB e HSV.

  • I nodi Control possono essere ruotati e ridimensionati.

Dimensionamento:

  • Ancore per mantenere gli elementi della GUI in un specifico angolo, bordo o centrato.

  • Contenitori per posizionare automaticamente gli elementi della GUI seguendo determinate regole.

  • Scala a risoluzioni multiple attraverso le modalità di stiramento canvas_items o viewport.

  • Supporta qualsiasi rapporto d'aspetto attraverso ancore e l'aspetto di stiramento expand.

** Temi: **

  • Editor di temi integrato.

    • Genera un tema in base alle attuali impostazioni del tema dell'editor.

  • Temi procedurali basati su vettoriali utilizzando StyleBoxFlat.

    • Supporta angoli arrotondati/smussati, ombreggiature, spessore per ogni bordo e antialiasing.

  • Temi basati sulle texture utilizzando StyleBoxTexture.

Le ridotte dimensioni di Godot possono renderlo un'alternativa adatta a framework come Electron o Qt.

Animazione

  • Cinematica diretta e cinematica inversa.

  • Supporto per l'animazione di qualsiasi proprietà con interpolazione personalizzabile.

  • Supporto per la chiamata di metodi nelle tracce di animazione.

  • Supporto per la riproduzione di suoni nelle tracce di animazione.

  • Supporto per le curve di Bézier nell'animazione.

Formati del file

  • Scene e risorse possono essere salvate in formati testuali o binari.

    • I formati basati su testo sono leggibile in chiaro e più facili per il controllo versione.

    • I formati binari sono più veloci da salvare/caricare per scene/risorse di grandi dimensioni.

  • Leggere e scrivere file di testo o file binari utilizzando FileAccess.

    • A scelta può essere compresso o criptato.

  • Leggere e scrivere file JSON.

  • Leggere e scrivere file di configurazione in stile INI usando ConfigFile.

    • Può (de)serializzare qualsiasi tipo di dati di Godot, compresi Vector2/3, Color, ...

  • Leggere i file XML utilizzando XMLParser.

  • Carica e salva immagini, audio/video, font e archivi ZIP in un progetto esportato, senza dover passare per il sistema di importazione di Godot.

  • Impacchetta i dati di gioco in un file PCK (formato personalizzato ottimizzato per la ricerca veloce), in un archivio ZIP, o direttamente nell'eseguibile per la distribuzione di un singolo file.

  • Esportare ulteriori file PCK che possono essere letti dal motore per supportare mod e DLC.

Varie

  • Riproduzione video con supporto integrato per Ogg Theora.

  • Modalità Movie Maker per registrare video da un progetto in esecuzione con audio sincronizzato e perfetta cadenza dei fotogrammi.

  • Accesso di basso livello ai server che permette di bypassare l'overhead dell'albero della scena quando necessario.

  • Interfaccia della riga di comando per l'automazione.

    • Esporta e distribuisci progetti utilizzando piattaforme di integrazione continua.

    • Gli script di completamento shell <https://github.com/godotengine/godot/tree/master/misc/dist/shell> __ sono disponibili per Bash, zsh e fish.

    • Stampa testo colorato sull'output standard su tutte le piattaforme tramite print_rich.

  • L'editor può rilevare le funzionalità utilizzate in un progetto e creare un profilo di compilazione, che può essere utilizzato per creare binari più piccoli per i modelli di esportazione, con le funzionalità non necessarie disabilitate.

  • Supporto per moduli C++ staticamente collegati nel binario del motore.

    • La maggior parte dei moduli integrati si possono disabilitare in fase di compilazione per ridurre la dimensione dell'eseguibile nelle compilazioni personalizzate. Consultare Ottimizzare una compilazione per dimensioni per ulteriori dettagli.

  • Motore ed editor scritti in C++17.

    • Può essere compilato utilizzando GCC, Clang e MSVC. È supportato anche MinGW.

    • Amichevole nei confronti dei confezionatori. Nella maggior parte dei casi, è possibile utilizzare le librerie di sistema al posto di quelle fornite da Godot. Il sistema di compilazione non scarica nulla. Le compilazioni possono essere completamente riproducibili.

  • Concesso sotto la licenza permissiva MIT.

Vedi anche

Il repository delle proposte di Godot elenca le caratteristiche che sono state richieste dalla comunità e che potrebbero essere implementate nelle future versioni di Godot.