특징 리스트

이 페이지는 현재 Godot가 지원하는 모든 기능들을 나열하는 것에 목적을 두고 있습니다.

참고

이 페이지는 현재 안정화된 버전 Godot (3.3)이 지원하는 기능들을 나열하고 있으며, 최신 개발버전 (4.0)에서는 더 많은 기능들을 https://docs.godotengine.org/en/latest/about/list_of_features.html 제공할 것입니다.

기능

플랫폼

** 편집기와 내 보낸 프로젝트를 모두 실행할 수 있습니다. **

  • Windows 7 이상 (64비트 및 32비트).

  • macOS 10.12 이상 (64비트, x86 및 ARM).

  • Linux (64비트 및 32비트, x86 및 ARM).

    • 바이너리는 정적으로 연결되어 있어서 아주 오래된 기본 배포에서 컴파일 된 경우라도 모든 배포에서 실행할 수 있습니다.

    • 공식 바이너리는 Ubuntu 14.04에서 컴파일됩니다.

  • 웹 어셈블리(파이어폭스,크롬,엣지,오페라)를 통한 HTML5 .

내보낸 프로젝트 실행:

Godot는 가능한 한 플랫폼 독립적이고 비교적 쉽게 새로운 플랫폼으로 이식 할 수 있는 것을 목표로합니다.

편집기

기능들:

  • 씬 트리 편집기

  • 스크립트 편집기

  • Visual Studio Code나 Vim과 같은 외부 스크립트 편집기 지원.

  • GDScript 디버거.

    • 스레드 디버그는 아직 지원하지 않습니다.

  • 성능 측정 툴.

  • 실시간 스크립트 리로딩

  • 실시간 씬 편집

    • 변경사항들은 편집기에 반영되며 프로젝트 실행을 중지한 이후에도 유지됩니다.

  • 원격 인스펙터.

    • 변경사항들은 편집기에 반영되지 않으며 프로젝트 실행을 멈춘 이후에 유지되지 않습니다.

  • 실시간 카메라 복제

    • 편집기 내 카메라를 움직여 프로젝트 실행중에 결과를 볼 수 있습니다.

  • 커뮤니티 참여로 지원되는 수십 가지 언어로 편집기를 사용할 수 있습니다.

Plugins:

  • 편집기 기능 확장을 위한 플러그인들은 애셋 라이브러리 에서 다운로드받을 수 있습니다.

  • GDScript로 여러분만의 플러그인을 만들어 새로운 기능을 더하거나 워크플로를 더 빠르게 할 수 있습니다.

  • 프로젝트 매니저의 애셋 라이브러리에서 프로젝트를 다운로드받거나 직접 불러올 수 있습니다.

2D 그래픽

두 가지 렌더러가 사용 가능합니다:

  • OpenGL ES 3.0 렌더러 (데스크톱은 OpenGL 3.3을 사용합니다).
    • 하이엔드 비주얼. 데스크톱 플랫폼에 권장합니다.

  • OpenGL ES 2.0 렌더러 (데스크톱에서는 OpenGL 2.1을 사용합니다).
    • 모바일 또는 웹 플랫폼에 권장합니다.

기능들:

  • 스프라이트, 폴리곤 및 직선 렌더링.

    • Polygon2D나 Line2D 같이 직선이나 다각형을 그리기 위해 사용하는 고수준 도구들입니다.

  • 애니메이션 스프라이트 제작 도우미로 AnimatedSprite가 있습니다.

  • Parallax layers.

    • Pseudo-3D support by automatically duplicating a layer several times.

  • 2D lighting with normal maps.

    • Hard or soft shadows.

  • Font rendering using bitmaps (BitmapFont) or rasterization using FreeType (DynamicFont).

    • Bitmap fonts can be exported using tools like BMFont.

    • DynamicFont supports monochrome fonts as well as colored fonts. Supported formats are TTF and OTF.

    • DynamicFont supports optional font outlines with adjustable width and color.

    • Support for font oversampling to keep fonts sharp at higher resolutions.

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

  • CPU-based particles.

2D tools

  • 2D camera with built-in smoothing and drag margins.

  • Path2D node to represent a path in 2D space.

    • Can be drawn in the editor or generated procedurally.

    • PathFollow2D node to make nodes follow a Path2D.

  • 2D geometry helper class.

  • Line2D node to draw textured 2D lines.

