Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Lista de características

Esta pagina tiene como objetivo listar todas las características actualmente soportadas por Godot.

Nota

Esta página lista todas las características soportadas por la versión estable actual de Godot. Algunas de esas características no están disponibles en las versiones LTS (3.x).

Plataformas

Ver también

See System requirements for hardware and software version requirements.

Puede correr, tanto el editor como los proyectos exportados:

  • Windows (x86, 64-bit and 32-bit).

  • macOS (x86 and ARM, 64-bit only).

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

    • Los binarios están vinculados estáticamente y pueden ejecutarse en cualquier distribución si se compilan en una distribución base lo suficientemente antigua.

    • Official binaries are compiled using the Godot Engine buildroot, allowing for binaries that work across common Linux distributions (including LTS variants).

  • Android (editor support is experimental).

  • Navegadores web. Experimental en 4.0, se recomienda utilizar Godot 3.x cuando se utilice HTML5.

Ejecutando proyectos exportados:

Godot pretende ser independiente de plataformas lo más posible y a la vez permitir migrar a nuevas plataformas con relativa facilidad.

Nota

Actualmente los proyectos de Godot 4 escritos con C# no pueden ser exportados a plataformas web. Si desea utilizar C# para exportar a esta plataformas, considere utilizar Godot 3. Actualmente el soporte de las plataformas Android y iOS esta disponible a partir de Godot 4.2, pero es experimental y se aplican algunas limitaciones.

Editor

Características:

  • Editor del Árbol de Escenas.

  • Editor de scripts integrado.

  • Soporte para :ref:`editores externos de código <doc_external_editor_>`tal como Visual Studio Code o Vim.

  • GDScript depurador.

    • Support for debugging in threads is available since 4.2.

  • Generador de perfiles visual con indicaciones de tiempo de CPU y GPU para cada paso del proceso de renderizado.

  • Herramientas de supervisión del rendimiento, incluyendo monitores de rendimiento personalizados.

  • Recarga de script en vivo.

  • Edición de escenas en vivo.

    • Los cambios se reflejarán en el editor y se mantendrán después de haber cerrado el proyecto en curso.

  • Inspector remoto.

    • Los cambios no se reflejarán en el editor y no se mantendrán después de cerrar el proyecto en ejecución.

  • Réplica de la cámara en vivo.

    • Mueve la cámara en el editor y mira el resultado en el proyecto ejecutándose.

  • Documentación de referencia de clase fuera de línea incorporada.

  • Usa el editor en docenas de lenguajes contribuidos por la comunidad.

Plugins:

  • Los plugins del editor se pueden descargar de la librería de assets para extender la funcionalidad del editor.

  • :ref:` Crea tus propios plugins <doc_making_plugins>` usando GDScript para añadir nuevas características o acelerar tu flujo de trabajo.

  • Descarga proyectos desde la biblioteca de recursos en el Administrador de Proyectos e impórtalos directamente.

Renderización

Hay disponibles 3 métodos de renderizado (que funcionan sobre 2 drivers de renderizado):

  • Forward+, que funciona sobre Vulkan 1.0 (con funciones opcionales de Vulkan 1.1 y 1.2). El backend gráfico más avanzado, adecuado únicamente para plataformas de escritorio. Es utilizado por defecto en plataformas de escritorio.

  • Forward Mobile, que funciona sobre Vulkan 1.0 (con características opcionales de Vulkan 1.1 y 1.2). Menos características, pero renderiza escenas sencillas más rápido. Adecuado para plataformas móviles y de escritorio. Es utilizado por defecto en plataformas móviles.

  • Compatibilidad, funciona sobre OpenGL 3.3 / OpenGL ES 3.0 / WebGL 2.0. El backend gráfico menos avanzado, adecuado para plataformas móviles y de escritorio de gama baja. Es utilizado por defecto en plataformas webs.

