機能一覧

このページでは、Godotが現在サポートしているすべての機能をリストアップすることを目的としています。

注釈

このページでは、現在の安定版である Godot (3.2) でサポートされている機能の一覧を示します。最新の開発バージョン (4.0) では、より多くの機能が利用可能です。

特徴

プラットフォーム

エディタとエクスポートしたプロジェクトの両方を実行できます。

  • Windows 7以降(64ビットと32ビット)。

  • macOS 10.12以降(64ビットと x86とARM)。

  • Linux (64ビットと32ビット、x86とARM)。

    • 古い十分なベースのディストリビューションでコンパイルされた場合、バイナリは静的にリンクされ様々なディストリビューションで実行できます。
    • 公式のバイナリはUbuntu 14.04でコンパイルされています。

エクスポートされたプロジェクトの実行:

  • Android 4.4 以降。
  • iOS 10.0 以降。
  • HTML5 via WebAssembly (Firefox, Chrome, Edge, Opera).
  • コンソール.

Godot aims to be as platform-independent as possible and can be ported to new platforms with relative ease.

エディタ

機能:

  • シーンツリー エディタ。

  • スクリプト エディタ。

  • Support for external script editors such as Visual Studio Code or Vim.

  • GDScript debugger

    • No support for debugging in threads yet.
  • パフォーマンス計測ツール。

  • 実行時スクリプト再読み込み。

  • 実行時シーン編集。

    • 変更はエディタに反映され、実行プロジェクトが閉じると保存されること。
  • リモート インスペクタ。

    • Changes won't reflect in the editor and won't be kept after closing the running project.
  • 実行時カメラ複製。

    • エディタ内のカメラを移動し、実行プロジェクトで結果を確認してください。
  • Use the editor in dozens of languages contributed by the community.

プラグイン:

  • Editor plugins can be downloaded from the asset library to extend editor functionality.
  • Create your own plugins using GDScript to add new features or speed up your workflow.
  • Download projects from the asset library in the project manager and import them directly.

2D graphics

Two renderers available:

  • OpenGL ES 3.0 renderer (uses OpenGL 3.3 on desktop platforms).
    • ハイエンドビジュアル。デスクトッププラットフォームに推奨。
  • OpenGL ES 2.0 renderer (uses OpenGL 2.1 on desktop platforms).
    • Recommended on mobile and Web platforms.

機能:

  • Sprite, polygon and line rendering.

    • High-level tools to draw lines and polygons such as Polygon2D and Line2D.
  • AnimatedSprite as a helper for creating animated sprites.

  • 視差レイヤー。

    • 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ベースのパーティクル。

2Dツール

  • 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物理演算

物理ボディ:

  • 静的ボディ。
  • リジッドボディ。
  • キネマティックボディ。
  • Joints.
  • Areas to detect bodies entering or leaving it.

衝突検出:

  • Built-in shapes: line, box, circle, capsule.
  • Collision polygons (can be drawn manually or generated from a sprite in the editor).

3D graphics

Two renderers available:

  • OpenGL ES 3.0 renderer (uses OpenGL 3.3 on desktop platforms).
    • ハイエンドビジュアル。デスクトッププラットフォームに推奨。
    • sRGBでHDRレンダリング。
  • OpenGL ES 2.0 renderer (uses OpenGL 2.1 on desktop platforms).
    • Recommended on mobile and Web platforms.
    • 互換性を高めるためのLDRレンダリング。
    • Not all features are available. Features available only when using the OpenGL ES 3.0 renderer are marked GLES3 below.

カメラ:

  • Perspective, orthographic and frustum-offset cameras.

Physically-based rendering:

  • Follows the Disney PBR model.
  • Uses a roughness-metallic workflow with support for ORM textures.
  • 法線マップ。
  • 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.

リアルタイム照明:

  • Directional lights (sun/moon). Up to 4 per scene.
  • 全方位ライト。
  • Spot lights with adjustable cone angle and attenuation.

