Lista de características

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

Nota

Esta página enumera todas las características soportadas por la versión estable de Godot (3.4)`Más características <https://docs.godotengine.org/en/latest/about/list_of_features.html>`__ están disponibles en la última versión de desarrollo (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 depurador.

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

  • 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 proyecto e impórtalos directamente.

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 soporta fuentes monocromáticas así como fuentes de color (p. ej. para emoji). Los formatos soportados son TTF, OTF, WOFF1 y 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 de forma procedural.

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

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

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

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

  • Mapeo de normales.

  • Mapeo detallado para los mapas de albedo y normales.

  • 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: Refracción con soporte para la rugosidad del material (lo que resulta en una refracción borrosa). En GLES2, la refracción sigue siendo funcional pero carece de compatibilidad con la rugosidad del material.

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

  • La energía especular se puede ajustar en una base por luz.

  • GLES3: la iluminación se realiza con una única pasada. Por defecto se pueden mostrar hasta 32 ohmios y 32 puntos de luz por recurso de malla. Si es necesario, este límite se puede incrementar, al coste de mayores tiempos de compilación de sombras y un rendimiento menor. GLES2 realiza múltiples pasadas para la iluminación, lo que permite tener un número ilimitado de puntos de luz, pero más lento con muchas de ellas.

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:

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

  • 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: Oclusión ambiental del espacio en pantalla (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).

Rendimiento:

  • Occlusion culling con salas 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.

  • Formas ocluidas a tiempo real (esferas y polígonos). No tan efectivo como habitaciones y portales (tampoco soporta notificaciones en la jugabilidad), pero más sencillo de configurar.

Nota

La mayoría de estos efectos se pueden ajustar para un mejor rendimiento o para mejorar aún más la calidad. Esto puede ser útil cuando se usa Godot para Pre-Renderizado.

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 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 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 eliminará VisualScript de su núcleo por completo. Como resultado, no se recomienda la creación de proyectos con scripts visuales dentro de Godot. Lanzamientos futuros de Godot 4.x podrán tener VisualScript re-implementado como una extensión.

Aunque Godot 3.x mantendrá el soporte de VisualScript, recomendamos que pruebes GDScript en su lugar, especialmente si tienes intención de migrar tu proyecto a 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.

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

  • 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, solo para mallas estáticas).

    • Collada (.dae).

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

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

Internacionalizació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.

  • Los binarios Headless/servidor pueden descargarse para Linux y compilados para macOS. Cualquier binario puede utilizarse sin ventana utilizando el argumento de línea de comandos --no-window <doc_command_line_tutorial>`.

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

  • Selector de color con modos RGB y HSV.

  • Contenedores (horizontal, vertical, cuadrícula, centro, margen, relación de aspecto, divisor arrastrable, ...).

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

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

  • Tween nodo para realizar fácilmente animaciones de procedimiento por código.

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

    • Puede (des)serializar cualquier tipo de datos Godot, incluyendo 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.

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

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