Lista de características

Esta pagina tiene como objetivo, enumerar las características actuales compatibles con Godot.

Nota

This page lists features supported by the current stable version of Godot (3.5). More features are available in the latest development version (4.0).

Características

Plataformas

Puede correr, tanto el editor como los proyectos exportados:

  • Windows 7 y posteriores (64-bit y 32-bit).

  • macOS 10.12 y posteriores (64-bit, x86 y ARM).

  • Linux (64 y 32 bits, x86 y ARM).

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

    • Los binarios oficiales se compilan en Ubuntu 14.04.

  • HTML5 vía WebAssembly (Firefox, Chrome, Edge, Opera).

Ejecutando proyectos exportados:

Godot pretende ser la plataforma más independiente y que pueda migrar a otras plataformas con relativa facilidad.

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

    • Aún no se admite la depuración en subprocesos.

  • Herramientas de supervisión del rendimiento.

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

  • Built-in offline class reference documentation.

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

Plugins:

Gráficos 2D

Dos renderizadores disponibles :

  • Renderizador OpenGL ES 3.0 (usa OpenGL 3.3 en plataformas de escritorio).

    • Visuales de gama alta. Recomendadas en plataformas de escritorio.

  • Renderizador OpenGL ES 2.0 (usa OpenGL 2.1 en plataformas de escritorio).

    • Recomendado en plataformas web y de móviles.

Características:

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

    • Herramientas de gama alta para dibujar líneas y polígonos tales como Polygon2D y Line2D.

  • AnimatedSprite como ayuda para crear sprites animados.

  • Capas de parallax.

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

  • Iluminación 2D con mapas normales.

    • Sombras definidas o suaves.

  • Renderizado de fuentes usando mapas de bits (BitmapFont) o rasterización usando FreeType (DynamicFont).

    • Fuentes de Bitmap pueden ser exportadas usando herramientas como BMFont.

    • DynamicFont supports monochrome fonts as well as colored fonts (e.g. for emoji). Supported formats are TTF, OTF, WOFF1 and WOFF2.

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

    • Soporte para sobremuestreo de fuentes para mantener fuentes nítidas en resoluciones más altas.

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

  • Partículas basadas en la CPU.

Herramientas 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 proceduralmente.

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

  • Clase auxiliar de geometría 2D.

  • Nodo Line2D para dibujar líneas 2D texturizadas.

Física 2D

Cuerpos físicos:

  • Cuerpos estáticos.

  • Cuerpos rígidos.

  • Cuerpos cinemáticos.

  • Articulaciones.

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

Detección de colisiones:

  • Formas integradas: línea, caja, círculo, cápsula.

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

Gráficos 3D

Dos renderizadores disponibles :

  • Renderizador OpenGL ES 3.0 (usa OpenGL 3.3 en plataformas de escritorio).

    • Visuales de gama alta. Recomendadas en plataformas de escritorio.

    • Renderizado HDR opcional con sRGB (habilitado de forma predeterminada).

    • Utiliza un paso previo de profundidad opcional (habilitado de forma predeterminada) para reducir el costo de sobredibujado, lo que acelera la representación de escenas complejas.

  • Renderizador OpenGL ES 2.0 (usa OpenGL 2.1 en plataformas de escritorio).

    • Recomendado en plataformas web y de móviles.

    • Renderización LDR para una mayor compatibilidad.

    • No todas las funciones están disponibles. Las funciones disponibles solo cuando se usa el renderizador OpenGL ES 3.0 están marcadas con * GLES3 * a continuación.

Cámara:

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

Representación basada en la física (características de material integradas):

  • Sigue el modelo Disney PBR.

  • Admite los modos de sombreado difuso Lambert, Lambert Wrap (medio Lambert), Oren-Nayar y Toon.

  • Admite los modos de sombreado especular Schlick-GGX, Blinn, Phong, Toon y Disabled.

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

  • Uses horizon specular occlusion (Filament model) to improve material appearance

  • Mapeo de normales.

  • Detail mapping for the albedo and normal maps.

  • Desvanecimiento de distancia que puede usar mezcla alfa o difuminado para evitar pasar por la tubería transparente.

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

  • GLES3: Parallax/relief mapping with automatic level of detail based on distance.

  • GLES3: Sub-surface scattering and transmittance.

  • GLES3: Refraction with support for material roughness (resulting in blurry refraction). On GLES2, refraction is still functional but lacks support for material roughness.

  • GLES3: Proximity fade (soft particles).