Gráficos 2D

  • Renderización de sprites, polígonos y líneas.

    • Herramientas de alto nivel para dibujar líneas y polígonos tales como Polygon2D y Line2D, con soporte para texturas.

  • AnimatedSprite2D como ayudante para crear sprites animados.

  • Capas de parallax.

    • Compatibilidad con pseudo-3D, incluida la vista previa en el editor.

  • Iluminación 2D con mapas de normales y mapas especulares.

    • Luces 2D puntuales (omnidireccional, lámpara) y direccionales.

    • Sombras duras o difusas (ajustable por luz).

    • Los shaders personalizados pueden acceder en tiempo real a una representación SDF de la escena 2D basada en nodos LightOccluder2D, que puede utilizarse para mejorar los efectos de iluminación 2D, incluida la iluminación global 2D.

  • Renderizado de fuentes utilizando mapas de bits, rasterización usando FreeType o campos de distancia con signo multicanal (MSDF).

    • Las fuentes Bitmap pueden ser exportadas usando herramientas como BMFont o importadas desde imágenes (para fuentes de ancho fijo solamente).

    • DynamicFont soporta fuentes monocromáticas así como fuentes con color (ej. para emoji). Los formatos soportados son TTF, OTF, WOFF1 y WOFF2.

    • DynamicFont soporta contornos de fuentes opcionales con ancho y color ajustables.

    • Las fuentes dinámicas admiten fuentes variables y características OpenType, incluyendo ligaduras.

    • Las fuentes dinámicas admiten negrita y cursiva simuladas cuando el archivo de la fuente carece de esos estilos.

    • Las fuentes dinámicas soportan sobremuestreo para mantener fuentes nítidas en resoluciones más altas.

    • Las fuentes dinámicas soportan de posicionamiento de subpíxeles para que las fuentes sean más nítidas en tamaños bajos.

    • Las fuentes dinámicas soportan optimizaciones de subpíxeles de LCD para que las fuentes sean aún más nítidas en tamaños bajos.

    • Las fuentes signed distance field se pueden escalar a cualquier resolución sin volver a rasterizarlas. Utilizar múltiples canales hace que las fuentes SDF escalen mejor a tamaños más pequeños en comparación con las fuentes SDF monocromáticas.

  • Partículas basadas en GPU con soporte shaders de partículas personalizados.

  • Partículas basadas en la CPU.

  • Rendering 2D HDR opcional para mejores prestaciones de brillo.

Herramientas 2D

  • TileMaps para el diseño de niveles basados en mosaicos 2D.

  • Cámara 2D con suavizado integrado y márgenes de arrastre.

  • Nodo Path2D para representar una ruta en el espacio 2D.

    • Pueden ser dibujados en el editor o generados de forma procedural.

    • Nodo PathFollow2D para hacer que los nodos sigan un Path2D.

  • Clase ayudante para geometría 2D.

Físicas 2D

Cuerpos físicos:

  • Cuerpos estáticos.

  • Cuerpos animables (para objetos que sólo se mueven por script o animación, como puertas y plataformas).

  • Cuerpos rígidos.

  • Cuerpos para personajes.

  • Articulaciones.

  • Zonas para detectar cuerpos que entran o salen de él.

Detección de colisiones:

  • Figuras integradas: línea, caja, círculo, cápsula, límites de mundo (plano infinito).

  • Polígonos de colisión (se pueden dibujar manualmente o generar desde un objeto en el editor).

Gráficos 3D

  • Renderizando HDR con sRGB.

  • Cámaras de perspectiva, ortográficas y offset troncocónicas.

  • Cuando se utiliza el backend Forward+, se utiliza un paso previo de profundidad para mejorar el rendimiento en las escenas complejas reduciendo el coste del sobredibujo.

  • Variable rate shading en las GPU compatibles con Forward+ y Forward Mobile.

** Renderización basada en física (características de materiales embebidas): **

  • Sigue el modelo Disney PBR.

  • Soporta los modos de shading difuso Barley, Lambert, Lambert Wrap (medio Lambert) y Toon.

  • Soporta los modos de shading especular Schlick-GGX, Toon y deshabilitado.

  • Utiliza un flujo de trabajo de rugosidad metálica con soporte para texturas ORM.

  • Utiliza la oclusión especular del horizonte (modelo Filament) para mejorar la apariencia del material.

  • Mapeo de normales.

  • Mapeo de paralaje/relieve con nivel automático de detalle basado en la distancia.

  • Mapeo detallado para los mapas de albedo y normales.

  • Transmitancia y dispersión subsuperficial.

  • Refracción en espacio de pantalla con soporte para la rugosidad del material (lo que resulta en una refracción borrosa).

  • Desvanecimiento por proximidad (partículas suaves) y por distancia.

  • Desvanecimiento por distancia puede usar mezcla alfa o difuminado para evitar pasar por el pipeline de transparencia.

  • El difuminado se puede determinar por píxel o por objeto.

