Lista de características

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

Nota

Esta página enlista todas las características soportadas por la versión estable de Godot (3.3)`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.

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

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

  • Crea tus propios plugins usando GDScript para añador nuevas características para acelerar tu flujo de trabajo.

  • Descarga proyectos desde la librería de assets en el administrador del 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.

    • Soporte pseudo-3D al duplicar automáticamente una capa varias veces.

  • 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 coloridas. Los formatos soportados son TF y OTF.

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

    • Renderización HDR con sRGB.

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

  • Sigue el modelo Disney PBR.

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

  • Mapeo de normales.

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

  • GLES3: Sub-surface scattering and transmittance.

  • GLES3: Proximity fade (soft particles).

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

Iluminación en tiempo real:

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

  • Luces omnidireccionales.

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

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

    • Los mapas de luz se hornean en la CPU.

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

Reflexiones:

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

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

  • GLES3: Screen-space reflections.

  • Las técnicas de reflexión se pueden combinar para mayor precisión.

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:

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

  • Partículas basadas en la CPU.

Postprocesamiento:

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

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

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

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

Filtrado de texturas:

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

Compresión de textura:

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

  • GLES3: ETC2 (no compatible con macOS).

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

  • GLES3: S3TC (no compatible con plataformas móviles / web).

Antialiasing:

  • Antialiasing de múltiples muestras (MSAA).

  • Antialiasing aproximado rápido (FXAA).

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 renderizar sin conexión.

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.

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.

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

Shaders

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

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

  • Sombreadores basados en texto que utilizan un lenguaje de sombreado inspirado en GLSL <doc_shading_language>.

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

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.

  • Nodo Listener3D para escuchar desde una posición diferente a la cámara en 3D.

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

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

    • Collada (.dae).

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

Entrada

  • Sistema de mapeo de entrada que utiliza eventos de entrada codificados o acciones de entrada reprogramables.

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

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 OpenXR y OpenVR.

  • Los populares auriculares VR como el Oculus Quest y el HTC Vive son compatibles gracias a los plugins.

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

  • Contenedores (horizontal, vertical, cuadrícula, centro, margen, 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 y anchos por borde.

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

Formatos

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

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

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

    • Completado de scripts 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 "mapa de ruta" <https://github.com/godotengine/godot-roadmap>`__ repositorio de documentos tiene características que han sido acordadas y pueden ser implementadas en futuras versiones de Godot.