Iluminación en tiempo real:

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

  • Luces omnidireccionales.

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

  • Specular energy can be adjusted on a per-light basis.

  • GLES3: Lighting is done with a single-pass forward approach. By default, up to 32 omni light and 32 spot lights can be displayed per mesh resource. If needed, this limit can be increased at the cost of increased shader compilation times and lower performance. GLES2 uses a multi-pass forward approach to lighting, which doesn't have a limit on the number of lights but is slower with many lights.

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.

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

  • Lightmaps horneados (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 dinámicos de iluminación usando un sistema automático basado en el árbol octal. No se requiere la colocación manual de la sonda.

    • Los mapas de luz se hornean en la CPU.

  • GLES3: GI probes (slower, semi-real-time). Supports reflections.

Reflexiones:

  • Fast baked reflections or slow real-time reflections using ReflectionProbe. Parallax box correction can optionally be enabled.

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

  • GLES3: Voxel-based reflections (when using GI probes).

  • GLES3: Screen-space reflections.

Cielo:

  • Cielo panorámico (usando un HDRI).

  • Cielo procedural.

Niebla:

  • Niebla de profundidad con curva de atenuación ajustable.

  • Altura de niebla (suelo o techo) con atenuación regulable.

  • Soporte para color de niebla de profundidad automático dependiendo de la dirección de la cámara (para que coincida con el color del sol).

  • Transmitancia opcional para hacer las luces más visibles en la niebla.

Partículas:

  • Partículas basadas en la CPU.

  • GLES3: GPU-based particles with support for custom particle shaders.

Postprocesamiento:

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

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

  • Corrección de color mediante rampa unidimensional.

  • Ajustes de brillo, contraste y saturación.

  • GLES3: Ajustes de exposición automáticos basados en el brillo de la ventana gráfica.

  • GLES3: Profundidad de campo cercana y lejana.

  • GLES3: Screen-space ambient occlusion (SSAO).

  • GLES3: "Debanding" opcional para evitar las bandas de color (efectivo cuando se activa el renderizado HDR).

Filtrado de texturas:

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

Compresión de textura:

  • WebP con o sin pérdida (no ahorra VRAM; sólo reduce el tamaño de almacenamiento).

  • S3TC (sólo compatible en plataformas de escritorio).

  • ETC1 (recomendado cuando se utiliza el renderizador GLES2).

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

  • GLES3: ETC2 (no compatible con macOS).

Antialiasing:

  • Antialiasing de múltiples muestras (MSAA).

  • Antialiasing aproximado rápido (FXAA).

Performance:

  • Occlusion culling con cuartos y portales. Es compatible con notificaciones de gameplay de visibilidad primaria y secundaria para deshabilitar la IA/cálculo físico para nodos que no los necesitan.

  • Real-time occluder shapes (sphere and polygon). Not as effective as rooms and portals (and doesn't support gameplay notifications), but easier to set up.

Nota

Most of the effects listed above can be adjusted for better performance or to further improve quality. This can be helpful when using Godot for offline rendering.

Herramientas 3D

  • Mallas integradas: cubo, cilindro / cono, (hemi) esfera, prisma, plano, quad.

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

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

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

    • Pueden ser dibujados en el editor o generados proceduralmente.

    • 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 desde el editor.

Física 3D

Cuerpos físicos:

  • Cuerpos estáticos.

  • Cuerpos rígidos.

  • Cuerpos cinemáticos.

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

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

Sombreadores

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

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

  • Sombreadores basados en texto que usan un lenguaje de sombreado 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 y 3D, como vectores y transformaciones.

GDScript:

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

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

  • Utiliza Mono 6.x.

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

  • Soporta todas las plataformas.

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

VisualScript:

GDNative (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.

  • Enlaces oficiales para C y C++.

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

  • Se mantuvieron los enlaces D, Kotlin, Python, Nim y Rust proporcionados por la comunidad.

Advertencia

Godot 4.0 will remove VisualScript from core entirely. As a result, creating new projects using visual scripting in Godot is not recommended. Future Godot 4.x releases may have VisualScript reimplemented as an extension.

While Godot 3.x will keep VisualScript supported, we recommend trying out GDScript instead, especially if you intend to migrate your project to Godot 4.

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.

  • Listener2D and Listener3D nodes to listen from a position different than the camera.

  • Entrada de audio para grabar micrófonos con acceso en tiempo real usando la clase AudioEffectCapture.

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

    • glTF 2.0 (recomendado).

    • ESCN (exportación directa de Blender).

    • FBX (experimental, static meshes only).

    • Collada (.dae).

    • Wavefront OBJ (solo escenas estáticas, se pueden cargar directamente como una mesh).

  • 3D meshes use Mikktspace to generate tangents on import, which ensures consistency with other 3D applications such as Blender.

Entrada

  • Sistema de asignaciones de entrada usando eventos de entrada codificados o acciones de entrada reasignables.

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

  • el soporte de entrada para mando, teclado y ratón se encuentra también disponible en Android.

Redes

  • Redes TCP de bajo nivel utilizando StreamPeer y TCP_Server.

  • Redes UDP de bajo nivel usando PacketPeer y 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 para UPnP para eludir el requisito de reenviar puertos cuando se aloja un servidor detrás de una NAT.

Iternacionalización

  • Soporte completo para Unicode, incluido emojis.

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

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

  • Soporte para composición tipográfica de derecha a izquierda y modelado de texto planificado en Godot 4.0.

Integración de ventanas y sistemas operativos

  • Mover, redimensionar, minimizar y maximizar la ventana generada 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.

    • No utiliza en exclusiva la pantalla completa, por lo que la resolución de la pantalla no se puede cambiar de esta manera. Usa un Viewport con una resolución diferente en su lugar.

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

  • Capacidad de mantener la ventana siempre en primer plano.

  • Ventana transparente con transparencia por píxel.

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

  • Ejecutar los comandos de forma bloqueante o no bloqueante.

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

  • Headless/server binaries can be downloaded for Linux and compiled for macOS. Any binary can be used without a window using the --no-window command line argument.

Móvil

  • Compras In-app en Android e iOS.

  • Soporte para anuncios utilizando módulos de terceros.

  • Soporte para la incrustación de subvistas en Android.

Soporte XR (AR y VR)

  • Soporte para ARKit en iOS listo para usar.

  • Soporte para las APIs de OpenXR.

    • Incluye soporte para auriculares populares como Meta Quest y Valve Index.

  • Soporte para las APIs de OpenVR.

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 (una sola línea) y TextEdit (múltiples líneas).

  • Menús desplegables usando PopupMenu y OptionButton.

  • Barras de desplazamiento.

  • Etiquetas.

  • RichTextLabel para texto formateado usando BBCode.

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

  • Color picker with RGB and HSV modes.

  • Containers (horizontal, vertical, grid, flow, center, margin, aspect ratio, draggable splitter, ...).

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

    • Margen y centrado planos.

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

    • Supports rounded/beveled corners, drop shadows, per-border widths and 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.

  • Tween node to easily perform procedural animations by code.

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

    • Opcionalmente puede ser comprimido o encriptado.

  • Lee y escribe clase_JSON archivos.

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

    • Can (de)serialize any Godot datatype, including Vector2/3, Color, ...

  • Lee los archivos XML usando XMLParser.

  • 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

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

  • Command line interface for automation.

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

    • Shell completion scripts are available for Bash, zsh and fish.

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

  • Motor y editor escrito en C++03.

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

    • Godot 4.0 será escrito en C++17.

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