Iluminación en tiempo real:

  • Luces direccionales (sol / luna). Hasta 4 por escena.

  • Luces omnidireccionales.

  • Focos con ángulo de cono ajustable y atenuación.

  • Las energías de efecto especular, luz indirecta y niebla volumétrica se puede ajustar por cada luz.

  • "Tamaño" de luz ajustable para luces de área falsas (también difumina las sombras).

  • Sistema opcional de atenuación a distancia para atenuar las luces distantes y sus sombras, mejorando el rendimiento.

  • Cuando se utiliza el backend Forward+ (por defecto en escritorio), las luces se renderizan con optimizaciones forward agrupadas para disminuir su coste individual. El renderizado agrupado también elimina los límites en el número de luces que se pueden utilizar en una malla.

  • Cuando se utiliza el backend de Forward Mobile, se pueden mostrar hasta 8 luces omnidireccionales y 8 luces puntuales por recurso de malla. Si es necesario, se puede utilizar iluminación bakeada para superar este límite.

Mapeo de sombras:

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

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

  • SpotLight: Textura única. Soporta texturas de proyector con color.

  • "Shadow normal offset bias" y "shadow pancaking" para disminuir la cantidad de acné de sombras visible y el peter-panning.

  • Difuminado de sombras similar a PCSS basado en el tamaño y distancia de la luz a la superficie donde se proyecta la sombra.

  • Difuminado de sombra ajustable por cada luz.

** Iluminación global con iluminación indirecta: **

  • Lightmaps precalculados (baked) (rápidos pero no se pueden actualizar en tiempo de ejecución).

    • Admite el baking de iluminación indirecta unicamente o el baking de iluminación directa e indirecta. El modo de baking puede ajustarse por nivel de luz para permitir configuraciones híbridas de baking ligero.

    • Soporta objetos con iluminación dinámica dinámicos usando sondas manuales y automáticas.

    • Soporte opcional de iluminación direccional y reflejos duros basados en harmónicas esféricas.

    • Los lightmaps se crean en la GPU usando compute shaders (mucho más rápido comparado con el lightmapping en CPU). El baking sólo puede realizarse desde el editor, no en proyectos exportados.

    • Soporte de reducción de ruido basado en GPU con JNLM, o reducción de ruido basado en CPU/GPU con OIDN.

  • Sondas GI basadas en Voxel. Soporta luces y obstructores dinámicos junto con soporte de reflejos. Requiere un paso rápido de bakeo que se puede ejecutar en el editor o en tiempo de ejecución (incluyendo en un proyecto exportado).

  • Signed-distance field GI designado para mundos abiertos grandes. Soporta luces dinámicas pero no soporta obstructores ditnamicos, Soporta reflejos. No requiere bakeo.

  • :ref:`Screen-space indirect lighting (SSIL) <doc_environment_and_post_processing_ssil>`a media resolución o completa. Completamente en tiempo real y soporta cualquier tipo de origen de luz emisiva (incluyendo decals).

  • VoxelGI y SDFGI utiliza un paso diferido para permitir que se pueda renderizar la GI a media resolución para mejorar el rendimiento (mientras se mantiene soporte funcional a MSAA).

Reflexiones:

  • Reflejos basados en voxel (cuando se utilizan sondas GI) y reflejos basados en SDF (cuando se utiliza signed distance field GI). Reflejos basados en voxel son visibles en superficies transparentes y reflejos duros basados en SDF también.

  • Reflexiones rápidas precalculadas o reflexiones lentas en tiempo real usando ReflectionProbe. Opcionalmente, se puede habilitar la corrección de paralaje.

  • Reflejos en espacio de pantalla con soporte de rugosidad de material.

  • Las técnicas de reflexión pueden mezclarse para obtener mayor precisión o escalabilidad.

  • Cuando se utiliza el backend Forward+ (por defecto en escritorio), las sondas de reflejos son renderizadas con optimizaciones clustered forward para disminuir su costo individual. El rendering clustered también aumenta el límite en el número de sondas de reflejo que se puede utilizar en una malla.

  • Cuando se utiliza el backend Forward Mobile, se pueden mostrar hasta 8 sondas de reflejo por cada malla.

