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

Ejecutando proyectos exportados:

  • Android 4.4 y posterior.
  • iOS 10.0 y posteriores.
  • HTML5 vía WebAssembly (Firefox, Chrome, Edge, Opera).
  • Consolas.

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

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 (solo con la física Bullet o Bala).
  • 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.
  • Support for re-routable audio buses and effects with dozens of effects included.

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

  • Entrada de audio para grabar micrófonos.

  • Entrada MIDI.

    • No hay soporte para salida MIDI todavía.

APIs usadas:

  • Windows: WASAPI.
  • macOS: CoreAudio.
  • Linux: PulseAudio o ALSA.

Importación

Formatos:

  • Images: See Importando imágenes.

  • Audio:

    • WAV con compresión opcional IMA-ADPCM.
    • Ogg Vorbis.
  • 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

  • Input mapping system using hardcoded input events or remappable input actions.

    • Axis values can be mapped to two different actions with a configurable deadzone.
    • Use the same code to support both keyboards and gamepads.
  • Entradas del teclado.

    • Keys can be mapped in "physical" mode to be independent of the keyboard layout.
  • Entradas del ratón.

    • The mouse cursor can be visible, hidden, captured or confined within the window.
    • When captured, raw input will be used on Windows and Linux to sidestep the OS' mouse acceleration settings.
  • Gamepad input (up to 8 simulatenous controllers).

  • Pen/tablet input with pressure support.

Redes

  • Low-level TCP networking using StreamPeer and TCP_Server.

  • Low-level UDP networking using PacketPeer and UDPServer.

  • Low-level HTTP requests using HTTPClient.

  • High-level HTTP requests using HTTPRequest.

    • Supports HTTPS out of the box using bundled certificates.
  • API multijugador de alto nivel usando UDP y ENet.

    • Automatic replication using remote procedure calls (RPCs).
    • Supports unreliable, reliable and ordered transfers.
  • WebSocket client and server, available on all platforms.

  • WebRTC client and server, available on all platforms.

  • Support for UPnP to sidestep the requirement to forward ports when hosting a server behind a NAT.

Iternacionalización

  • Full support for Unicode including emoji.
  • Store localization strings using CSV or gettext.
  • Use localized strings in your project automatically in GUI elements or by using the tr() function.
  • Support for right-to-left typesetting and text shaping planned in Godot 4.0.

Windowing and OS integration

  • Move, resize, minimize, and maximize the window spawned by the project.

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

  • Request attention (will cause the title bar to blink on most platforms).

  • Modo de pantalla completa.

    • Doesn't use exclusive fullscreen, so the screen resolution can't be changed this way. Use a Viewport with a different resolution instead.
  • Borderless window (fullscreen or non-fullscreen).

  • Ability to keep the window always on top.

  • Transparent window with per-pixel transparency.

  • Global menu integration on macOS.

  • Execute commands in a blocking or non-blocking manner.

  • Open file paths and URLs using default or custom protocol handlers (if registered on the system).

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

Móvil

  • In-app purchases on Android and iOS.
  • Support for advertisements using third-party modules.

XR support (AR and VR)

  • Support for ARKit on iOS out of the box.
  • Support for the OpenXR and OpenVR APIs.
  • Popular VR headsets like the Oculus Quest and HTC Vive are supported thanks to plugins.

GUI system

Godot's GUI is built using the same Control nodes used to make games in Godot. The editor UI can easily be extended in many ways using add-ons.

Nodos:

  • Botones.
  • Checkboxes, check buttons, radio buttons.
  • Text entry using LineEdit (single line) and TextEdit (multiple lines).
  • Dropdown menus using PopupMenu and OptionButton.
  • Barras de desplazamiento.
  • Etiquetas.
  • RichTextLabel for text formatted using BBCode.
  • Trees (can also be used to represent tables).
  • Containers (horizontal, vertical, grid, center, margin, draggable splitter, ...).
  • Controls can be rotated and scaled.

Sizing:

  • Anchors to keep GUI elements in a specific corner, edge or centered.

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

  • Scale to multiple resolutions using the 2d or viewport stretch modes.

  • Support any aspect ratio using anchors and the expand stretch aspect.

Theming:

  • Editor de temas integrado.

    • Generate a theme based on the current editor theme settings.
  • Procedural vector-based theming using StyleBoxFlat.

    • Supports rounded/beveled corners, drop shadows and per-border widths.
  • Texture-based theming using StyleBoxTexture.

Godot's small distribution size can make it a suitable alternative to frameworks like Electron or Qt.

Animación

  • Direct kinematics and inverse kinematics.
  • Support for animating any property with customizable interpolation.
  • Support for calling methods in animation tracks.
  • Support for playing sounds in animation tracks.
  • Support for Bézier curves in animation.

Formats

  • Scenes and resources can be saved in text-based or binary formats.

    • Text-based formats are human-readable and more friendly to version control.
    • Binary formats are faster to save/load for large scenes/resources.
  • Read and write text or binary files using File.

    • Can optionally be compressed or encrypted.
  • Read and write JSON files.

  • Read and write INI-style configuration files using ConfigFile.

    • Can (de)serialize any Godot datatype, including Vector, Color, ...
  • Read XML files using XMLParser.

  • Pack game data into a PCK file (custom format optimized for fast seeking), into a ZIP archive, or directly into the executable for single-file distribution.

  • Export additional PCK files that can be read by the engine to support mods and DLCs.

Misceláneas

  • Low-level access to servers which allows bypassing the scene tree's overhead when needed.

  • Command line interface for automation.

    • Export and deploy projects using continuous integration platforms.
    • Completado de scripts está disponible para Bash, zsh y fish.
  • Support for C++ modules statically linked into the engine binary.

  • Engine and editor written in C++03.

    • Can be compiled using GCC, Clang and MSVC. MinGW is also supported.
    • Friendly towards packagers. In most cases, system libraries can be used instead of the ones provided by Godot. The build system doesn't download anything. Builds can be fully reproducible.
    • Godot 4.0 will be written in C++17.
  • Licensed under the permissive MIT license.

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.