2D physics

Physics bodies:

  • Static bodies.

  • Rigid bodies.

  • Kinematic bodies.

  • Joints.

  • Areas to detect bodies entering or leaving it.

Collision detection:

  • Built-in shapes: line, box, circle, capsule.

  • Collision polygons (can be drawn manually or generated from a sprite in the editor).

3D graphics

두 가지 렌더러가 사용 가능합니다:

  • OpenGL ES 3.0 렌더러 (데스크톱은 OpenGL 3.3을 사용합니다).
    • 하이엔드 비주얼. 데스크톱 플랫폼에 권장합니다.

    • HDR rendering with sRGB.

  • OpenGL ES 2.0 렌더러 (데스크톱에서는 OpenGL 2.1을 사용합니다).
    • 모바일 또는 웹 플랫폼에 권장합니다.

    • LDR rendering for greater compatibility.

    • Not all features are available. Features available only when using the OpenGL ES 3.0 renderer are marked GLES3 below.

Camera:

  • Perspective, orthographic and frustum-offset cameras.

Physically-based rendering:

  • Follows the Disney PBR model.

  • Uses a roughness-metallic workflow with support for ORM textures.

  • Normal mapping.

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

  • GLES3: Sub-surface scattering and transmittance.

  • GLES3: Proximity fade (soft particles).

  • Distance fade which can use alpha blending or dithering to avoid going through the transparent pipeline.

  • Dithering can be determined on a per-pixel or per-object basis.

Real-time lighting:

  • Directional lights (sun/moon). Up to 4 per scene.

  • Omnidirectional lights.

  • Spot lights with adjustable cone angle and attenuation.

Shadow mapping:

  • 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: Single texture.