Decals:

  • Soporta albedo, emissivo, ORM, y mapa de normales.

  • Canales de textura son suavemente superpuestos sobre el material subyacente, con soporte de decals solo de normal/ORM.

  • Soporte para difuminado normal para difuminar decals dependiendo del ángulo de incidencia.

  • No depende en generación de mallas en tiempo de ejecución. Esto quiere decir que los decals pueden usarse en skinned meshes complejas sin penalización de performance, aún cuando el decal se mueva en cada frame.

  • Soporte de filtro más cercano, bilineal, trilineal o anisotrópico (configurado globalmente).

  • Sistema opcional de atenuación a distancia para atenuar las luces distantes y sus sombras, mejorando el rendimiento.

  • Cuando se utiliza el backend Forward+ (por defecto en escritorio), los decals son renderizados con optimizaciones clustered forward para reducir so costo individual. El rendering clustered también aumenta el límide de la cantidad de decals que se pueden utilizar en una malla.

  • Cuando se utiliza el backend Forward Mobile, se pueden mostrar hasta 8 decals por malla.

Cielo:

  • Cielo panorámico (usando un HDRI).

  • Cielo procedural y basado en física que puede responder a las luces direccionales en la escena.

  • Soporte para shaders personalizados para el cielo, que pueden ser animados.

  • El mapa de brillo usado para luz ambiental y especular puede ser actualizado en tiempo real dependiendo de los ajuste de calidad seleccionados.

Niebla:

  • Niebla de profundidad exponencial.

  • Niebla de altura exponencial.

  • Soporte para coloreado automático de niebla, dependiente del color del cielo (perspectiva aérea).

  • Soporte de dispersión de sol en la niebla.

  • Soporte para controlar cuánto renderizado de niebla debería afectar el cielo, con controles separados para niebla tradicional y volumétrica.

  • Soporte para que materiales específicos ignoren la niebla.

Niebla volumétrica

  • :ref:`Niebla volumétrica <doc_volumetric_fog>`global que reacciona a luces y sombras.

  • Niebla volumétrica que toma en cuenta la luz indirecta cuando se utiliza VoxelGI o SDFGI.

  • Nodos de niebla volumétrica que pueden ser ubicados para agregar niebla en áreas específicas (o remover niebla de áreas particulares). Las formas soportadas incluyen caja, elipse, cono, cilindro y mapas de densidad basados en texturas 3D.

  • Cada volumen de niebla puede tener su propio shader personalizado.

  • Puede ser utilizado con niebla tradicional.

Partículas:

  • Partículas con soporte para sub-emisores (2D + 3D), rastros (2D + 3D), atractores (sólo 3D) y colisiones (2D + 3D).

    • Formas soportadas por atractores de parículas 3D: caja, esfera y campos vectoriales 3D.

    • Formas de colisión de partículas 3D soportadas: caja, esfera, baked signed distance field y mapa de altura en tiempo real (ideal para mundo abierto con efectos de clima).

    • Colisiones de partículas 2D utilizando signed distance field generado en tiempo real basado en nodos LightOccluder2D de la escena.

    • Los rastros pueden usar cintas integradas y mallas de cintas tubo o mallas personalizadas con esqueletos.

    • Soporte para shaders de partículas personalizados con emisión manual.

  • Partículas basadas en la CPU.

Postprocesamiento:

  • Mapeo de tonos (Linear, Reinhard, Filmic, ACES).

  • Ajustes de exposición automáticos basados en el brillo del viewport (y sobreescritura manual de exposición).

  • Campos de profundidad cercana y lejana con simulación bokeh ajustable (cajas, hexágonos, círculos).

  • Oclusión ambiental del espacio en pantalla (SSAO) a resolución media o completa.

  • Brillo/irradiación con escalado bicúbico opcional y varios modos de combinación disponibles: Pantalla, Luz suave, Agregar, Reemplazar, Mezclar.

  • El brillo puede tener una textura de mapa de suciedad coloreada, actuando como lentte de efecto de suciedad.

  • El brillo puede ser usado como un efecto de difuminado en espacio de pantalla.

  • Corrección de color mediante rampa unidimensional o una textura LUT 3D.

  • Limitador de rugosidad para reducir el efecto del suavizado especular.

  • Ajustes de brillo, contraste y saturación.