シャドウマッピング:

  • 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.
  • スポットライト: 単一テクスチャ。

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.

反射:

  • 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: スクリーンスペース リフレクション。
  • Reflection techniques can be mixed together for greater accuracy.

Sky:

  • Panorama sky (using an HDRI).
  • プロシージャルな空。

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.

パーティクル:

  • GLES3: GPU-based particles with support for custom particle shaders.
  • CPUベースのパーティクル。

ポストプロセッシング:

  • トーンマッピング (Linear、Reinhard、Filmic、ACES)。
  • GLES3: Automatic exposure adjustments based on viewport brightness.
  • GLES3: Near and far depth of field.
  • GLES3: スクリーンスペース アンビエントオクルージョン
  • 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.

テクスチャ フィルタリング:

  • Nearest, bilinear, trilinear or anisotropic filtering.

テクスチャ圧縮:

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

  • マルチサンプル アンチエイリアシング (MSAA)。

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ツール

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

  • 手続き型ジオメトリ生成 用ツール。

  • 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物理

物理ボディ:

  • 静的ボディ。
  • リジッドボディ。
  • キネマティックボディ。
  • Vehicle bodies (intended for arcade physics, not simulation).
  • Joints.
  • ソフトボディ。
  • ラグドール。
  • Areas to detect bodies entering or leaving it.

衝突検出:

  • Built-in shapes: cuboid, sphere, capsule, cylinder (only with Bullet physics).
  • Generate triangle collision shapes for any mesh from the editor.
  • Generate one or several convex collision shapes for any mesh from the editor.

シェーダー

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

  • ビジュアルシェーダーエディタ。

    • ビジュアルシェーダープラグイン。

スクリプト

全般:

  • スクリプトがノードを拡張する、オブジェクト指向デザインパターン。
  • 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:

  • オプションでの静的型付け が可能な 高水準インタプリタ言語 <doc_gdscript>
  • Syntax inspired by Python.
  • Syntax highlighting is provided on GitHub.
  • Use threads to perform asynchronous actions or make use of multiple processor cores.

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.
  • すべてのプラットフォームをサポート。

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

  • MIDI 入力。

    • No support for MIDI output yet.

APIs used:

  • Windows: WASAPI。
  • macOS: CoreAudio.
  • Linux: PulseAudio or ALSA.

インポート

フォーマット:

  • 画像: イメージのインポートを参照。

  • オーディオ:

    • WAV with optional IMA-ADPCM compression.
    • Ogg Vorbis.
  • 3Dシーン:

    • glTF 2.0 (recommended).
    • ESCN (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.
  • キーボード入力。

    • Keys can be mapped in "physical" mode to be independent of the keyboard layout.
  • マウス入力。

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

ネットワーク

  • 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.
  • UDP および ENet を使う高レベルのマルチプレイヤーAPI。

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

国際化

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

  • ウィンドウのタイトルおよびアイコンの変更。

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

  • 全画面表示モード。

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

  • カスタムのコマンドライン引数をパース。

モバイル

  • Android および 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システム

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.

ノード:

  • ボタン。
  • Checkboxes, check buttons, radio buttons.
  • Text entry using LineEdit (single line) and TextEdit (multiple lines).
  • Dropdown menus using PopupMenu and OptionButton.
  • スクロールバー。
  • ラベル。
  • 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.

サイズ変更:

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

  • 特定のルールに従ってUI要素を自動配置するコンテナ。

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

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

Theming:

  • 内蔵テーマエディタ。

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

フォーマット

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

その他

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

  • 自動化のためのコマンドライン用インターフェイス。

  • Support for C++ modules statically linked into the engine binary.

  • Engine and editor written in C++03.

    • GCC、Clang および MSVC を使用してコンパイル可能。MinGWにも対応。
    • 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.

参考

ロードマップ リポジトリには、合意されて今後の Godot リリースで実装される可能性のある機能が記載されています。