Global illumination with indirect lighting:

  • Baked lightmaps (fast, but can't be updated at run-time).

    • Lightmaps are baked on the CPU.

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

Reflections:

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

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

  • GLES3: Screen-space reflections.

  • Reflection techniques can be mixed together for greater accuracy.

Sky:

  • Panorama sky (using an HDRI).

  • Procedural sky.

Fog:

  • Depth fog with an adjustable attenuation curve.

  • Height fog (floor or ceiling) with adjustable attenuation.

  • Support for automatic depth fog color depending on the camera direction (to match the sun color).

  • Optional transmittance to make lights more visible in the fog.

Particles:

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

  • CPU-based particles.

Post-processing:

  • Tonemapping (Linear, Reinhard, Filmic, ACES).

  • GLES3: Automatic exposure adjustments based on viewport brightness.

  • GLES3: Near and far depth of field.

  • GLES3: Screen-space ambient occlusion.

  • GLES3: Optional debanding to avoid color banding (effective when HDR rendering is enabled).

  • Glow/bloom with optional bicubic upscaling and several blend modes available: Screen, Soft Light, Add, Replace.

  • Color correction using an one-dimensional ramp.

  • Brightness, contrast and saturation adjustments.

Texture filtering:

  • Nearest, bilinear, trilinear or anisotropic filtering.

Texture compression:

  • GLES3: BPTC for high-quality compression (not supported on macOS).

  • GLES3: ETC2 (not supported on macOS).

  • ETC1 (recommended when using the GLES2 renderer).

  • GLES3: S3TC (not supported on mobile/Web platforms).

Anti-aliasing:

  • Multi-sample antialiasing (MSAA).

  • Fast approximate antialiasing (FXAA).

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

3D tools

  • Built-in meshes: cube, cylinder/cone, (hemi)sphere, prism, plane, quad.

  • Tools for procedural geometry generation.

  • Constructive solid geometry (intended for prototyping).

  • Path3D node to represent a path in 3D space.

    • Can be drawn in the editor or generated procedurally.

    • PathFollow3D node to make nodes follow a Path3D.

  • 3D geometry helper class.

3D physics

Physics bodies:

  • Static bodies.

  • Rigid bodies.

  • Kinematic bodies.

  • Vehicle bodies (intended for arcade physics, not simulation).

  • Joints.

  • Soft bodies.

  • Ragdolls.

  • Areas to detect bodies entering or leaving it.

Collision detection:

  • Built-in shapes: cuboid, sphere, capsule, cylinder.

  • Generate triangle collision shapes for any mesh from the editor.

  • Generate one or several convex collision shapes for any mesh from the editor.

Shaders

  • 2D: Custom vertex, fragment, and light shaders.

  • 3D: Custom vertex, fragment, light, and sky shaders.

  • Text-based shaders using a shader language inspired by GLSL <doc_shading_language>.

  • Visual shader editor.

    • Support for visual shader plugins.

스크립팅(Scripting)

General:

  • Object-oriented design pattern with scripts extending nodes.

  • Signals and groups for communicating between scripts.

  • Support for cross-language scripting.

  • Many 2D and 3D linear algebra data types such as vectors and transforms.

GDScript:

C#:

  • Packaged in a separate binary to keep file sizes and dependencies down.

  • Uses Mono 6.x.

    • Full support for the C# 7.0 syntax and features.

  • Supports all platforms.

  • Using an external editor is recommended to benefit from IDE functionality.

VisualScript:

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

  • When you need it, link to native libraries for higher performance and third-party integrations.

    • For scripting game logic, GDScript or C# are recommended if their performance is suitable.

  • Official bindings for C and C++.

    • Use any build system and language features you wish.

  • Maintained D, Kotlin, Python, Nim, and Rust bindings provided by the community.

오디오

기능들:

  • Mono, stereo, 5.1 and 7.1 output.

  • Non-positional and positional playback in 2D and 3D.

    • Optional Doppler effect in 2D and 3D.

  • Support for re-routable audio buses and effects with dozens of effects included.

  • Listener3D node to listen from a position different than the camera in 3D.

  • Audio input to record microphones with real-time access using the AudioEffectCapture class.

  • MIDI input.

    • No support for MIDI output yet.

APIs used:

  • Windows: WASAPI.

  • macOS: CoreAudio.

  • Linux: PulseAudio or ALSA.

가져오기

Formats:

  • Images: See 이미지 가져오기.

  • Audio:

    • WAV with optional IMA-ADPCM compression.

    • Ogg Vorbis.

    • MP3.

  • 3D scenes:

    • glTF 2.0 (recommended).

    • ESCN (direct export from Blender).

    • FBX (experimental).

    • Collada (.dae).

    • Wavefront OBJ (static scenes only, can be loaded directly as a mesh).

입력

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

  • Keyboard input.

    • Keys can be mapped in "physical" mode to be independent of the keyboard layout.

  • Mouse input.

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

  • Pen/tablet input with pressure support.

  • Gamepad, keyboard and mouse input support are also available on Android.

네트워킹(Networking)

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

  • High-level multiplayer API using UDP and 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.

현지화(Internationalization)

  • Full support for Unicode including emoji.

  • Store localization strings using CSV or gettext.

  • 여러분의 프로젝트의 현지화된 문자열들을 자동화된 GUI 요소로 사용하거나 tr() 함수로 사용할 수 있습니다.

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

  • Change the window title and icon.

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

  • Fullscreen mode.

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

  • Parse custom command line arguments.

Mobile

  • In-app purchases on Android and iOS.

  • Support for advertisements using third-party modules.

  • Support for subview embedding on Android.

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 시스템

Godot의 GUI는 Godot으로 게임을 만들 때 사용하는 것과 같은 동일한 컨트롤 노드를 이용하여 만들어졌습니다. 편집기 UI는 add-on을 사용하여 다양한 방법으로 확장하기 쉽습니다.

Nodes:

  • Buttons.

  • Checkboxes, check buttons, radio buttons.

  • Text entry using LineEdit (single line) and TextEdit (multiple lines).

  • Dropdown menus using PopupMenu and OptionButton.

  • Scrollbars.

  • Labels.

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

  • 앵커를 사용하여 GUI요소들을 특정 코너 또는 모서리, 중앙에 고정시킵니다.

  • 컨테이너를 추가하여 규칙에 따라 UI 요소들을 자동으로 놓기

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

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

Theming:

  • Built-in theme editor.

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

애니메이션

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

기타(Miscellaneous)

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

  • Command line interface for automation.

  • 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은 C++17로 작성될 것 입니다.

  • 라이선스는 MIT 라이선스입니다.

더 보기

The roadmap repository documents features that have been agreed upon and may be implemented in future Godot releases.