Filtrado de texturas:

  • Filtrado más cercano, bilineal, trilineal o anisotrópico.

  • Las opciones de filtrado están definidas por uso, no por textura.

Compresión de textura:

  • Basis Universal (lento pero resulta en pequeños archivos).

  • BPTC para compresión de alta calidad (no compatible con macOS).

  • ETC2 (no soportado en macOS).

  • S3TC (no soportado en platafirnas móviles/Web).

Antialiasing:

  • Suavizado temporal (TAA).

  • Suavizado AMD FidelityFX Super Resolution 2.2 (FSR2) que puede ser usado en resolución nativa como una forma de conseguir un suavizado temporal de alta calidad.

  • Suavizado de muestras múltiples (MSAA), para ambos ver 2D antialiasing y 3D antialiasing.

  • Antialiasing aproximado rápido (FXAA).

  • Suavizado de super muestreo (SSAA) utilizando escalado 3D bilinear y una resolución de escala por sobre 1.0.

  • Suavizado alfa, MSAA alfa a covertura y alfa hashing por material.

Escalado de resolución:

  • Soporte para renderizado 3D a baja resolución mientras se mantiene la resolución 2D a la escala original. Esto puede ser usado para mejorar el rendimiento en sistemas de gama baja o para mejorar visualmente en sistemas de gama alta.

  • El escalado de resolución utiliza filtrado bilineal, AMD FidelityFX Super Resolution 1.0 (FSR1) o AMD FidelityFX Super Resolution 2.2 (FSR2).

  • Mipmap LOD bias de texturas es ajustado automáticamente para mejorar la calidad a bajas escalas de resolución. Puede ser modificado con un desplazamiento manual.

La mayoría los efectos mostrados previamente se pueden ajustar para un mejor rendimiento o para mejorar aún más la calidad. Esto puede ser útil cuando se utiliza Godot para prerenderizado.

Herramientas 3D

  • Mallas integradas: cubo, cilindro/cono, (semi)esfera, prisma, plano, quad, toro, cinta, tubo.

  • GridMaps para diseño de niveles 3D basado en tiles.

  • : ref:Geometría sólida constructiva <doc_csg_tools> (destinado a la creación de prototipos).

  • Herramientas para generación de geometría procedural.

  • Nodo Path3D para representar una ruta en el espacio 3D.

    • Pueden ser dibujados en el editor o generados de forma procedural.

    • Nodo PathFollow3D para hacer que los nodos sigan un Path3D.

  • Clase auxiliar de geometría 3D.

  • Soporte para exportar la escena actual como un archivo glTF 2.0, tanto desde el editor como en tiempo de ejecución desde un proyecto exportado.

Física 3D

Cuerpos físicos:

  • Cuerpos estáticos.

  • Cuerpos animables (para objetos que sólo se mueven por script o animación, como puertas y plataformas).

  • Cuerpos rígidos.

  • Cuerpos para personajes.

  • Carrocerías de vehículos (destinadas a la física arcade, no a la simulación).

  • Articulaciones.

  • Cuerpos blandos.

  • Ragdolls (Muñeca de trapo).

  • Zonas para detectar cuerpos que entran o salen de él.

Detección de colisiones:

  • Formas integradas: cuboide, esfera, cápsula, cilindro, límite de mundo (plano infinito).

  • Genere formas de colisión triangular para cualquier malla desde el editor.

  • Genere una o varias formas de colisión convexas para cualquier malla desde el editor.

Shaders

  • *2D: * Vértices personalizados, fragmentos y shaders de luz.

  • 3D: shaders personalizados de vértice, fragmento, luz y cielo.

  • shaders basados en texto que usan un lenguaje de los shaders inspirado en GLSL.

  • Editor visual de shaders.

    • Soporte para plugins de visual shader.

Scripting

General:

  • Patrón de diseño orientado a objetos con scripts que extienden los nodos.

  • Señales y grupos para la comunicación entre scripts.

  • Soporte para scripting en varios idiomas.

  • Muchos tipos de datos de álgebra lineal 2D, 3D y 4D, como vectores y transformaciones.

