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.

Liste des fonctionnalités

Cette page vise à lister toutes les fonctionnalités actuellement supportées par Godot.

Note

Cette page liste les fonctionnalités supportées par la version stable actuelle de Godot. Certaines de ces fonctionnalités pourraient ne pas être disponibles dans la série de version 3.x.

Plates-formes

Voir aussi

Voir Configuration requise pour les prérequis de matériels et de version de logiciels.

Note

Pour plus d'informations sur le support des consoles, voir le site web de Godot.

Peut exécuter à la fois l'éditeur et les projets exportés :

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

  • macOS (x86 et ARM, 64-bit uniquement).

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

    • Les exécutables sont liés statiquement et peuvent fonctionner sur n'importe quelle distribution s'ils sont compilés sur une distribution suffisamment ancienne.

    • Les binaires officiels sont compilés en utilisant le buildroot Godot Engine, permettant aux binaires de fonctionner sur les distributions Linux courantes.

  • Android (le support de l'éditeur est expérimental).

  • Navigateurs internet. Expérimental en 4.0, l'utilisation de Godot 3.x est recommandée à la place quand HTML 5 est visé.

Note

Linux suporte rv64 (RISC-V), ppc64 & ppc32 (PowerPC), et loongarch64. Cependant, il faut compiler l'éditeur pour la plateforme concernée (ainsi que les templates) vous même, aucun téléchargement officiel n'est actuellement disponible. Les instructions de compilation pour RISC-V peuvent être trouvée sur la page : Compiling for Linux, *BSD.

Exécute les projets exportés :

  • iOS.

Godot vise à être aussi indépendant des plateformes que possible et peut être porté sur de nouvelles plateformes avec une relative facilité.

Note

Les projets écrits en C# utilisant Godot 4 ne peuvent à l'heure actuelle être exportés sur la plateforme web. Pour utiliser C# sur cette plateforme, préférez Godot 3. Le support des plateformes Android et iOS sont disponibles dans Godot 4.2 mais de manière expérimentale et certaines limitations s'appliquent alors.

Éditeur

Fonctionnalités :

  • Éditeur de scène hiérarchique.

  • Editeur de scripts intégré. Permet aussi d'éditer des fichiers texte et d'utiliser des surlignages de syntaxe personnalisés.

  • Support des éditeurs de script externes tels que Visual Studio Code ou Vim.

  • Débogueur GDScript.

    • Autorise le débogage dans les threads.

  • Profileur visuel avec indications du temps CPU et GPU pour chaque étape du pipeline de rendu.

  • Outils de surveillance des performances, incluant des moniteurs de performances personnalisés.

  • Supporte profileur de trace comme Tracy et Perfetto pour des tâches d'optimisation approfondies.

  • N'importe quel script peut être lancé dans l'éditeur et il fournit des fonctionnalités personnalisées comme des boutons cliquables dans l'inspecteur, sans avoir besoin de créer un plugin d'éditeur.

  • Rechargement de script en direct.

  • Édition de scènes en direct.

    • Les changements seront répercutés dans l'éditeur et seront conservés après la fermeture du projet en cours.

  • Réplication de caméra en direct (désactivé par défaut).

    • Déplacez la caméra de l'éditeur et voyez le résultat dans le projet en cours d'exécution.

  • Inspecteur à distance.

    • Les changements ne seront pas répercutés dans l'éditeur et ne seront pas conservés après la fermeture du projet en cours d'exécution.

  • Lance des instances multiples du projet à partir d'une unique instance de l'éditeur (utile pour les tests client/serveur).

  • Optionel incrustation de jeu pour lancer le projet dans un panneau dans l'éditeur.

    • Choisir les nœuds 2D et 3D dans la fenêtre du projet pour les inspecter dans l'éditeur.

    • Déplacer la caméra dans le projet en utilisant les superpositions de caméra 2D et 3D.

    • Supporte les ajustements d'échelle de temps, mise en pause et avance image par image.

    • Supporte la mise en sourdine du projet.

  • Outil règle pour mesurer la distance en 2D et 3D.

  • Support d'aimantation des sommets en 3D.

  • Support pour le suivi de la sélection en mouvement en 3D en utilisant la sélection par focus double.

  • Documentation de référence de classe hors ligne intégrée.

  • Utilisez l'éditeur dans des dizaines de langues fournies par la communauté.

Plugins :

Rendu

Godot 4 comprend trois moteurs de rendu :

  • Forward+. Le moteur de rendu le plus avancé, adapté uniquement aux plateformes de bureau. Utilisé par défaut sur les plateformes de bureau. Ce moteur de rendu utilise Vulkan, Direct3D 12, ou Metal comme pilote de rendu, et il utilise le backend RenderingDevice.

  • Mobile. Moins de fonctionnalités, mais rend des scènes simples plus rapidement. Adapté aux plateformes mobiles et de bureau. Utilisé par défaut sur les plateformes mobiles. Ce rendu utilise Vulkan, Direct3D 12, ou Metal comme pilote de rendu, et il utilise le backend RenderingDevice.

  • Compatibilité, parfois appelé Compatibilité GL. Le moteur de rendu le moins avancé, adapté aux plateformes de bureau bas de gamme et aux plateformes mobiles. Utilisé par défaut sur la plateforme web. Ce moteur de rendu utilise OpenGL comme driver de rendu.

Voir aussi

Voir Overview of renderers pour une comparaison détaillée des méthodes de rendu.

Graphismes 2D

  • Rendu de sprite, polygone et ligne.

    • Des outils de haut niveau pour dessiner des lignes et des polygones tels que Polygon2D et Line2D, avec un support pour la texturisation.

  • AnimatedSprite2D comme un assistant à la création de sprites animés.

  • Couches de parallaxe.

    • Pseudo-3D supportée incluant un aperçu dans l'éditeur.

  • Éclairage 2D avec une carte normale et une carte spéculaire.

    • Lumières ponctuelles (omnidirectionnelles/spot) et directionnelles 2D.

    • Ombres dures ou douces (réglables en fonction de chaque lumière).

    • Les shaders personnalisés peuvent accéder en temps réel a une représentation SDF de la scène 2D basé sur les nœuds LightOccluder2D, qui peut être utilisé pour améliorer les effets d'éclairage 2D, y compris l'éclairage global 2D.

  • Rendu de police utilisant des bitmaps, la rasterisation avec FreeType ou des champs de distances signées multicanal (MSDF).

    • Les polices bitmap peuvent être exportées à l'aide d'outils comme BMFont, ou importé d'images (pour des polices avec une largeur fixée seulement).

    • Les polices dynamiques prennent en charge les polices monochromes ainsi que les polices colorées (par exemple les émojis). Les formats pris en charge sont TTF, OTF, WOFF1 et WOFF2.

    • Le support des polices dynamiques propose des contours de police facultatifs avec une largeur et une couleur ajustables.

    • Les polices dynamiques supportent les polices variables et les fonctionnalités d'OpenType ainsi que les ligatures.

    • Les polices dynamiques supportent la simulation du gras et l'italique quand le fichier de la police n'a pas ces styles.

    • Prise en charge du sur-échantillonnage des polices dynamiques pour maintenir la netteté des polices à des résolutions plus élevées.

    • Les polices dynamiques prennent en charge le positionnement subpixel pour rendre les polices plus nettes à de petites tailles.

    • Les polices dynamique supportent les optimisations LCD subpixel pour rendre les polices encore plus nettes à des petites tailles.

    • Les polices de caractères de cartes de distances signés peuvent être étirées dans n'importe quelle résolution sans passer par une re-rastérisation. L'usage multi-canaux permet aux polices de caractères SDF d'être réduites à de plus petites tailles comparés à des polices SDF monochromes.

  • Sur-échantillonage pour les images source SVG en utilisant les le type d'imports DPITexture. Ceci permet des résultats plus précis lors de l'agrandissement de la structure en rerastérisant l'image source à une nouvelle résolution lors de l'exécution.

    • Le suréchantillonage peut optionnellement prendre en compte des échelles CanvasItem individuelles pour rendre plus nette le rendu lors du re-taillage des nœuds.

  • Particules calculées par le GPU avec prise en charge de shaders de particules personnalisés.

  • Particules générées par le CPU.

  • Optionnel Rendu HDR 2D pour de meilleurs effets de brillance.

  • Suppression optionnelle des bandes pour réduire les artefacts de banding dans les dégradés.

  • Sortie HDR sur les plateformes et moteurs de rendu supportés.

Outils 2D

  • TileMaps pour de la conception de niveau 2D basé sur des tuiles.

  • Caméra 2D avec lissage intégré et marges de déplacement.

  • Nœud Path2D pour représenter un chemin dans l'espace 2D.

    • Peut être dessiné dans l'éditeur ou généré de manière procédurale.

    • Nœud PathFollow2D pour que les nœuds suivent un Path2D.

  • Classe d'aide à la géométrie 2D.

Physique 2D

Corps physiques :

  • Corps statiques.

  • Corps à animer (pour des objets bougeant uniquement par script ou animation, comme des portes et des plateformes).

  • Corps rigides.

  • Corps de personnage.

  • Les articulations.

  • Zones pour détecter les corps qui y entrent ou en sortent.

  • Interpolation de la physique.

Détection de collision :

  • Formes intégrées : ligne, pavé, cercle, capsule, limite du monde (plan infini).

  • Polygones de collision (peuvent être dessinés manuellement ou générés à partir d'un sprite dans l'éditeur).

Graphismes 3D

  • Calculs d'éclairage interne HDR linéaire.

  • Suppression optionnelle des bandes pour réduire les artefacts de banding dans les dégradés.

  • Sortie HDR sur les plateformes et moteurs de rendu supportés.

  • Caméras perspective, orthographiques et frustum-offset.

  • Lors de l'utilisation du moteur de rendu Forward+, une prépasse de profondeur est utilisé pour améliorer les performances dans les scènes complexes en réduisant le coût du surdessin.

  • Variable rate shading pour les GPUs supportés, avec un moteur de rendu Forward+ ou Mobile.

Rendu basé sur la physique (fonctionnalités de matériau intégrés):

  • Suit le modèle Disney PBR.

  • Supporte les modes d'ombrage diffus Burley, Lambert, Lambert Wrap (demi-Lambert) et Toon.

  • Supporte les modes de d'ombrage Schlick-GGX, Toon et Spéculaire désactivé.

  • Utilise un flux de travail de type rugosité-métal avec support des textures ORM.

  • Utiliser l'occlusion spéculaire d'horizon (modèle en filament) pour améliorer l'apparence du matériau.

  • Cartographie des normales.

  • Cartographie parallaxe/relief avec niveau de détail automatique basé sur la distance.

  • Cartographie détaillée des cartes d'albédo et de normales.

  • Subsurface scattering and transmittance.

  • Réfraction dans l'espace de l'écran avec support de la rugosité du matériau (donnant une réfraction floue).

  • Fondu de proximité (particules molles) et fondu de distance.

  • Le fondu de distance peut utiliser le mélange alpha ou le tramage pour éviter de passer par le pipeline de transparence.

  • Le tramage peut être déterminée par pixel ou par objet.

Éclairage en temps réel :

  • Lumières directionnelles (pour le Soleil ou la Lune).

  • Lumières omnidirectionnelles.

  • Spot lights with adjustable cone angle and attenuation.

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

  • La lumière spéculaire, la lumière indirecte et l'énergie du brouillard volumétrique peuvent être réglées pour chaque lumière.

  • "Taille" de la lumière réglable pour des zone de lumières sphériques et en disque(rendra également les ombres plus floues avec une pénombre variable).

  • Système optionnel d'atténuation de la distance permettant d'atténuer les lumières éloignées et leurs ombres, ce qui améliore les performances.

  • Lors de l'utilisation du moteur de rendu Forward+ (par défaut pour les ordinateurs de bureau), les lumières sont rendues avec des optimisations avancées groupées pour réduire leur coût individuel. Le rendu groupé enlève également toute limite quant au nombre de lumières pouvant être utilisées sur un maillage.

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

Cartographie des ombres :

  • LumièreDirectionnelle3D: Orthogonale (le plus rapide), PSSM 2-split and 4-split. Supporte le mélange entre les écarts.

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

  • SpotLight3D : Texture unique. Supporte les textures de projecteur colorées.

  • AreaLight3D: Texture unique avec distorsion par double paraboloïde pour approximer la forme de la lumière..

  • Décalage du biais de l'offset normal des ombres et compression des ombres pour réduire la quantité d'acné des ombres et l'effet Peter Pan.

  • PCSS comme le flou de l'ombre, qui dépend de la taille de la source lumineuse et de la distance par rapport à la surface sur laquelle l'ombre est projetée. Supporter pour tous les types de lumières.

  • Flou d'ombre réglable pour chaque lumière.

Éclairage global avec éclairage indirect :

  • Lightmaps précalculées (rapide, mais ne peut pas être mis à jour pendant l'exécution) .

    • Supporte le pré-calcul de l'éclairage indirect seul ou le pré-calcul de l'éclairage direct et indirect. Le mode de pré-calcul peut être ajusté pour chaque lumière afin de permettre le pré-calcul de configurations d'éclairages hybrides.

    • Supporte l'éclairage dynamique d'objets en utilisant un système automatique et manuel de sondes.

    • Prend en charge, de manière optionnelle, l'éclairage directionnel et les réflexions approximatives basées sur les harmoniques sphériques.

    • Permet en option de générer un masque d'ombre pour les ombres directionnelles statiques lointaines.

    • Suréchantillonnage optionnel lors du pré-calcul pour améliorer la qualité et réduire les fuites de lumière, au prix d'un temps de pré-calcul et d'une consommation de mémoire accrus.

    • Les lightmaps sont pré-calculées avec la carte graphique en utilisant des shaders de calcul (qui sont beaucoup plus rapides comparé au calcul du processeur pour créer une lightmap). Pré-calculer peut uniquement être effectué à partir de l'éditeur, pas dans les projets exportés.

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

    • Les lightmaps sont rendues avec un filtrage bicubique pour réduire les artefacts de mise à l'échelle.

  • Sondes voxel-based GI. Supporte les lumières dynamiques et les occlusions dynamiques, tout en supportant aussi les réflexions. Requiert une étape de pré-calcul rapide qui peut être effectuée dans l'éditeur ou pendant la durée d'exécution (même dans un projet exporté).

  • Signed-distance field GI conçu pour les grands mondes ouverts. Supporte les lumières dynamiques, mais pas les occlusions dynamiques. Supporte les réflexions. Pas de pré-calcul requis.

  • Screen-space indirect lighting (SSIL) à la moitié ou à pleine résolution. Rendu totalement en temps réel et supporte n'importe quelle source de lumière émissive (incluant les décalques).

  • VoxelGI et SDFGI utilisent une passe différée pour permettre un rendu GI à la moitié de résolution pour améliorer les performances (il y a aussi la fonctionnalité de support MSAA).

Réflexions :

  • Réflexions basées sur les voxels (quand elles utilisent les sondes GI) et réflexions basées sur le SDF (quand elles utilisent les Signed Distance Field GI). Ces réflexions basées sur les voxels sont visibles sur les surfaces transparentes, pendant que les réflexions brutes basées sur SDF sont visibles sur des surfaces transparentes.

  • Réflexions rapides précalculées ou lentes en temps réel à l'aide de ReflectionProbe. La correction du parallaxe peut être activée en option.

  • Réflexions de l'espace écran avec prise en charge de la rugosité des matériaux.

  • Les techniques de réflexion peuvent être mélangées pour une plus grande précision ou une plus grande évolutivité.

  • Lorsque le moteur de rendu Forward+ est utilisé (par défaut sur PC), les sondes de réflexion sont rendues à l'aide d'optimisations de rendu groupé afin de réduire leur coût individuel. Le rendu groupé supprime également toute limite quant au nombre de sondes de réflexion pouvant être utilisées sur un maillage.

  • Lors de l'utilisation du backend Mobile, jusqu'à 8 sondes de réflexion peuvent être affichées par ressource de maillage. Lors de l'utilisation du backend Compatibilité, jusqu'à 2 sondes de réflexion peuvent être affichées par ressource de maillage.

Décalques :

  • Prend en charge l'albédo, l'émissif, ORM et le cartographie des normales.

  • Les canaux de texture sont superposés de manière fluide sur le matériau sous-jacent, avec prise en charge des décalques normaux/ORM uniquement.

  • Prise en charge du fondu normal pour atténuer le décalque en fonction de son angle d'incidence.

  • Ne dépend pas de la génération des maillages à l'exécution. Cela signifie que les décalques peuvent être utilisés sur des maillages complexes sans chute de performance, même si le décalque bouge à chaque trame.

  • Support pour le filtrage de textures au plus proche voisin, bilinéaires, trilinéaires ou anisotropes (configuré globalement).

  • Système optionnel d'atténuation avec la distance pour atténuer les décalques éloignés, améliorant ainsi les performances.

  • When using the Forward+ renderer (default on desktop), decals are rendered with clustered forward optimizations to decrease their individual cost. Clustered rendering also lifts any limits on the number of decals that can be used on a mesh.

  • Lors de l'utilisation du backend Mobile, jusqu'à 8 décalques peuvent être affichés par ressource de maillage.

Ciel :

  • Ciel panoramique (en utilisant un HDRI).

  • Ciel procédural et basé sur la physique qui répondent aux lumières directionnelles (DirectionalLights) de la scène.

  • Support pour shaders de ciel personnalisé, qui peut être animé.

  • La carte de rayonnement utilisée pour les lumières ambiantes et spéculaires peuvent être mises à jour en temps réel en fonction des paramètres de qualité choisis.

Brouillard :

  • Profondeur de brouillard exponentielle.

  • Hauteur exponentielle du brouillard.

  • Prise en charge automatique de la coloration du brouillard en fonction de la couleur du ciel (perspective aérienne).

  • Prise en charge de la diffusion du soleil dans le brouillard.

  • Prise en charge du contrôle de la quantité de brouillard qui doit affecter le ciel, avec des contrôles séparés pour le brouillard traditionnel et volumétrique.

  • Prise en charge de la création de matériaux spécifiques ignorant le brouillard.

Brouillard volumétrique :

  • Brouillard volumétrique global qui réagit aux lumières et aux ombres.

  • Le brouillard volumétrique peut prendre en compte la lumière indirecte lors de l'utilisation de VoxelGI ou SDFGI.

  • Les nœuds de brouillard volumétriques qui peuvent être placés pour ajouter du brouillard dans des endroits spécifiques (ou retirer du brouillard d'endroits spécifiques). Les formes prises en charge sont les boîtes, les ellipses, les cônes, les cylindres, et des cartes de densités basées sur les textures 3D.

  • Chaque volume de brouillard peut avoir son propre shader personnalisé.

  • Peut être utilisé avec un brouillard traditionnel.

Particules :

  • Particules basées sur le GPU avec prise en charge des sous-émetteurs (2D + 3D), des traînées (2D + 3D), des attracteurs (3D uniquement) et des collisions (2D + 3D).

    • Attracteur de particules 3D avec des formes supportées : boîte, sphère et des champs de vecteurs 3D.

    • Formes de collision de particules 3D prises en charge : boîte, sphère, champ de distance signée précalculé et carte de hauteur en temps réel (adapté aux effets météorologiques en monde ouvert).

    • La collision de particules en 2D est gérée en utilisant un champ de distance signée généré en temps réel, basé sur les nœuds LightOccluder2D présents dans la scène.

    • Les traînées peuvent utiliser les maillages de traînée ruban et tube intégrés, ou des maillages personnalisés avec des squelettes.

    • Prise en charge des shaders de particules personnalisés avec une émission manuelle.

  • Particules générées par le CPU.

Post-traitement :

  • Cartographie des tons (Linéaire, Reinhard, Filmic, ACES, AgX).

  • Ajustements automatiques de l'exposition basés sur la luminosité de la fenêtre d'affichage (et remplacement manuelle de l'exposition).

  • Profondeur de champ rapprochée et lointaine avec simulation de bokeh ajustable (boîte, hexagone, cercle).

  • Occlusion ambiante en espace d'écran (SSAO) à demi ou pleine résolution.

  • Effet d'éblouissement /de flou lumineux avec mise à l'échelle bicubique en option et plusieurs modes de fusion disponibles : Écran, Lumière Douce, Ajouter, Remplacer, Mélanger.

  • Glow peut avoir une texture de carte de saleté colorée, agissant comme un effet de lentille sale.

  • La lueur peut être utilisée comme un effet de flou de la taille de l'écran.

  • Correction des couleurs à l'aide d'une rampe unidimensionnelle ou d'une texture LUT tridimensionnelle .

  • Limiteur de rugosité pour réduire l'impact du crénelage spéculaire.

  • Réglages de la luminosité, du contraste et de la saturation.

Filtrage de texture :

  • Filtrage au plus proche, bilinéaire, trilinéaire ou anisotrope.

  • Les options de filtrage sont définies en fonction de l'utilisation, et non en fonction de la texture.

Texture VRAM compression:

  • BPTC (pour une compression de haute qualité à destination des plateformes de bureau).

  • BPTC (pour une compression de haute qualité ciblant les plateformes mobiles).

  • S3TC (pour une compression rapide ciblant les plateformes mobiles).

  • S3TC (pour une compression rapide ciblant les plateformes de bureaux).

  • Base universelle (lent, mais nécessite seulement d'un encodage pour toutes les plateformes.

Anticrénelage :

  • Temporel anticrénelage (TAA).

  • AMD FidelityFX Super Resolution 2.2 (FSR2) anticrénelage , peut être utilisé à la résolution native comme une forme de haute qualité temporaire d'anticrénelage.

  • Anticrénelage multi-échantillons (MSAA), pour les deux Anticrénelage 2D et Anticrénelage 3D.

  • Anticrénelage approximatif rapide (FXAA).

  • Anticrénelage de super-échantillon (SSAA) utilise la mise à l'échelle 3D bilinéaire et la mise à l'échelle de résolution 3D au dessus de 1.0.

  • Alpha d'anticrénelage, utilisez l'alpha MSAA pour la couverture et l'alpha de hachage sur une base de matériau.

Échelle de résolution :

  • Le support pour un rendu en 3D à une basse résolution tout en gardant le rendu 2D à l'échelle originale. Cela peut être utilisé pour améliorer la performance sur les système bas de gamme ou pour améliorer les visuels des systèmes haut de gamme.

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

  • Le biais des niveaux de détails (LOD) des mipmaps de texture est automatiquement ajusté pour améliorer la qualité aux résolutions inférieures. Il peut également être modifié avec un décalage manuel.

La plupart des effets mentionnés ci-dessus peuvent être ajustés pour améliorer les performances ou pour améliorer davantage la qualité. Cela peut être utile lorsque vous utilisez Utilisation de Godot pour le rendu hors ligne.

Outils 3D

  • Maillages intégrés : cube, cylindre/cône, (hémi)sphère, prisme, plan, quadrilatère, tore, ruban, tube.

  • GridMaps pour la conception de niveaux basés sur des tuiles.

  • Géométrie constructive des solides (CSG) (destiné au prototypage).

  • Outils pour la génération de la géométrie procédurale.

  • Nœud Path3D pour représenter un chemin dans l'espace 3D.

    • Peut être dessiné dans l'éditeur ou généré de manière procédurale.

    • PathFollow3D pour que les nœuds suivent un Path3D.

  • Classe d'assistance géométrique 3D.

  • Support pour l'exportation de la scène actuelle au format glTF 2.0, à la fois depuis l'éditeur et au moment de l'exécution depuis un projet exporté.

Physique 3D

Corps physiques :

  • Corps statiques.

  • Corps à animer (pour des objets bougeant uniquement par script ou animation, comme des portes et des plateformes).

  • Corps rigides.

  • Corps de personnage.

  • Corps de véhicules (destinées à la physique arcade, pas à la simulation).

  • Les articulations.

  • Softbody.

  • Physique Ragdoll.

  • Zones pour détecter les corps qui y entrent ou en sortent.

  • Interpolation de la physique.

Détection de collision :

  • Formes intégrées : parallélépipède, sphère, capsule, cylindre, limite du monde (plan infini).

  • Générer des formes de collision triangle pour n'importe quel maillage à partir de l'éditeur.

  • Générer une ou plusieurs formes de collision convexes pour n'importe quel maillage à partir de l'éditeur.

Shaders

  • 2D : Vertex, fragment et shaders de lumière personnalisés.

  • 3D : Shaders de sommet, de fragment, de lumière, de ciel et de brouillard personnalisés.

  • Les shaders personnalisés peuvent - en temps réel - générer les textures de manière procédurale et les modifier en utilisant DrawableTexture2D.

  • Shaders basés sur du texte utilisant un langage de shader inspiré de GLSL.

  • La coloration syntaxique est possible sur GitHub en utilisant gdshader en tant que nom de langage dans un bloc de code Markdown.

  • Éditeur de shaders visuels.

Scripts

Général :

  • Modèle de conception orientée-objet avec des scripts étendant(extend) des nœuds.

  • Signaux et groupes pour la communication entre les scripts.

  • Prise en charge de script cross-langage.

  • De nombreux types de données d'algèbre linéaire en 2D, 3D et 4D, tels que les vecteurs et les transformations.

GDScript :

C# :

  • Emballé dans un binaire séparé pour limiter la taille des fichiers et les dépendances.

  • Supporte .NET 8 et versions ultérieures.

    • Support complet de la syntaxe et des fonctionnalités du C# 12.0.

  • Prend en charge Windows, Linux et MacOS. À compter de la version 4.2, un support expérimental pour Android et iOS est aussi disponible.

    • Sur iOS, seule quelques architectures sont supportées : arm64.

    • La plateforme web n'est actuellement pas supportée. Pour utiliser C# sur cette plateforme, envisagez plutôt Godot 3.

  • Il est recommandé d'utiliser un éditeur externe pour bénéficier des fonctionnalités d'un IDE.

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

  • Lorsque vous en avez besoin, créez un lien vers des bibliothèques natives pour des performances plus élevées et des intégrations tierces.

    • Pour les scripts de logique de jeu, GDScript ou C # sont recommandés si leurs performances sont appropriées.

  • les liaisons GDExtension officiels pour le C et pour le C++.

    • Utilisez le système de compilation et les fonctionnalités de langage que vous souhaitez.

  • Des liaisons GDExtension sont activement développés pour D, Swift, et Rust, et sont fournis par la communauté. (Certains de ces liens peuvent être expérimentaux et ne sont pas prêts pour la production).

Audio

Fonctionnalités :

  • Sortie Mono, stéréo, 5.1 et 7.1.

  • Lecture(playback) non positionnelle et positionnelle en 2D et 3D.

    • Effet Doppler optionnel en 2D et 3D.

  • Support de bus audio re-routable et des effets avec des dizaines d'effets inclus.

  • Prise en charge de la polyphonie (jouer plusieurs sons à partir d'un seul nœud AudioStreamPlayer).

  • Support pour le volume et le pitch aléatoires.

  • Support pour l'ajustement du pitch en temps réel.

  • Prise en charge de la sélection d'échantillons séquentiels/ aléatoires, y compris la prévention de répétitions lors de l'utilisation d'échantillons aléatoires.

  • Les nœuds AudioListener2D et AudioListener3D pour écouter depuis une position différente de celle de la caméra.

  • Support pour la génération audio procédurale.

  • Entrée audio afin d'enregistrer depuis des microphones.

  • Synthèse vocale utilisant les moteurs de synthèse vocale fournis par la plateforme.

  • Entrée MIDI.

    • Pas encore de support pour la sortie MIDI.

API utilisés :

  • Windows : WASAPI.

  • macOS : CoreAudio.

  • Linux : PulseAudio ou ALSA.

Importation

Formats :

  • Images: Voir Importer des images.

  • Audio :

    • WAV avec compressions QOA ou IMA-ADPCM optionnelles.

    • Ogg Vorbis.

    • MP3.

  • Scènes 3D: Voir Importation de scènes 3D.

    • glTF 2.0 (recommandé).

    • .blend (en appelant de manière transparente la fonctionnalité d'exportation glTF de Blender).

    • FBX (en appelant FBX2glTF de manière transparente).

    • Collada (.dae).

    • Wavefront OBJ (scènes statiques uniquement, peut être chargé directement sous forme de maillage ou importé sous forme de scène 3D).

  • Support du chargement de scènes glTF 2.0 au moment de l'exécution, y compris à partir d'un projet exporté.

  • Les maillages 3D utilisent Mikktspace pour générer les tangentes à l'importation, ce qui permet de s'assurer de la cohérence avec les autres applications 3D comme Blender.

Entrée

  • Système de mappage d'entrée utilisant des événements d'entrée codés en dur ou des actions d'entrée reconfigurables.

    • Les valeurs des axes peuvent être associées à deux actions différentes avec une zone morte configurable.

    • Utilise le même code pour prendre en charge les claviers et les manettes de jeu.

  • Entrée clavier.

    • Les touches peuvent être mappées en mode "physique" pour être indépendantes de la disposition du clavier.

  • Entrée souris.

    • Le curseur de la souris peut être visible, caché, capturé ou confiné dans la fenêtre.

    • L'apparence du curseur de souris peut être changée en une image personnalisée ou en un des curseurs système.

    • Lorsque capturée, l'entrée brute sera utilisée sous Windows et Linux pour contourner les paramètres de l'OS pour l'accélération de la souris.

  • Entrée manette de jeu (jusqu'à 8 contrôleurs en simultané).

  • Saisie au stylet/tablette avec support de la pression et de l'inclinaison.

Réseau

  • Réseau TCP de bas niveau utilisant StreamPeer et TCPServer.

  • Réseau UDP de bas niveau utilisant PacketPeer et UDPServer.

  • Requêtes HTTP de bas niveau utilisant HTTPClient.

  • Requêtes HTTP de haut niveau utilisant HTTPRequest.

    • Supports HTTPS out of the box using bundled certificates.

  • API multijoueur de haut niveau utilisant UDP et ENet.

    • Réplication automatique au moyen des appels de procédure à distance (RPC).

    • Prise en charge des transferts non fiables, fiables et ordonnés (unreliable, reliable and ordered).

  • Client et serveur WebSocket, disponible sur toutes les plateformes.

  • Client et serveur WebRTC, disponible sur toutes les plateformes.

  • Support d'UPnP pour éviter l'obligation de transférer (forward) des ports lors de l'hébergement d'un serveur derrière un NAT.

Internationalisation

  • Prise en charge complète d'Unicode, y compris les émojis.

  • Support du chargement des polices de caractères systèmes sous Windows, MacOS et Linux.

    • Par défaut, les polices d'écriture système sont utilisées comme solution de secours pour afficher les caractères non supportés. Cela permet un affichage correct de texte multilingue sans avoir besoin d'intégrer de gros fichiers de police d'écriture dans un projet.

  • Enregistrez les chaînes de caractères de localisation en utilisant CSV ou gettext.

    • Prise en charge de la génération de fichiers gettext POT et PO dans l'éditeur.

  • Utilisez les chaînes de caractère localisées dans votre projet automatiquement dans les éléments de l'interface graphique ou en utilisant la fonction tr().

  • Prise en charge de la pluralisation et des contextes de traduction.

  • Prise en charge de la mise en page bidirectionnelle (bidirectional typesetting), le façonnage du texte et les formes localisées OpenType.

  • Mise en miroir automatique de l'interface utilisateur pour les locales de droite à gauche.

  • Prise en charge de la pseudo-localisation afin de tester la compatibilité i18n de votre projet.

Fenêtrage et intégration au systèmes d'exploitation

  • Créer plusieurs fenêtres indépendantes en un seul processus.

  • Déplacez, redimensionnez, minimisez et maximisez la fenêtre créée par le projet.

  • Changez le titre et l'icône de la fenêtre.

  • Créez des fenêtres transparentes à utiliser comme superpositions, avec gestion du clic souris au travers de zones polygonales.

  • Demander l'attention (fera clignoter la barre de titre sur la plupart des plateformes).

  • Fullscreen mode (borderless and exclusive).

  • Fenêtre sans bordure (plein écran ou non).

  • Garder une fenêtre toujours par dessus les autres fenêtres.

  • Faire ignorer le focus à une fenêtre (utile pour les surcouches / superpositions).

  • Déclarer une fenêtre comme popup (masquée du sélecteur de tâches) ou comme exclusive (empêche l’interaction avec les autres fenêtres du même processus).

  • Support de fenêtre d'ouverture de fichier natif sur Windows, MacOS, Linux et Android.

  • Support d'icône de barre sur Windows et macOS.

  • Intégration au menu global sur macOS.

  • Décorations côté client sur macOS.

  • Exécuter les commandes de manière bloquante ou non bloquante (y compris en exécutant plusieurs instances du même projet).

  • Ouvrez les chemins d'accès aux fichiers et les URL en utilisant les gestionnaires de protocole par défaut ou personnalisés (s'ils sont enregistrés dans le système).

  • Analyser les arguments de ligne de commande personnalisés.

  • Support pour les lecteurs d'écran sur Windows, macOS et Linux.

  • Tout binaire Godot (éditeur ou projet exporté) peut être utilisé comme un serveur sans interface graphique en le lançant avec l'argument de ligne de commande --headless. Cela permet de faire fonctionner le moteur sans GPU ni serveur d'affichage.

Voir aussi

Voir Creating applications pour plus d'informations sur l'utilisation de ces fonctionnalités.

Mobile

  • Virtual joystick et buttons pour les contrôles tactiles.

  • Achats In-app sur Android et iOS.

  • Support des annonces publicitaires en utilisant des modules tiers.

  • Support de l'incrustation d'image (Picture-in-picture) sur Android.

Support XR (AR et VR)

  • Support for desktop headsets using OpenXR. If a headset works with SteamVR, it should work with Godot.

    • Godot also supports Quest over Link, AndroidXR Direct Preview, and Pico Connect.

  • Support for Android-based headsets using OpenXR. Including support for the following standalone headsets:

    • Meta Quest 1/2/3 and Pro

    • Pico 4/4 Ultra

    • Magic Leap 2

    • Lynx R1

    • HTC Vive Focus Vision

    • Android XR headsets

  • Support for the Linux-based standalone Steam Frame using OpenXR.

  • Limited support for visionOS Apple headsets.

    • Seul l'export d'une application pour un usage sur surface plane dans le casque est actuellement supporté. Les expériences immersives ne sont pas supportées.

  • Autres appareils pris en charge via des plugins XR.

  • Diverses boîtes à outils avancées sont disponibles qui implémentent les fonctionnalités communes requises par les applications XR.

Interface Graphique (GUI)

L'interface graphique de Godot est construite en utilisant les mêmes nœuds Control que ceux utilisés pour créer des jeux dans Godot. L'interface utilisateur de l'éditeur peut facilement être étendue de nombreuses façons à l'aide d'add-ons.

Nœuds :

  • Boutons.

  • Cases à cocher, boutons à cocher, boutons radio.

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

  • Menus déroulants avec PopupMenu et OptionButton, avec une prise en charge d'une barre de recherche optionnelle.

  • Barres de défilement.

  • Étiquettes (Labels).

  • RichTextLabel pour texte formaté en utilisant le BBCode, avec la prise en charge d'effets animés personnalisés.

  • Arbres (Tree) (peuvent également être utilisés pour représenter des tableaux).

  • Un sélecteur de couleur avec les modes RGB, HSV et OKSHL, ainsi que des palettes de couleur personnalisées.

  • Les contrôles peuvent être tournés et étirés.

  • Support du glisser-déposer (drag-and-drop).

Dimensionnement :

  • Des ancres pour maintenir les éléments de l'interface graphique dans un coin spécifique, un bord ou au centre.

  • Conteneurs pour placer automatiquement les éléments de l'interface graphique en suivant certaines règles.

  • Mise à l'échelle vers plusieurs résolutions en utilisant les modes d'étirement canvas_items ou viewport.

  • Prise en charge de la conservation de l'aspect en utilisant des ancres et l'aspect d'étirement expand.

Thèmes :

  • Éditeur de thèmes intégré.

    • Générer un thème basé sur les paramètres actuels du thème de l'éditeur.

  • Thème vectoriel procédural utilisant StyleBoxFlat.

    • Prends en charge les coins arrondis/biseautés, les ombres portées, et les largeurs par bordure et l'anticrénelage.

  • Thème basée sur une texture en utilisant StyleBoxTexture.

La petite taille de distribution de Godot peut en faire une alternative appropriée à des frameworks comme Electron ou Qt.

Animation

  • Cinématiques directes et cinématiques inverses.

  • Prise en charge de l'animation de n'importe quelle propriété avec interpolation personnalisable.

  • Prise en charge de l'appel des méthodes dans les pistes d'animation.

  • Prise en charge de la lecture de sons dans les pistes d'animation.

  • Prise en charge des courbes de Bézier dans les animations.

Formats de fichier

  • Les scènes et les ressources peuvent être enregistrées dans des formats textes ou binaires.

    • Les formats Texte sont lisibles par l'homme et plus compatible avec le contrôle de version.

    • Les formats binaires sont plus rapides à sauvegarder/charger pour les grandes scènes/ressources.

  • Lecture et écriture de fichiers texte ou binaires en utilisant FileAccess.

    • Peut éventuellement être compressé ou chiffré.

  • Lecture et écriture de fichiers JSON.

  • Lecture et écriture de fichiers de configuration de type INI en utilisant ConfigFile.

    • Peut (dé)sérialiser tous les types de données Godot, comme Vector2/3, Color, ...

  • Lecture des fichiers XML en utilisant XMLParser.

  • Chargez et enregistrez des images, de l'audio/vidéo, des polices et des archives ZIP dans un projet exporté sans avoir à passer par le système d'importation de Godot.

  • Emballez les données de jeu dans un fichier PCK (format particulièrement optimisé pour la recherche rapide), dans une archive ZIP ou directement dans l'exécutable pour une distribution en fichier unique.

  • Exporter des fichiers PCK supplémentaires qui peuvent être lus par le moteur pour supporter les mods et les DLCs.

Divers

  • Lecture vidéo avec prise en charge intégrée d'Ogg Theora.

  • Le Mode Création de Film pour enregistrer des vidéos à partir d'un projet en cours d'exécution avec un son synchronisé et un rythme d'image parfait.

  • Accès de bas niveau aux serveurs ce qui permet de contourner la surcharge de l'arbre de scène lorsque cela est nécessaire.

  • Tutoriel sur la ligne de commande pour l'automatisation.

    • Exportez et déployez des projets en utilisant des plateformes d'intégration continue.

    • Des scripts de complétion sont disponibles pour Bash, zsh et fish.

    • Affichez du texte en couleur sur la sortie standard sur toutes les plates-formes en utilisant print_rich.

  • L'éditeur peut détecter les fonctionnalités utilisées dans un projet et créer un profil de compilation, qui peut être utilisé pour créer des binaires de modèles d'exportation plus petits avec les fonctionnalités inutiles désactivées.

  • Prise en charge des modules C++ liés statiquement dans le binaire du moteur.

    • La plupart des modules intégrés peuvent être désactivé lors de la compilation afin de réduire le poids binaire dans les versions personnalisées. Voir Optimiser une compilation pour sa taille pour plus de détails.

  • Moteur et éditeur écrit en C++17.

    • Peut être compilé en utilisant GCC, Clang and MSVC. MinGW est également pris en charge.

    • Respectueux des packagers. Dans la plupart des cas, les bibliothèques système peuvent être utilisées à la place de celles fournies par Godot. Le système de compilation ne télécharge rien. Les compilations peuvent être entièrement reproductibles.

  • Licencié sous la licence permissive MIT.

Voir aussi

Le dépôt de propositions Godot liste les fonctionnalités qui ont été demandées par la communauté et qui pourraient être implémentées dans les futures versions de Godot.