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 di scene.

  • Built-in script editor. Also supports editing text files and using custom syntax highlighters.

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

  • GDScript debugger.

    • Supports debugging in threads.

  • Profiler visivo 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.

  • Supports tracing profilers like Tracy and Perfetto for deeper optimization tasks.

  • Any script can be run in the editor and provide custom functionality such as clickable buttons in the inspector, without needing to create an editor plugin.

  • Ricaricamento dello script in tempo reale.

  • Modifica della scena in tempo reale.

    • Changes will reflect in the editor and will be kept after closing the running project.

  • Live camera replication (disabled by default).

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

  • Inspector remoto.

    • Changes won't reflect in the editor and won't be kept after closing the running project.

  • Run multiple simultaneous project instances from a single editor instance (useful for client/server testing).

  • Optional game embedding to run the project in a panel within the editor.

    • Select 2D and 3D nodes in the project's viewport to inspect them in the editor.

    • Move the camera within the project using the 2D and 3D camera overrides.

    • Supports time scale adjustments, pausing, and frame advance.

    • Supports muting the project.

  • Ruler tool to measure distances in 2D and 3D.

  • Vertex snapping support in 3D.

  • Support for following the selection as it moves in 3D by using Focus Selection twice.

  • 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.

Vedi anche

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.

  • Sovracampionamento per le immagini SVG tramite il tipo di importazione DPITexture. Consente di ottenere risultati più nitidi quando si ingrandisce la texture, rasterizzando nuovamente l'immagine SVG sorgente a una nuova risoluzione, in fase di esecuzione.

    • Il sovracampionamento può facoltativamente tenere conto delle singole scale di CanvasItem per un rendering più nitido quando si ridimensionano i nodi.

  • 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.

  • Optional debanding to reduce banding artifacts in gradients.

  • HDR output on supported platforms and renderers.

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.

  • Physics interpolation.

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

  • Linear HDR internal lighting calculations.

  • Optional debanding to reduce banding artifacts in gradients.

  • HDR output on supported platforms and renderers.

  • 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:

  • Directional lights (sun/moon).

  • Omnidirectional lights.

  • Spot lights with adjustable cone angle and attenuation.

  • Rectangular area lights with an optional texture to determine the shape and color.

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

  • Adjustable light "size" for spherical omni and disc spot lights (will also make shadows blurrier with variable penumbra).

  • 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.

  • When using the Mobile renderer, up to 8 omni lights, 8 spot lights, and 8 area lights can be displayed per mesh resource. Baked lighting can be used to overcome this limit if needed.

Mappatura delle ombre:

  • DirectionalLight3D: Orthogonal (fastest), PSSM 2-split and 4-split. Supports blending between splits.

  • OmniLight3D: Dual paraboloid (fast) or cubemap (slower but more accurate). Supports colored projector textures in the form of panoramas.

  • SpotLight3D: Single texture. Supports colored projector textures.

  • AreaLight3D: Single texture with dual paraboloid distortion to approximate the light's shape.

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

  • PCSS-like shadow blur based on the light size and distance from the surface the shadow is cast on. Supported for all light types.

  • 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.

    • Optionally supports directional lighting based on spherical harmonics.

    • Optionally supports baking a shadowmask for distant static directional shadows.

    • Optional supersampling at bake-time to improve quality and reduce light leaking at the cost of increased bake times and memory usage during baking.

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

    • Supports GPU-based denoising with JNLM out of the box, or higher-quality CPU/GPU-based denoising with OIDN (requires downloading OIDN separately).

    • Lightmaps are rendered with bicubic filtering to reduce scaling artifacts.

  • 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:

  • Riflessi basati su voxel (quando si utilizzano sonde GI) e riflessi basati su SDF (quando si utilizza signed distance field GI). I riflessi basati su voxel sono visibili su superfici trasparenti, mentre i riflessi approssimativi basati su SDF sono visibili su superfici trasparenti.

  • 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).

  • Sistema opzionale di dissolvenza a distanza per dissolvere le decalcomanie lontane, migliorando le prestazioni.

  • 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 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.

  • Le opzioni di filtraggio sono definite per ogni utilizzo, e non per ogni texture.

Texture VRAM compression:

  • BPTC (for high-quality compression targeting desktop platforms).

  • ASTC (for high-quality compression targeting mobile platforms).

  • ETC2 (for fast compression targeting mobile platforms).

  • S3TC (for fast compression targeting desktop platforms).

  • Basis Universal (slow, but only requires one encoding for all platforms).

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.

  • Antialiasing alfa, alfa a copertura MSAA e hashing alfa per ogni materiale.

Scaling della risoluzione:

  • 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.

  • Resolution scaling uses nearest-neighbor filtering, bilinear filtering, AMD FidelityFX Super Resolution 1.0 (FSR1), or AMD FidelityFX Super Resolution 2.2.1 (FSR2).

  • Il bias del livello di dettaglio (LOD) delle mipmap delle texture viene regolato automaticamente per migliorare la qualità a risoluzioni più basse. Si può anche cambiare manualmente con un 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.

  • Ragdoll.

  • Aree per rilevare i corpi che entrano o escono.

  • Physics interpolation.

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

  • 2D: Shader personalizzati per vertici, frammenti e illuminazione.

  • 3D: Custom vertex, fragment, light, sky, and fog shaders.

  • Custom shaders can procedurally generate and modify textures in real-time using DrawableTexture2D.

  • Shader basati su testo che utilizzano un linguaggio di shader ispirato da GLSL.

  • Syntax highlighting is provided on GitHub by using gdshader as the language name in a Markdown code block.

  • Editor di visual 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.

  • Support for polyphony (playing several sounds from a single AudioStreamPlayer node).

  • 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.

  • AudioListener2D and AudioListener3D nodes to listen from a position different from the camera.

  • 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 with optional QOA or IMA-ADPCM compression.

    • 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.

    • The mouse cursor's appearance can be changed to a custom image or one of the system cursors.

    • When captured, raw input is used on Windows and Linux to sidestep the OS' mouse acceleration settings.

  • Gamepad input (up to 8 simultaneous controllers).

  • Pen/tablet input with pressure and tilt support.

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.

  • Support for pseudolocalization to test your project for i18n-friendliness.

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 Creare applicazioni.

Mobile

  • Virtual joystick and buttons for touch input.

  • Acquisti in-app su Android e iOS.

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

  • Support for picture-in-picture mode on Android.

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.

    • Including support for popular standalone headsets like the Meta Quest 1/2/3 and Pro, Pico 4, Magic Leap 2, and 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.

  • Text entry using LineEdit (single line), TextEdit (multiple lines), and CodeEdit (supports syntax highlighting, line numbers, and more).

  • Dropdown menus using PopupMenu and OptionButton with support for an optional search bar.

  • 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).

  • Color picker with RGB, HSV, and OKHSL modes, as well as custom color palettes.

  • I nodi Control possono essere ruotati e ridimensionati.

  • Drag-and-drop support.

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.

Tematizzazione:

  • 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 di scene 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.