GDScript:

  • Lenguaje interpretado de alto nivel con :ref: tipado estático opcional <doc_gdscript_static_typing>.

  • Sintaxis inspirada en Python. Aunque GDScript no está basado en Python.

  • El resaltado de sintaxis se proporciona en GitHub.

  • Use hilos para realizar acciones asincrónicas o hacer uso de múltiples núcleos de procesador.

C #:

  • Empaquetado en un binario separado para mantener bajos los tamaños de archivo y las dependencias.

  • Soporte de .NET 6 y superior.

    • Soporte completo para la sintaxis y características de C# 10.0.

  • Soporte de Windows, Linux y macOS. Desde 4.2 también hay soporte experimental para iOS y Android (requiere un proyecto .NET 7.0 para Android y 8.0 para iOS).

    • En la plataforma Android sólo algunas arquitecturas están soportadas: arm64 y x64.

    • En la plataforma iOS sólo algunas arquitecturas están soportadas arm64.

    • La plataforma web actualmente no está soportada. Para utilizar C# en esta plataforma, considera utilizar Godot 3 en su lugar.

  • Se recomienda utilizar un editor externo para beneficiarse de la funcionalidad IDE.

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

  • Cuando lo necesite, enlace a bibliotecas nativas para un mayor rendimiento e integraciones de terceros.

    • Para la lógica del juego de secuencias de comandos, se recomiendan GDScript o C # si su rendimiento es adecuado.

  • Bindings official de GDExtension para C y C++.

    • Utilice cualquier sistema de compilación y funciones de idioma que desee.

  • Bindings de GDExtension desarrollados activamente por la comunidad para D, Haxe, Swift, y Rust. (Algunos de esos bindings pueden ser experimentales y no estar listos para producción).

Audio

Características:

  • Salida mono, estéreo, 5.1 y 7.1.

  • Reproducción posicional y no posicional en 2D y 3D.

    • Effecto doppler 2D y 3D opcional.

  • Soporte para redireccionamiento audio buses y efectos con docenas de efectos incluidos.

  • Soporte para polifonía (reproducir varios sonidos desde un único nodo AudioStreamPlayer).

  • Soporte volumen y tono aleatorio.

  • Soporte de escalado de tono en tiempo real.

  • Soporte de selección por muestra secuencial/azar, incluyendo prevención de repetición cuando se utiliza una selección por muestra al azar.

  • Nodos Listener2D y Listener3D para escuchar desde una posición diferente a la cámara.

  • Soporte de generación de audio procedural.

  • Entrada de audio para grabar micrófonos.

  • Entrada MIDI.

    • No hay soporte para salida MIDI todavía.

APIs usadas:

  • Windows: WASAPI (API de Windows para la Gestión de Audio).

  • macOS: CoreAudio.

  • Linux: PulseAudio o ALSA.

Importar

Formatos:

  • Imágenes: Ver Importando imágenes.

  • Audio:

    • WAV con compresión opcional IMA-ADPCM.

    • Ogg Vorbis.

    • MP3.

  • Escenas 3D: Ver Importando escenas 3D.

    • glTF 2.0 (recomendado).

    • .blend (mediante llamado transparente a la funcionalidad de exportación a glTF de Blender).

    • FBX (llamando transparentemente a FBX2glTF).

    • Collada (.dae).

    • Wavefront OBJ (solo escenas estáticas, se pueden cargar directamente como una malla o importado como escena 3D).

  • Soporta la carga de escenas glTF 2.0 en tiempo de ejecución, incluyendo desde un proyecto exportado.

  • Las mallas 3D usan Mikktspace para generar tangentes en la importación, lo que asegura la consistencia con otras aplicaciones 3D como Blender.

Entrada

  • Sistema de mapeo de entradas utilizando eventos de entrada hardcodeados o acciones de entrada remapeables.

    • Los valores del eje pueden ser asignados a dos acciones diferentes con una zona muerta configurable.

    • Usa el mismo código para soportar tanto los teclados como los gamepads.

  • Entradas del teclado.

    • Las teclas pueden ser mapeadas en modo "físico" para ser independientes de la disposición del teclado.

  • Entradas del ratón.

    • El cursor del ratón puede ser visible, oculto, capturado o confinado dentro de la ventana.

    • Cuando se capture, la entrada en bruto se utilizará en Windows y Linux para eludir la configuración de la aceleración del ratón del sistema operativo.

  • Entrada de gamepad (hasta 8 controladores simultáneos).

  • Entrada de lápiz/tableta con soporte de presión.

Redes

  • Redes TCP de bajo nivel utilizando StreamPeer y TCPServer.

  • Redes UDP de bajo nivel usando PacketPeer and UDPServer.

  • Solicitudes HTTP de bajo nivel usando HTTPClient.

  • Solicitudes HTTP de alto nivel mediante HTTPRequest.

    • Soporta HTTPS listo para ser usado utilizando los certificados empaquetados.

  • API multijugador de alto nivel usando UDP y ENet.

    • Replicación automática mediante llamadas a procedimiento remoto (RPC).

    • Admite transferencias ordenadas, confiables y no confiables.

  • Cliente y servidor WebSocket, disponible en todas las plataformas.

  • Cliente y servidor WebRTC, disponible en todas las plataformas.

  • Soporte de UPnP para eludir el requisito de reenviar puertos cuando se aloja un servidor detrás de una NAT.

Internacionalización

  • Soporte completo para Unicode, incluido emojis.

  • Almacena las strings de localización usando CSV o gettext.

    • Soporte para generación de archivos gettext POT y PO desde el editor.

  • Utiliza cadenas localizadas en su proyecto automáticamente en elementos GUI o utilizando la función tr().

  • Soporte de pluralización y contextos de traducción utilizando traducciones gettext.

  • Soporte de typesetting bidireccional, formateo de texto y formas localizadas OpenType.

  • Espejado automático de UI para escritura derecha a izquierda.

  • Soporte de pseudolocalización para probar proyectos amigables para i18n.

Integración de ventanas y sistemas operativos

  • Generar múltiple ventanas independientes dentro de un único proceso.

  • Mover, redimensionar, minimizar y maximizar ventanas generadas por el proyecto.

  • Cambia el título y el icono de la ventana.

  • Solicita atención (hará que la barra de título parpadee en la mayoría de las plataformas).

  • Modo de pantalla completa.

    • Utiliza pantalla completa sin bordes por defecto on Windows para rápido alt-tabbing, puede utilizarse pantalla completa exclusiva para reducir el retraso de entradas.

  • Ventanas sin bordes (a pantalla completa o no).

  • Capacidad de mantener la ventana siempre en primer plano.

  • Integración del menú global en el macOS.

  • Ejecutar los comandos de forma bloqueante o no bloqueante (incluyendo múltiples instancias del mismo proyecto).

  • Abrir rutas de archivos y URLs usando manejadores de protocolo predeterminados o personalizados (si están registrados en el sistema).

  • Analizar los argumentos de la línea de comandos personalizada.

  • Cualquier binario de Godot (editor o proyecto exportado) puede ser utilizado como servidor headless al iniciarlo con el argumento de línea de comandos --headless. Esto permite ejecutar el motor sin GPU o servidor de pantalla.

Móvil

  • Compras en aplicación en Android y iOS.

  • Soporte para anuncios utilizando módulos de terceros.

Soporte XR (AR y VR)

  • Soporte para OpenXR integrado.

    • Incluye soporte para dispositivos populares como Valve Index, WMR y Quest con Link.

  • Soporte para dispositivos basados en Android utilizando OpenXR a través de un plugin.

    • Incluye soporte para dispositivos independientes populares como Meta Quest 1/2/3 y Pro, Pico 4, Magic Leap 2 y Lynx R1.

  • Otros dispositivos soportados a través de una estructura de plugins XR.

  • Están disponibles varias herramientas avanzadas que implementan características requeridas por aplicaciones XR.

Sistema GUI

El GUI de Godot está construido usando los mismos nodos de control que se usan para hacer juegos en Godot. La interfaz de usuario del editor puede ser fácilmente ampliada de muchas maneras usando complementos.

Nodos:

  • Botones.

  • Casillas de cheque, botones de cheque, botones de selección.

  • Entrada de texto usando LineEdit (línea simple) y TextEdit (líneas múltiples). TextEdit también soporta características de edición de código como mostrar números de línea y resaltado de sintaxis.

  • Menús desplegables usando PopupMenu y OptionButton.

  • Barras de desplazamiento.

  • Etiquetas.

  • RichTextLabel para texto formateado usando BBCode con soporte para efectos animados personalizados.

  • Árboles (también pueden utilizarse para representar tablas).

  • Selector de color con modos RGB y HSV.

  • Los controles se pueden rotar y escalar.

Dimensionando:

  • Anclas para mantener los elementos de la interfaz gráfica de usuario en una esquina específica, en un borde o en el centro.

  • Contenedores para colocar elementos GUI automáticamente siguiendo ciertas reglas.

    • Diseños Stack.

    • Diseños Grid.

    • Disposiciones tipo flujo (similar a texto autoajustado).

    • Disposiciones de margen, centrado y and relación de aspecto.

    • Divisor arrastrable planos.

  • Escala a múltiples resoluciones usando los modos de estiramiento 2d o viewport.

  • Soporta cualquier relación de aspecto usando anclajes y el aspecto de estiramiento "expandir".

Temática:

  • Editor de temas integrado.

    • Generar un tema basado en la configuración actual del tema del editor.

  • Procedimiento basado en la temática vectorial usando StyleBoxFlat.

    • Soporta esquinas redondeadas/biseladas, sombras de caída, anchos por borde y antialiasing.

  • Temas basados en texturas usando StyleBoxTexture.

El pequeño tamaño de la distribución de Godot puede hacer que sea una alternativa adecuada a los marcos como Electrón o el Qt.

Animación

  • Cinemática directa y cinemática inversa.

  • Soporte para animar cualquier propiedad con interpolación personalizable.

  • Soporte a los métodos de llamada en las pistas de animación.

  • Soporte para reproducir sonidos en las pistas de animación.

  • Soporte para las curvas de Bézier en la animación.

Formato de archivo

  • Las escenas y los recursos pueden ser guardados en basado en texto o formatos binarios.

    • Los formatos basados en texto son legibles para los humanos y más amigables para el control de versiones.

    • Los formatos binarios son más rápidos de guardar/cargar para grandes escenas/recursos.

  • Leer y escribir archivos de texto o binarios usando FileAccess.

    • Opcionalmente puede ser comprimido o encriptado.

  • Lee y escribe clase_JSON archivos.

  • Lee y escribe archivos de configuración de estilo INI usando ConfigFile.

    • Puede (des)serializar cualquier tipo de datos Godot, incluyendo Vector2/3, Color, ...

  • Lee los archivos XML usando XMLParser.

  • Cargar y guardar imágenes, audio/video, fuentes y archivos ZIP en un proyecto exportado sin tener que pasar por el sistema de importación de Godot.

  • Empaqueta los datos del juego en un archivo PCK (formato personalizado optimizado para una búsqueda rápida), en un archivo ZIP o directamente en el ejecutable para su distribución en un solo archivo.

  • Exportar archivos PCK adicionales que pueden ser leídos por el motor para soportar mods y DLCs.

Misceláneas

  • Reproducción de video con soporte integrado de Ogg Theora.

  • Modo Creador de Película para guardar videos desde un proyecto en ejecución con sincronización de audio y paso de frame perfecto.

  • Acceso de bajo nivel a los servidores que permite evitar la sobrecarga del árbol de la escena cuando sea necesario.

  • La interfaz de la línea de comandos para automatización.

    • Exportar y desplegar proyectos utilizando plataformas de integración continua.

    • Scripts de completado está disponible para Bash, zsh y fish.

    • Imprimir texto coloreado en la salida estandard en todas las plataformas usando print_rich.

  • Soporte para modulos C++ enlazados estáticamente al binario del motor.

  • El motor y editor están escritos en C++17.

    • Puede ser compilado usando GCC, Clang y MSVC. MinGW también está soportado.

    • Amistoso con los empaquetadores. En la mayoría de los casos, las bibliotecas de sistema pueden ser utilizadas en lugar de las proporcionadas por Godot. El sistema de construcción no descarga nada. Las compilaciones pueden ser totalmente reproducibles.

  • Licenciado bajo la licencia permisiva del MIT.

Ver también

El repositorio de propuestas de Godot <https://github.com/godotengine/godot-proposals> __ enumera las características que han sido solicitadas por la comunidad y que pueden implementarse en futuras versiones de Godot.