ProjectSettings

继承: Object

存储全局变量。

描述

储存可以从任何地方访问的变量。请使用 get_settingset_settinghas_setting 访问。存储在 project.godot 中的变量也会被加载到 ProjectSettings 中,因此这个对象常用于读取自定义游戏配置选项。

指定“项目设置”的属性时,请使用设置的完整路径,包括类别。例如项目名称应使用 "application/config/name"。类别和属性名称可以在“项目设置”对话框中查看。

特性标签:可以使用特性标签来针对特定的平台和配置(调试、发布……)做项目设置的覆盖。

覆盖:在项目的根目录下创建名为 override.cfg 的文件,就可以对任意项目设置进行覆盖。对于已导出的项目,把这个文件放在与项目二进制文件相同的目录下,也可以达到覆盖的目的。覆盖时仍会考虑基础项目设置的特性标签。因此,如果你想让它们在所有平台和配置上覆盖基础项目设置,请确保也用所需的特性标签覆盖该设置。

教程

属性

bool

animation/warnings/checkangle_interpolation_type_conflicting

true

bool

animation/warnings/check_invalid_track_paths

true

Color

application/boot_splash/bg_color

Color(0.14, 0.14, 0.14, 1)

bool

application/boot_splash/fullsize

true

String

application/boot_splash/image

“”

int

application/boot_splash/minimum_display_time

0

bool

application/boot_splash/show_image

true

bool

application/boot_splash/use_filter

true

bool

application/config/auto_accept_quit

true

String

application/config/custom_user_dir_name

“”

String

application/config/description

“”

String

application/config/icon

“”

String

application/config/macos_native_icon

“”

String

application/config/name

“”

Dictionary

application/config/name_localized

{}

String

application/config/project_settings_override

“”

bool

application/config/quit_on_go_back

true

bool

application/config/use_custom_user_dir

false

bool

application/config/use_hidden_project_data_directory

true

String

application/config/version

“”

String

application/config/windows_native_icon

“”

bool

application/run/delta_smoothing

true

bool

application/run/disable_stderr

false

bool

application/run/disable_stdout

false

bool

application/run/enable_alt_space_menu

false

bool

application/run/flush_stdout_on_print

false

bool

application/run/flush_stdout_on_print.debug

true

int

application/run/frame_delay_msec

0

bool

application/run/low_processor_mode

false

int

application/run/low_processor_mode_sleep_usec

6900

String

application/run/main_loop_type

“SceneTree”

String

application/run/main_scene

“”

int

application/run/max_fps

0

bool

application/run/print_header

true

float

audio/buses/channel_disable_threshold_db

-60.0

float

audio/buses/channel_disable_time

2.0

String

audio/buses/default_bus_layout

“res://default_bus_layout.tres”

String

audio/driver/driver

bool

audio/driver/enable_input

false

int

audio/driver/mix_rate

44100

int

audio/driver/mix_rate.web

0

int

audio/driver/output_latency

15

int

audio/driver/output_latency.web

50

float

audio/general/2d_panning_strength

0.5

float

audio/general/3d_panning_strength

0.5

int

audio/general/default_playback_type

0

int

audio/general/default_playback_type.web

1

bool

audio/general/ios/mix_with_others

false

int

audio/general/ios/session_category

0

bool

audio/general/text_to_speech

false

int

audio/video/video_delay_compensation_ms

0

bool

collada/use_ambient

false

int

compression/formats/gzip/compression_level

-1

int

compression/formats/zlib/compression_level

-1

int

compression/formats/zstd/compression_level

3

bool

compression/formats/zstd/long_distance_matching

false

int

compression/formats/zstd/window_log_size

27

Color

debug/canvas_items/debug_redraw_color

Color(1, 0.2, 0.2, 0.5)

float

debug/canvas_items/debug_redraw_time

1.0

bool

debug/file_logging/enable_file_logging

false

bool

debug/file_logging/enable_file_logging.pc

true

String

debug/file_logging/log_path

“user://logs/godot.log”

int

debug/file_logging/max_log_files

5

int

debug/gdscript/warnings/assert_always_false

1

int

debug/gdscript/warnings/assert_always_true

1

int

debug/gdscript/warnings/confusable_capture_reassignment

1

int

debug/gdscript/warnings/confusable_identifier

1

int

debug/gdscript/warnings/confusable_local_declaration

1

int

debug/gdscript/warnings/confusable_local_usage

1

int

debug/gdscript/warnings/constant_used_as_function

1

int

debug/gdscript/warnings/deprecated_keyword

1

int

debug/gdscript/warnings/empty_file

1

bool

debug/gdscript/warnings/enable

true

int

debug/gdscript/warnings/enum_variable_without_default

1

bool

debug/gdscript/warnings/exclude_addons

true

int

debug/gdscript/warnings/function_used_as_property

1

int

debug/gdscript/warnings/get_node_default_without_onready

2

int

debug/gdscript/warnings/incompatible_ternary

1

int

debug/gdscript/warnings/inference_on_variant

2

int

debug/gdscript/warnings/inferred_declaration

0

int

debug/gdscript/warnings/int_as_enum_without_cast

1

int

debug/gdscript/warnings/int_as_enum_without_match

1

int

debug/gdscript/warnings/integer_division

1

int

debug/gdscript/warnings/narrowing_conversion

1

int

debug/gdscript/warnings/native_method_override

2

int

debug/gdscript/warnings/onready_with_export

2

int

debug/gdscript/warnings/property_used_as_function

1

int

debug/gdscript/warnings/redundant_await

1

int

debug/gdscript/warnings/redundant_static_unload

1

bool

debug/gdscript/warnings/renamed_in_godot_4_hint

1

int

debug/gdscript/warnings/return_value_discarded

0

int

debug/gdscript/warnings/shadowed_global_identifier

1

int

debug/gdscript/warnings/shadowed_variable

1

int

debug/gdscript/warnings/shadowed_variable_base_class

1

int

debug/gdscript/warnings/standalone_expression

1

int

debug/gdscript/warnings/standalone_ternary

1

int

debug/gdscript/warnings/static_called_on_instance

1

int

debug/gdscript/warnings/unassigned_variable

1

int

debug/gdscript/warnings/unassigned_variable_op_assign

1

int

debug/gdscript/warnings/unreachable_code

1

int

debug/gdscript/warnings/unreachable_pattern

1

int

debug/gdscript/warnings/unsafe_call_argument

0

int

debug/gdscript/warnings/unsafe_cast

0

int

debug/gdscript/warnings/unsafe_method_access

0

int

debug/gdscript/warnings/unsafe_property_access

0

int

debug/gdscript/warnings/unsafe_void_return

1

int

debug/gdscript/warnings/untyped_declaration

0

int

debug/gdscript/warnings/unused_local_constant

1

int

debug/gdscript/warnings/unused_parameter

1

int

debug/gdscript/warnings/unused_private_class_variable

1

int

debug/gdscript/warnings/unused_signal

1

int

debug/gdscript/warnings/unused_variable

1

String

debug/settings/crash_handler/message

“Please include this when reporting the bug to the project developer.”

String

debug/settings/crash_handler/message.editor

“Please include this when reporting the bug on: https://github.com/godotengine/godot/issues

int

debug/settings/gdscript/max_call_stack

1024

int

debug/settings/profiler/max_functions

16384

int

debug/settings/profiler/max_timestamp_query_elements

256

bool

debug/settings/stdout/print_fps

false

bool

debug/settings/stdout/print_gpu_profile

false

bool

debug/settings/stdout/verbose_stdout

false

bool

debug/shader_language/warnings/device_limit_exceeded

true

bool

debug/shader_language/warnings/enable

true

bool

debug/shader_language/warnings/float_comparison

true

bool

debug/shader_language/warnings/formatting_error

true

bool

debug/shader_language/warnings/magic_position_write

true

bool

debug/shader_language/warnings/treat_warnings_as_errors

false

bool

debug/shader_language/warnings/unused_constant

true

bool

debug/shader_language/warnings/unused_function

true

bool

debug/shader_language/warnings/unused_local_variable

true

bool

debug/shader_language/warnings/unused_struct

true

bool

debug/shader_language/warnings/unused_uniform

true

bool

debug/shader_language/warnings/unused_varying

true

Color

debug/shapes/avoidance/agents_radius_color

Color(1, 1, 0, 0.25)

bool

debug/shapes/avoidance/enable_agents_radius

true

bool

debug/shapes/avoidance/enable_obstacles_radius

true

bool

debug/shapes/avoidance/enable_obstacles_static

true

Color

debug/shapes/avoidance/obstacles_radius_color

Color(1, 0.5, 0, 0.25)

Color

debug/shapes/avoidance/obstacles_static_edge_pushin_color

Color(1, 0, 0, 1)

Color

debug/shapes/avoidance/obstacles_static_edge_pushout_color

Color(1, 1, 0, 1)

Color

debug/shapes/avoidance/obstacles_static_face_pushin_color

Color(1, 0, 0, 0)

Color

debug/shapes/avoidance/obstacles_static_face_pushout_color

Color(1, 1, 0, 0.5)

Color

debug/shapes/collision/contact_color

Color(1, 0.2, 0.1, 0.8)

bool

debug/shapes/collision/draw_2d_outlines

true

int

debug/shapes/collision/max_contacts_displayed

10000

Color

debug/shapes/collision/shape_color

Color(0, 0.6, 0.7, 0.42)

Color

debug/shapes/navigation/agent_path_color

Color(1, 0, 0, 1)

float

debug/shapes/navigation/agent_path_point_size

4.0

Color

debug/shapes/navigation/edge_connection_color

Color(1, 0, 1, 1)

bool

debug/shapes/navigation/enable_agent_paths

true

bool

debug/shapes/navigation/enable_agent_paths_xray

true

bool

debug/shapes/navigation/enable_edge_connections

true

bool

debug/shapes/navigation/enable_edge_connections_xray

true

bool

debug/shapes/navigation/enable_edge_lines

true

bool

debug/shapes/navigation/enable_edge_lines_xray

true

bool

debug/shapes/navigation/enable_geometry_face_random_color

true

bool

debug/shapes/navigation/enable_link_connections

true

bool

debug/shapes/navigation/enable_link_connections_xray

true

Color

debug/shapes/navigation/geometry_edge_color

Color(0.5, 1, 1, 1)

Color

debug/shapes/navigation/geometry_edge_disabled_color

Color(0.5, 0.5, 0.5, 1)

Color

debug/shapes/navigation/geometry_face_color

Color(0.5, 1, 1, 0.4)

Color

debug/shapes/navigation/geometry_face_disabled_color

Color(0.5, 0.5, 0.5, 0.4)

Color

debug/shapes/navigation/link_connection_color

Color(1, 0.5, 1, 1)

Color

debug/shapes/navigation/link_connection_disabled_color

Color(0.5, 0.5, 0.5, 1)

Color

debug/shapes/paths/geometry_color

Color(0.1, 1, 0.7, 0.4)

float

debug/shapes/paths/geometry_width

2.0

String

display/display_server/driver

String

display/display_server/driver.android

String

display/display_server/driver.ios

String

display/display_server/driver.linuxbsd

String

display/display_server/driver.macos

String

display/display_server/driver.windows

String

display/mouse_cursor/custom_image

“”

Vector2

display/mouse_cursor/custom_image_hotspot

Vector2(0, 0)

Vector2

display/mouse_cursor/tooltip_position_offset

Vector2(10, 10)

bool

display/window/dpi/allow_hidpi

true

bool

display/window/energy_saving/keep_screen_on

true

bool

display/window/energy_saving/keep_screen_on.editor_hint

false

int

display/window/handheld/orientation

0

bool

display/window/ios/allow_high_refresh_rate

true

bool

display/window/ios/hide_home_indicator

true

bool

display/window/ios/hide_status_bar

true

bool

display/window/ios/suppress_ui_gesture

true

bool

display/window/per_pixel_transparency/allowed

false

bool

display/window/size/always_on_top

false

bool

display/window/size/borderless

false

bool

display/window/size/extend_to_title

false

Vector2i

display/window/size/initial_position

Vector2i(0, 0)

int

display/window/size/initial_position_type

1

int

display/window/size/initial_screen

0

int

display/window/size/mode

0

bool

display/window/size/no_focus

false

bool

display/window/size/resizable

true

bool

display/window/size/transparent

false

int

display/window/size/viewport_height

648

int

display/window/size/viewport_width

1152

int

display/window/size/window_height_override

0

int

display/window/size/window_width_override

0

String

display/window/stretch/aspect

“keep”

String

display/window/stretch/mode

“disabled”

float

display/window/stretch/scale

1.0

String

display/window/stretch/scale_mode

“fractional”

bool

display/window/subwindows/embed_subwindows

true

int

display/window/vsync/vsync_mode

1

String

dotnet/project/assembly_name

“”

int

dotnet/project/assembly_reload_attempts

3

String

dotnet/project/solution_directory

“”

bool

editor/export/convert_text_resources_to_binary

true

int

editor/import/atlas_max_width

2048

bool

editor/import/reimport_missing_imported_files

true

bool

editor/import/use_multiple_threads

true

bool

editor/movie_writer/disable_vsync

false

int

editor/movie_writer/fps

60

int

editor/movie_writer/mix_rate

48000

float

editor/movie_writer/mjpeg_quality

0.75

String

editor/movie_writer/movie_file

“”

int

editor/movie_writer/speaker_mode

0

String

editor/naming/default_signal_callback_name

“_on{nodename}{signalname}”

String

editor/naming/default_signal_callback_to_self_name

“_on{signal_name}”

int

editor/naming/node_name_casing

0

int

editor/naming/node_name_num_separator

0

int

editor/naming/scene_name_casing

2

int

editor/naming/script_name_casing

0

String

editor/run/main_run_args

“”

PackedStringArray

editor/script/search_in_file_extensions

PackedStringArray(“gd”, “gdshader”)

String

editor/script/templates_search_path

“res://script_templates”

bool

editor/version_control/autoload_on_startup

false

String

editor/version_control/plugin_name

“”

bool

filesystem/import/blender/enabled

true

bool

filesystem/import/blender/enabled.android

false

bool

filesystem/import/blender/enabled.web

false

bool

filesystem/import/fbx2gltf/enabled

true

bool

filesystem/import/fbx2gltf/enabled.android

false

bool

filesystem/import/fbx2gltf/enabled.web

false

int

gui/common/default_scroll_deadzone

0

bool

gui/common/snap_controls_to_pixels

true

bool

gui/common/swap_cancel_ok

int

gui/common/text_edit_undo_stack_max_size

1024

bool

gui/fonts/dynamic_fonts/use_oversampling

true

String

gui/theme/custom

“”

String

gui/theme/custom_font

“”

int

gui/theme/default_font_antialiasing

1

bool

gui/theme/default_font_generate_mipmaps

false

int

gui/theme/default_font_hinting

1

bool

gui/theme/default_font_multichannel_signed_distance_field

false

int

gui/theme/default_font_subpixel_positioning

1

float

gui/theme/default_theme_scale

1.0

int

gui/theme/lcd_subpixel_layout

1

float

gui/timers/button_shortcut_feedback_highlight_time

0.2

int

gui/timers/incremental_search_max_interval_msec

2000

float

gui/timers/text_edit_idle_detect_sec

3

float

gui/timers/tooltip_delay_sec

0.5

float

gui/timers/tooltip_delay_sec.editor_hint

0.5

Dictionary

input/ui_accept

Dictionary

input/ui_cancel

Dictionary

input/ui_copy

Dictionary

input/ui_cut

Dictionary

input/ui_down

Dictionary

input/ui_end

Dictionary

input/ui_filedialog_refresh

Dictionary

input/ui_filedialog_show_hidden

Dictionary

input/ui_filedialog_up_one_level

Dictionary

input/ui_focus_next

Dictionary

input/ui_focus_prev

Dictionary

input/ui_graph_delete

Dictionary

input/ui_graph_duplicate

Dictionary

input/ui_home

Dictionary

input/ui_left

Dictionary

input/ui_menu

Dictionary

input/ui_page_down

Dictionary

input/ui_page_up

Dictionary

input/ui_paste

Dictionary

input/ui_redo

Dictionary

input/ui_right

Dictionary

input/ui_select

Dictionary

input/ui_swap_input_direction

Dictionary

input/ui_text_add_selection_for_next_occurrence

Dictionary

input/ui_text_backspace

Dictionary

input/ui_text_backspace_all_to_left

Dictionary

input/ui_text_backspace_all_to_left.macos

Dictionary

input/ui_text_backspace_word

Dictionary

input/ui_text_backspace_word.macos

Dictionary

input/ui_text_caret_add_above

Dictionary

input/ui_text_caret_add_above.macos

Dictionary

input/ui_text_caret_add_below

Dictionary

input/ui_text_caret_add_below.macos

Dictionary

input/ui_text_caret_document_end

Dictionary

input/ui_text_caret_document_end.macos

Dictionary

input/ui_text_caret_document_start

Dictionary

input/ui_text_caret_document_start.macos

Dictionary

input/ui_text_caret_down

Dictionary

input/ui_text_caret_left

Dictionary

input/ui_text_caret_line_end

Dictionary

input/ui_text_caret_line_end.macos

Dictionary

input/ui_text_caret_line_start

Dictionary

input/ui_text_caret_line_start.macos

Dictionary

input/ui_text_caret_page_down

Dictionary

input/ui_text_caret_page_up

Dictionary

input/ui_text_caret_right

Dictionary

input/ui_text_caret_up

Dictionary

input/ui_text_caret_word_left

Dictionary

input/ui_text_caret_word_left.macos

Dictionary

input/ui_text_caret_word_right

Dictionary

input/ui_text_caret_word_right.macos

Dictionary

input/ui_text_clear_carets_and_selection

Dictionary

input/ui_text_completion_accept

Dictionary

input/ui_text_completion_query

Dictionary

input/ui_text_completion_replace

Dictionary

input/ui_text_dedent

Dictionary

input/ui_text_delete

Dictionary

input/ui_text_delete_all_to_right

Dictionary

input/ui_text_delete_all_to_right.macos

Dictionary

input/ui_text_delete_word

Dictionary

input/ui_text_delete_word.macos

Dictionary

input/ui_text_indent

Dictionary

input/ui_text_newline

Dictionary

input/ui_text_newline_above

Dictionary

input/ui_text_newline_blank

Dictionary

input/ui_text_scroll_down

Dictionary

input/ui_text_scroll_down.macos

Dictionary

input/ui_text_scroll_up

Dictionary

input/ui_text_scroll_up.macos

Dictionary

input/ui_text_select_all

Dictionary

input/ui_text_select_word_under_caret

Dictionary

input/ui_text_select_word_under_caret.macos

Dictionary

input/ui_text_skip_selection_for_next_occurrence

Dictionary

input/ui_text_submit

Dictionary

input/ui_text_toggle_insert_mode

Dictionary

input/ui_undo

Dictionary

input/ui_up

bool

input_devices/buffering/agile_event_flushing

false

bool

input_devices/compatibility/legacy_just_pressed_behavior

false

String

input_devices/pen_tablet/driver

String

input_devices/pen_tablet/driver.windows

bool

input_devices/pointing/android/enable_long_press_as_right_click

false

bool

input_devices/pointing/android/enable_pan_and_scale_gestures

false

int

input_devices/pointing/android/rotary_input_scroll_axis

1

bool

input_devices/pointing/emulate_mouse_from_touch

true

bool

input_devices/pointing/emulate_touch_from_mouse

false

String

internationalization/locale/fallback

“en”

bool

internationalization/locale/include_text_server_data

false

String

internationalization/locale/test

“”

bool

internationalization/pseudolocalization/double_vowels

false

float

internationalization/pseudolocalization/expansion_ratio

0.0

bool

internationalization/pseudolocalization/fake_bidi

false

bool

internationalization/pseudolocalization/override

false

String

internationalization/pseudolocalization/prefix

“[“

bool

internationalization/pseudolocalization/replace_with_accents

true

bool

internationalization/pseudolocalization/skip_placeholders

true

String

internationalization/pseudolocalization/suffix

“]”

bool

internationalization/pseudolocalization/use_pseudolocalization

false

bool

internationalization/rendering/force_right_to_left_layout_direction

false

bool

internationalization/rendering/root_node_auto_translate

true

int

internationalization/rendering/root_node_layout_direction

0

String

internationalization/rendering/text_driver

“”

String

layer_names/2d_navigation/layer_1

“”

String

layer_names/2d_navigation/layer_2

“”

String

layer_names/2d_navigation/layer_3

“”

String

layer_names/2d_navigation/layer_4

“”

String

layer_names/2d_navigation/layer_5

“”

String

layer_names/2d_navigation/layer_6

“”

String

layer_names/2d_navigation/layer_7

“”

String

layer_names/2d_navigation/layer_8

“”

String

layer_names/2d_navigation/layer_9

“”

String

layer_names/2d_navigation/layer_10

“”

String

layer_names/2d_navigation/layer_11

“”

String

layer_names/2d_navigation/layer_12

“”

String

layer_names/2d_navigation/layer_13

“”

String

layer_names/2d_navigation/layer_14

“”

String

layer_names/2d_navigation/layer_15

“”

String

layer_names/2d_navigation/layer_16

“”

String

layer_names/2d_navigation/layer_17

“”

String

layer_names/2d_navigation/layer_18

“”

String

layer_names/2d_navigation/layer_19

“”

String

layer_names/2d_navigation/layer_20

“”

String

layer_names/2d_navigation/layer_21

“”

String

layer_names/2d_navigation/layer_22

“”

String

layer_names/2d_navigation/layer_23

“”

String

layer_names/2d_navigation/layer_24

“”

String

layer_names/2d_navigation/layer_25

“”

String

layer_names/2d_navigation/layer_26

“”

String

layer_names/2d_navigation/layer_27

“”

String

layer_names/2d_navigation/layer_28

“”

String

layer_names/2d_navigation/layer_29

“”

String

layer_names/2d_navigation/layer_30

“”

String

layer_names/2d_navigation/layer_31

“”

String

layer_names/2d_navigation/layer_32

“”

String

layer_names/2d_physics/layer_1

“”

String

layer_names/2d_physics/layer_2

“”

String

layer_names/2d_physics/layer_3

“”

String

layer_names/2d_physics/layer_4

“”

String

layer_names/2d_physics/layer_5

“”

String

layer_names/2d_physics/layer_6

“”

String

layer_names/2d_physics/layer_7

“”

String

layer_names/2d_physics/layer_8

“”

String

layer_names/2d_physics/layer_9

“”

String

layer_names/2d_physics/layer_10

“”

String

layer_names/2d_physics/layer_11

“”

String

layer_names/2d_physics/layer_12

“”

String

layer_names/2d_physics/layer_13

“”

String

layer_names/2d_physics/layer_14

“”

String

layer_names/2d_physics/layer_15

“”

String

layer_names/2d_physics/layer_16

“”

String

layer_names/2d_physics/layer_17

“”

String

layer_names/2d_physics/layer_18

“”

String

layer_names/2d_physics/layer_19

“”

String

layer_names/2d_physics/layer_20

“”

String

layer_names/2d_physics/layer_21

“”

String

layer_names/2d_physics/layer_22

“”

String

layer_names/2d_physics/layer_23

“”

String

layer_names/2d_physics/layer_24

“”

String

layer_names/2d_physics/layer_25

“”

String

layer_names/2d_physics/layer_26

“”

String

layer_names/2d_physics/layer_27

“”

String

layer_names/2d_physics/layer_28

“”

String

layer_names/2d_physics/layer_29

“”

String

layer_names/2d_physics/layer_30

“”

String

layer_names/2d_physics/layer_31

“”

String

layer_names/2d_physics/layer_32

“”

String

layer_names/2d_render/layer_1

“”

String

layer_names/2d_render/layer_2

“”

String

layer_names/2d_render/layer_3

“”

String

layer_names/2d_render/layer_4

“”

String

layer_names/2d_render/layer_5

“”

String

layer_names/2d_render/layer_6

“”

String

layer_names/2d_render/layer_7

“”

String

layer_names/2d_render/layer_8

“”

String

layer_names/2d_render/layer_9

“”

String

layer_names/2d_render/layer_10

“”

String

layer_names/2d_render/layer_11

“”

String

layer_names/2d_render/layer_12

“”

String

layer_names/2d_render/layer_13

“”

String

layer_names/2d_render/layer_14

“”

String

layer_names/2d_render/layer_15

“”

String

layer_names/2d_render/layer_16

“”

String

layer_names/2d_render/layer_17

“”

String

layer_names/2d_render/layer_18

“”

String

layer_names/2d_render/layer_19

“”

String

layer_names/2d_render/layer_20

“”

String

layer_names/3d_navigation/layer_1

“”

String

layer_names/3d_navigation/layer_2

“”

String

layer_names/3d_navigation/layer_3

“”

String

layer_names/3d_navigation/layer_4

“”

String

layer_names/3d_navigation/layer_5

“”

String

layer_names/3d_navigation/layer_6

“”

String

layer_names/3d_navigation/layer_7

“”

String

layer_names/3d_navigation/layer_8

“”

String

layer_names/3d_navigation/layer_9

“”

String

layer_names/3d_navigation/layer_10

“”

String

layer_names/3d_navigation/layer_11

“”

String

layer_names/3d_navigation/layer_12

“”

String

layer_names/3d_navigation/layer_13

“”

String

layer_names/3d_navigation/layer_14

“”

String

layer_names/3d_navigation/layer_15

“”

String

layer_names/3d_navigation/layer_16

“”

String

layer_names/3d_navigation/layer_17

“”

String

layer_names/3d_navigation/layer_18

“”

String

layer_names/3d_navigation/layer_19

“”

String

layer_names/3d_navigation/layer_20

“”

String

layer_names/3d_navigation/layer_21

“”

String

layer_names/3d_navigation/layer_22

“”

String

layer_names/3d_navigation/layer_23

“”

String

layer_names/3d_navigation/layer_24

“”

String

layer_names/3d_navigation/layer_25

“”

String

layer_names/3d_navigation/layer_26

“”

String

layer_names/3d_navigation/layer_27

“”

String

layer_names/3d_navigation/layer_28

“”

String

layer_names/3d_navigation/layer_29

“”

String

layer_names/3d_navigation/layer_30

“”

String

layer_names/3d_navigation/layer_31

“”

String

layer_names/3d_navigation/layer_32

“”

String

layer_names/3d_physics/layer_1

“”

String

layer_names/3d_physics/layer_2

“”

String

layer_names/3d_physics/layer_3

“”

String

layer_names/3d_physics/layer_4

“”

String

layer_names/3d_physics/layer_5

“”

String

layer_names/3d_physics/layer_6

“”

String

layer_names/3d_physics/layer_7

“”

String

layer_names/3d_physics/layer_8

“”

String

layer_names/3d_physics/layer_9

“”

String

layer_names/3d_physics/layer_10

“”

String

layer_names/3d_physics/layer_11

“”

String

layer_names/3d_physics/layer_12

“”

String

layer_names/3d_physics/layer_13

“”

String

layer_names/3d_physics/layer_14

“”

String

layer_names/3d_physics/layer_15

“”

String

layer_names/3d_physics/layer_16

“”

String

layer_names/3d_physics/layer_17

“”

String

layer_names/3d_physics/layer_18

“”

String

layer_names/3d_physics/layer_19

“”

String

layer_names/3d_physics/layer_20

“”

String

layer_names/3d_physics/layer_21

“”

String

layer_names/3d_physics/layer_22

“”

String

layer_names/3d_physics/layer_23

“”

String

layer_names/3d_physics/layer_24

“”

String

layer_names/3d_physics/layer_25

“”

String

layer_names/3d_physics/layer_26

“”

String

layer_names/3d_physics/layer_27

“”

String

layer_names/3d_physics/layer_28

“”

String

layer_names/3d_physics/layer_29

“”

String

layer_names/3d_physics/layer_30

“”

String

layer_names/3d_physics/layer_31

“”

String

layer_names/3d_physics/layer_32

“”

String

layer_names/3d_render/layer_1

“”

String

layer_names/3d_render/layer_2

“”

String

layer_names/3d_render/layer_3

“”

String

layer_names/3d_render/layer_4

“”

String

layer_names/3d_render/layer_5

“”

String

layer_names/3d_render/layer_6

“”

String

layer_names/3d_render/layer_7

“”

String

layer_names/3d_render/layer_8

“”

String

layer_names/3d_render/layer_9

“”

String

layer_names/3d_render/layer_10

“”

String

layer_names/3d_render/layer_11

“”

String

layer_names/3d_render/layer_12

“”

String

layer_names/3d_render/layer_13

“”

String

layer_names/3d_render/layer_14

“”

String

layer_names/3d_render/layer_15

“”

String

layer_names/3d_render/layer_16

“”

String

layer_names/3d_render/layer_17

“”

String

layer_names/3d_render/layer_18

“”

String

layer_names/3d_render/layer_19

“”

String

layer_names/3d_render/layer_20

“”

String

layer_names/avoidance/layer_1

“”

String

layer_names/avoidance/layer_2

“”

String

layer_names/avoidance/layer_3

“”

String

layer_names/avoidance/layer_4

“”

String

layer_names/avoidance/layer_5

“”

String

layer_names/avoidance/layer_6

“”

String

layer_names/avoidance/layer_7

“”

String

layer_names/avoidance/layer_8

“”

String

layer_names/avoidance/layer_9

“”

String

layer_names/avoidance/layer_10

“”

String

layer_names/avoidance/layer_11

“”

String

layer_names/avoidance/layer_12

“”

String

layer_names/avoidance/layer_13

“”

String

layer_names/avoidance/layer_14

“”

String

layer_names/avoidance/layer_15

“”

String

layer_names/avoidance/layer_16

“”

String

layer_names/avoidance/layer_17

“”

String

layer_names/avoidance/layer_18

“”

String

layer_names/avoidance/layer_19

“”

String

layer_names/avoidance/layer_20

“”

String

layer_names/avoidance/layer_21

“”

String

layer_names/avoidance/layer_22

“”

String

layer_names/avoidance/layer_23

“”

String

layer_names/avoidance/layer_24

“”

String

layer_names/avoidance/layer_25

“”

String

layer_names/avoidance/layer_26

“”

String

layer_names/avoidance/layer_27

“”

String

layer_names/avoidance/layer_28

“”

String

layer_names/avoidance/layer_29

“”

String

layer_names/avoidance/layer_30

“”

String

layer_names/avoidance/layer_31

“”

String

layer_names/avoidance/layer_32

“”

int

memory/limits/message_queue/max_size_mb

32

float

navigation/2d/default_cell_size

1.0

float

navigation/2d/default_edge_connection_margin

1.0

float

navigation/2d/default_link_connection_radius

4.0

bool

navigation/2d/use_edge_connections

true

float

navigation/3d/default_cell_height

0.25

float

navigation/3d/default_cell_size

0.25

float

navigation/3d/default_edge_connection_margin

0.25

float

navigation/3d/default_link_connection_radius

1.0

Vector3

navigation/3d/default_up

Vector3(0, 1, 0)

float

navigation/3d/merge_rasterizer_cell_scale

1.0

bool

navigation/3d/use_edge_connections

true

bool

navigation/avoidance/thread_model/avoidance_use_high_priority_threads

true

bool

navigation/avoidance/thread_model/avoidance_use_multiple_threads

true

bool

navigation/baking/thread_model/baking_use_high_priority_threads

true

bool

navigation/baking/thread_model/baking_use_multiple_threads

true

bool

navigation/baking/use_crash_prevention_checks

true

int

network/limits/debugger/max_chars_per_second

32768

int

network/limits/debugger/max_errors_per_second

400

int

network/limits/debugger/max_queued_messages

2048

int

network/limits/debugger/max_warnings_per_second

400

int

network/limits/packet_peer_stream/max_buffer_po2

16

int

network/limits/tcp/connect_timeout_seconds

30

int

network/limits/webrtc/max_channel_in_buffer_kb

64

String

network/tls/certificate_bundle_override

“”

float

physics/2d/default_angular_damp

1.0

float

physics/2d/default_gravity

980.0

Vector2

physics/2d/default_gravity_vector

Vector2(0, 1)

float

physics/2d/default_linear_damp

0.1

String

physics/2d/physics_engine

“DEFAULT”

bool

physics/2d/run_on_separate_thread

false

float

physics/2d/sleep_threshold_angular

0.139626

float

physics/2d/sleep_threshold_linear

2.0

float

physics/2d/solver/contact_max_allowed_penetration

0.3

float

physics/2d/solver/contact_max_separation

1.5

float

physics/2d/solver/contact_recycle_radius

1.0

float

physics/2d/solver/default_constraint_bias

0.2

float

physics/2d/solver/default_contact_bias

0.8

int

physics/2d/solver/solver_iterations

16

float

physics/2d/time_before_sleep

0.5

float

physics/3d/default_angular_damp

0.1

float

physics/3d/default_gravity

9.8

Vector3

physics/3d/default_gravity_vector

Vector3(0, -1, 0)

float

physics/3d/default_linear_damp

0.1

String

physics/3d/physics_engine

“DEFAULT”

bool

physics/3d/run_on_separate_thread

false

float

physics/3d/sleep_threshold_angular

0.139626

float

physics/3d/sleep_threshold_linear

0.1

float

physics/3d/solver/contact_max_allowed_penetration

0.01

float

physics/3d/solver/contact_max_separation

0.05

float

physics/3d/solver/contact_recycle_radius

0.01

float

physics/3d/solver/default_contact_bias

0.8

int

physics/3d/solver/solver_iterations

16

float

physics/3d/time_before_sleep

0.5

bool

physics/common/enable_object_picking

true

int

physics/common/max_physics_steps_per_frame

8

bool

physics/common/physics_interpolation

false

float

physics/common/physics_jitter_fix

0.5

int

physics/common/physics_ticks_per_second

60

int

rendering/2d/sdf/oversize

1

int

rendering/2d/sdf/scale

1

int

rendering/2d/shadow_atlas/size

2048

bool

rendering/2d/snap/snap_2d_transforms_to_pixel

false

bool

rendering/2d/snap/snap_2d_vertices_to_pixel

false

int

rendering/anti_aliasing/quality/msaa_2d

0

int

rendering/anti_aliasing/quality/msaa_3d

0

int

rendering/anti_aliasing/quality/screen_space_aa

0

bool

rendering/anti_aliasing/quality/use_debanding

false

bool

rendering/anti_aliasing/quality/use_taa

false

float

rendering/anti_aliasing/screen_space_roughness_limiter/amount

0.25

bool

rendering/anti_aliasing/screen_space_roughness_limiter/enabled

true

float

rendering/anti_aliasing/screen_space_roughness_limiter/limit

0.18

int

rendering/camera/depth_of_field/depth_of_field_bokeh_quality

1

int

rendering/camera/depth_of_field/depth_of_field_bokeh_shape

1

bool

rendering/camera/depth_of_field/depth_of_field_use_jitter

false

String

rendering/driver/depth_prepass/disable_for_vendors

“PowerVR,Mali,Adreno,Apple”

bool

rendering/driver/depth_prepass/enable

true

int

rendering/driver/threads/thread_model

1

Color

rendering/environment/defaults/default_clear_color

Color(0.3, 0.3, 0.3, 1)

String

rendering/environment/defaults/default_environment

“”

int

rendering/environment/glow/upscale_mode

1

int

rendering/environment/glow/upscale_mode.mobile

0

int

rendering/environment/screen_space_reflection/roughness_quality

1

float

rendering/environment/ssao/adaptive_target

0.5

int

rendering/environment/ssao/blur_passes

2

float

rendering/environment/ssao/fadeout_from

50.0

float

rendering/environment/ssao/fadeout_to

300.0

bool

rendering/environment/ssao/half_size

true

int

rendering/environment/ssao/quality

2

float

rendering/environment/ssil/adaptive_target

0.5

int

rendering/environment/ssil/blur_passes

4

float

rendering/environment/ssil/fadeout_from

50.0

float

rendering/environment/ssil/fadeout_to

300.0

bool

rendering/environment/ssil/half_size

true

int

rendering/environment/ssil/quality

2

float

rendering/environment/subsurface_scattering/subsurface_scattering_depth_scale

0.01

int

rendering/environment/subsurface_scattering/subsurface_scattering_quality

1

float

rendering/environment/subsurface_scattering/subsurface_scattering_scale

0.05

int

rendering/environment/volumetric_fog/use_filter

1

int

rendering/environment/volumetric_fog/volume_depth

64

int

rendering/environment/volumetric_fog/volume_size

64

String

rendering/gl_compatibility/driver

String

rendering/gl_compatibility/driver.android

String

rendering/gl_compatibility/driver.ios

String

rendering/gl_compatibility/driver.linuxbsd

String

rendering/gl_compatibility/driver.macos

String

rendering/gl_compatibility/driver.web

String

rendering/gl_compatibility/driver.windows

bool

rendering/gl_compatibility/fallback_to_angle

true

bool

rendering/gl_compatibility/fallback_to_gles

true

bool

rendering/gl_compatibility/fallback_to_native

true

Array

rendering/gl_compatibility/force_angle_on_devices

int

rendering/gl_compatibility/item_buffer_size

16384

bool

rendering/gl_compatibility/nvidia_disable_threaded_optimization

true

bool

rendering/global_illumination/gi/use_half_resolution

false

int

rendering/global_illumination/sdfgi/frames_to_converge

5

int

rendering/global_illumination/sdfgi/frames_to_update_lights

2

int

rendering/global_illumination/sdfgi/probe_ray_count

1

int

rendering/global_illumination/voxel_gi/quality

0

int

rendering/lightmapping/bake_performance/max_rays_per_pass

32

int

rendering/lightmapping/bake_performance/max_rays_per_probe_pass

64

int

rendering/lightmapping/bake_performance/region_size

512

int

rendering/lightmapping/bake_quality/high_quality_probe_ray_count

512

int

rendering/lightmapping/bake_quality/high_quality_ray_count

512

int

rendering/lightmapping/bake_quality/low_quality_probe_ray_count

64

int

rendering/lightmapping/bake_quality/low_quality_ray_count

32

int

rendering/lightmapping/bake_quality/medium_quality_probe_ray_count

256

int

rendering/lightmapping/bake_quality/medium_quality_ray_count

128

int

rendering/lightmapping/bake_quality/ultra_quality_probe_ray_count

2048

int

rendering/lightmapping/bake_quality/ultra_quality_ray_count

2048

int

rendering/lightmapping/denoising/denoiser

0

float

rendering/lightmapping/primitive_meshes/texel_size

0.2

float

rendering/lightmapping/probe_capture/update_speed

15

bool

rendering/lights_and_shadows/directional_shadow/16_bits

true

int

rendering/lights_and_shadows/directional_shadow/size

4096

int

rendering/lights_and_shadows/directional_shadow/size.mobile

2048

int

rendering/lights_and_shadows/directional_shadow/soft_shadow_filter_quality

2

int

rendering/lights_and_shadows/directional_shadow/soft_shadow_filter_quality.mobile

0

bool

rendering/lights_and_shadows/positional_shadow/atlas_16_bits

true

int

rendering/lights_and_shadows/positional_shadow/atlas_quadrant_0_subdiv

2

int

rendering/lights_and_shadows/positional_shadow/atlas_quadrant_1_subdiv

2

int

rendering/lights_and_shadows/positional_shadow/atlas_quadrant_2_subdiv

3

int

rendering/lights_and_shadows/positional_shadow/atlas_quadrant_3_subdiv

4

int

rendering/lights_and_shadows/positional_shadow/atlas_size

4096

int

rendering/lights_and_shadows/positional_shadow/atlas_size.mobile

2048

int

rendering/lights_and_shadows/positional_shadow/soft_shadow_filter_quality

2

int

rendering/lights_and_shadows/positional_shadow/soft_shadow_filter_quality.mobile

0

bool

rendering/lights_and_shadows/tighter_shadow_caster_culling

true

bool

rendering/lights_and_shadows/use_physical_light_units

false

float

rendering/limits/cluster_builder/max_clustered_elements

512

int

rendering/limits/global_shader_variables/buffer_size

65536

int

rendering/limits/opengl/max_lights_per_object

8

int

rendering/limits/opengl/max_renderable_elements

65536

int

rendering/limits/opengl/max_renderable_lights

32

int

rendering/limits/spatial_indexer/threaded_cull_minimum_instances

1000

int

rendering/limits/spatial_indexer/update_iterations_per_frame

10

float

rendering/limits/time/time_rollover_secs

3600

float

rendering/mesh_lod/lod_change/threshold_pixels

1.0

int

rendering/occlusion_culling/bvh_build_quality

2

bool

rendering/occlusion_culling/jitter_projection

true

int

rendering/occlusion_culling/occlusion_rays_per_thread

512

bool

rendering/occlusion_culling/use_occlusion_culling

false

int

rendering/reflections/reflection_atlas/reflection_count

64

int

rendering/reflections/reflection_atlas/reflection_size

256

int

rendering/reflections/reflection_atlas/reflection_size.mobile

128

bool

rendering/reflections/sky_reflections/fast_filter_high_quality

false

int

rendering/reflections/sky_reflections/ggx_samples

32

int

rendering/reflections/sky_reflections/ggx_samples.mobile

16

int

rendering/reflections/sky_reflections/roughness_layers

8

bool

rendering/reflections/sky_reflections/texture_array_reflections

true

bool

rendering/reflections/sky_reflections/texture_array_reflections.mobile

false

String

rendering/renderer/rendering_method

“forward_plus”

String

rendering/renderer/rendering_method.mobile

“mobile”

String

rendering/renderer/rendering_method.web

“gl_compatibility”

int

rendering/rendering_device/d3d12/agility_sdk_version

613

int

rendering/rendering_device/d3d12/max_misc_descriptors_per_frame

512

int

rendering/rendering_device/d3d12/max_resource_descriptors_per_frame

16384

int

rendering/rendering_device/d3d12/max_sampler_descriptors_per_frame

1024

String

rendering/rendering_device/driver

String

rendering/rendering_device/driver.android

String

rendering/rendering_device/driver.ios

String

rendering/rendering_device/driver.linuxbsd

String

rendering/rendering_device/driver.macos

String

rendering/rendering_device/driver.windows

bool

rendering/rendering_device/pipeline_cache/enable

true

float

rendering/rendering_device/pipeline_cache/save_chunk_size_mb

3.0

int

rendering/rendering_device/staging_buffer/block_size_kb

256

int

rendering/rendering_device/staging_buffer/max_size_mb

128

int

rendering/rendering_device/staging_buffer/texture_upload_region_size_px

64

int

rendering/rendering_device/vsync/frame_queue_size

2

int

rendering/rendering_device/vsync/swapchain_image_count

3

int

rendering/rendering_device/vulkan/max_descriptors_per_pool

64

float

rendering/scaling_3d/fsr_sharpness

0.2

int

rendering/scaling_3d/mode

0

float

rendering/scaling_3d/scale

1.0

bool

rendering/shader_compiler/shader_cache/compress

true

bool

rendering/shader_compiler/shader_cache/enabled

true

bool

rendering/shader_compiler/shader_cache/strip_debug

false

bool

rendering/shader_compiler/shader_cache/strip_debug.release

true

bool

rendering/shader_compiler/shader_cache/use_zstd_compression

true

bool

rendering/shading/overrides/force_lambert_over_burley

false

bool

rendering/shading/overrides/force_lambert_over_burley.mobile

true

bool

rendering/shading/overrides/force_vertex_shading

false

bool

rendering/shading/overrides/force_vertex_shading.mobile

true

int

rendering/textures/canvas_textures/default_texture_filter

1

int

rendering/textures/canvas_textures/default_texture_repeat

0

int

rendering/textures/decals/filter

3

int

rendering/textures/default_filters/anisotropic_filtering_level

2

float

rendering/textures/default_filters/texture_mipmap_bias

0.0

bool

rendering/textures/default_filters/use_nearest_mipmap_filter

false

int

rendering/textures/light_projectors/filter

3

bool

rendering/textures/lossless_compression/force_png

false

bool

rendering/textures/vram_compression/import_etc2_astc

false

bool

rendering/textures/vram_compression/import_s3tc_bptc

false

int

rendering/textures/webp_compression/compression_method

2

float

rendering/textures/webp_compression/lossless_compression_factor

25

bool

rendering/viewport/hdr_2d

false

bool

rendering/viewport/transparent_background

false

int

rendering/vrs/mode

0

String

rendering/vrs/texture

“”

float

threading/worker_pool/low_priority_thread_ratio

0.3

int

threading/worker_pool/max_threads

-1

String

xr/openxr/default_action_map

“res://openxr_action_map.tres”

bool

xr/openxr/enabled

false

int

xr/openxr/environment_blend_mode

“0”

bool

xr/openxr/extensions/eye_gaze_interaction

false

bool

xr/openxr/extensions/hand_interaction_profile

false

bool

xr/openxr/extensions/hand_tracking

true

int

xr/openxr/form_factor

“0”

bool

xr/openxr/foveation_dynamic

false

int

xr/openxr/foveation_level

“0”

int

xr/openxr/reference_space

“1”

bool

xr/openxr/startup_alert

true

bool

xr/openxr/submit_depth_buffer

false

int

xr/openxr/view_configuration

“1”

bool

xr/shaders/enabled

false

方法

void

add_property_info(hint: Dictionary)

void

clear(name: String)

Array[Dictionary]

get_global_class_list()

int

get_order(name: String) const

Variant

get_setting(name: String, default_value: Variant = null) const

Variant

get_setting_with_override(name: StringName) const

String

globalize_path(path: String) const

bool

has_setting(name: String) const

bool

load_resource_pack(pack: String, replace_files: bool = true, offset: int = 0)

String

localize_path(path: String) const

Error

save()

Error

save_custom(file: String)

void

set_as_basic(name: String, basic: bool)

void

set_as_internal(name: String, internal: bool)

void

set_initial_value(name: String, value: Variant)

void

set_order(name: String, position: int)

void

set_restart_if_changed(name: String, restart: bool)

void

set_setting(name: String, value: Variant)


信号

settings_changed() 🔗

任何设置项发生改变的时候发出,每个处理帧最多一次。


属性说明

bool animation/warnings/check_angle_interpolation_type_conflicting = true 🔗

如果为 trueAnimationMixer 会打印由于 AnimationMixer 缓存中混合了多种角度插值类型而导致插值被迫选择最短旋转路径的警告。


bool animation/warnings/check_invalid_track_paths = true 🔗

如果为 true,则 AnimationMixer 打印场景中轨道路径没有匹配对象的警告。


Color application/boot_splash/bg_color = Color(0.14, 0.14, 0.14, 1) 🔗

启动界面的背景色。


bool application/boot_splash/fullsize = true 🔗

如果为 true,引擎启动时会将启动界面图像缩放到整个窗口的大小(保持长宽比)。如果为 false,引擎将保持其默认像素大小。


String application/boot_splash/image = "" 🔗

图像的路径,会作为启动画面使用。留空时将使用默认的 Godot 引擎启动画面。

注意:仅在 application/boot_splash/show_imagetrue 时有效。

注意:只支持 PNG 格式。使用其他图像格式会导致出错。

注意:使用编辑器打开该项目时也会显示这个图像。如果你希望在编辑器中使用默认的启用画面,请针对 editor_hint 特性添加一个空的覆盖项。


int application/boot_splash/minimum_display_time = 0 🔗

启动画面的最小显示时间(单位为毫秒)。不建议设置为过高的值。


bool application/boot_splash/show_image = true 🔗

如果为 true,将在引擎启动时显示 application/boot_splash/image 所指定的图像。为 false 时,仅显示 application/boot_splash/bg_color 所指定的纯色。


bool application/boot_splash/use_filter = true 🔗

如果为 true,则在缩放图像时会应用线性过滤(推荐用于高分辨率图稿)。如果为 false,则使用最近邻插值(推荐用于像素画)。


bool application/config/auto_accept_quit = true 🔗

如果为 true,则该应用程序会自动接受退出请求。


String application/config/custom_user_dir_name = "" 🔗

This user directory is used for storing persistent data (user:// filesystem). If a custom directory name is defined, this name will be appended to the system-specific user data directory (same parent folder as the Godot configuration folder documented in OS.get_user_data_dir).

The application/config/use_custom_user_dir setting must be enabled for this to take effect.

Note: If application/config/custom_user_dir_name contains trailing periods, they will be stripped as folder names ending with a period are not allowed on Windows.


String application/config/description = "" 🔗

项目的描述,在项目管理器中悬停时显示为工具提示。


String application/config/icon = "" 🔗

项目所使用的图标,在项目加载时设置。导出器也会在必要时使用此图标作为回退。


String application/config/macos_native_icon = "" 🔗

设置 macOS 上游戏的图标,使用 .icns 图标集格式。启动时会通过调用 DisplayServer.set_native_icon 自动完成。


String application/config/name = "" 🔗

项目名称。会在项目管理器和导出器中使用。可以通过翻译本地化文件中的值来翻译项目名称。窗口标题将设置为在启动时自动匹配项目名称。

注意:如果 application/config/use_custom_user_dirfalse,更改此值也会更改用户数据文件夹的路径。重命名项目后,你将无法再访问 user:// 中的现有数据,除非你重命名旧文件夹以匹配新项目名称。有关更多信息,请参阅文档中的 《数据路径》


Dictionary application/config/name_localized = {} 🔗

项目名称的翻译。操作系统工具会使用此设置来翻译 Android、iOS 和 macOS 上的应用程序名称。


String application/config/project_settings_override = "" 🔗

指定一个文件来覆盖项目设置。例如:user://custom_settings.cfg。参见 ProjectSettings 顶部类描述中的“Overriding”以获取更多信息。

注意:不管这个设置的值如何,res://override.cfg 仍然会被读取来覆盖项目设置。


bool application/config/quit_on_go_back = true 🔗

如果为 true,则该应用程序会在导航返回时自动退出(例如在 Android 上使用系统“返回”键)。


bool application/config/use_custom_user_dir = false 🔗

如果为 true,项目会将用户数据保存到它自己的用户目录中。如果 application/config/custom_user_dir_name 为空,将使用 <操作系统用户数据目录>/<项目名称> 目录。如果为 false,项目会将用户数据保存到 <操作系统用户数据目录>/Godot/app_userdata/<项目名称>

另见 Godot 项目中的文件路径。该设置仅在桌面平台上有效。


bool application/config/use_hidden_project_data_directory = true 🔗

如果为 true,该项目会使用隐藏目录(.godot)来存储项目特定的数据(元数据、着色器缓存等)。

如果为 false,将改用非隐藏目录(godot)。

注意:请在更改此设置后重新启动应用程序。

注意:修改这个值可能有助于在禁止使用隐藏目录模式的平台或第三方工具上使用。但是,仅在你确定你的环境需要更改此设置时才进行修改,因为某些外部工具或插件可能使用默认的 .godot 文件夹,因此更改默认设置可能会影响它们的使用。


String application/config/version = "" 🔗

项目的人类可读版本标识符。如果导出器中没有覆盖版本标识符,就会使用这个标识符。如果 application/config/version 为空字符串,并且导出器中没有覆盖版本标识符,则导出器会使用 1.0.0 作为版本标识符。


String application/config/windows_native_icon = "" 🔗

设置 Windows 上游戏的图标,使用 .ico 图标集格式。启动时会通过调用 DisplayServer.set_native_icon 自动完成。


bool application/run/delta_smoothing = true 🔗

帧增量的时间样本可能会受到平台带来的随机影响,即使垂直同步能够让帧按照固定的间隔显示也无济于事。因此可能导致卡顿。增量平滑通常能够带来更好的效果,会通过过滤输入增量来修改刷新率带来的微小波动。

注意:只会在 display/window/vsync/vsync_modeenabled 时尝试进行增量平滑,因为没有垂直同步时无法很好地工作。

最开始激活平滑前可能会需要有若干秒的稳定帧率。只会在性能足以让渲染帧与刷新率匹配的机器上激活。


bool application/run/disable_stderr = false 🔗

如果为 true,则禁用打印到标准错误。如果为 true,也会隐藏由 @GlobalScope.push_error@GlobalScope.push_warning 打印的错误和警告消息。另见 application/run/disable_stdout

对该设置项的更改将只在重新启动应用程序后生效。


bool application/run/disable_stdout = false 🔗

如果为 true,则禁用打印到标准输出。相当于使用 --quiet 命令行参数启动编辑器或项目。另见 application/run/disable_stderr

对该设置项的更改将只在重新启动应用程序后生效。


bool application/run/enable_alt_space_menu = false 🔗

如果为 true,则允许 Alt + 空格 键显示窗口菜单。用户能够通过窗口菜单执行移动、调整大小、最小化等窗口管理操作。

注意:显示窗口菜单时会暂停项目运行,直到该菜单完全关闭,这是 Windows 的行为。在网络多人游戏中启用该设置时请考虑这一点。完全关闭的意思是,选择了某个选项,用户点击菜单外部,或打开窗口菜单后按下 ESC 键并且此后按下了另一个按键。

注意:该设置仅在 Windows 上实现。


bool application/run/flush_stdout_on_print = false 🔗

如果为 true,则每次打印一行时刷新标准输出流。这会影响终端日志记录和文件日志记录。

运行项目时,如果希望由 systemd/journalctl 等服务管理器收集日志,则必须启用此设置。默认情况下,在发布版本中禁用此设置,因为如果快速连续打印大量行,则在每个打印行上刷新都会对性能产生负面影响。此外,如果启用此设置,如果应用程序崩溃或以其他方式被用户杀死(不会“正常”关闭),则仍会成功写入日志文件。

注意:无论此设置如何,标准错误流 (stderr) 在打印一行时总是被刷新。

对此设置的更改只会在重新启动应用程序时应用。


bool application/run/flush_stdout_on_print.debug = true 🔗

调试构建覆盖application/run/flush_stdout_on_print,因为在调试过程中性能不那么重要。

仅在重新启动应用程序时才会应用此设置的更改。


int application/run/frame_delay_msec = 0 🔗

强制主循环中的帧之间有恒定的延迟(以毫秒为单位)。在大多数情况下,应首选 application/run/max_fps 作为 FPS 限制器,因为它更精确。

可以使用 --frame-delay <ms;> 命令行参数覆盖该设置。


bool application/run/low_processor_mode = false 🔗

If true, enables low-processor usage mode. When enabled, the engine takes longer to redraw, but only redraws the screen if necessary. This may lower power consumption, and is intended for editors or mobile applications. For most games, because the screen needs to be redrawn every frame, it is recommended to keep this setting disabled.


int application/run/low_processor_mode_sleep_usec = 6900 🔗

启用低处理器使用模式时帧间的睡眠量(以微秒计)。值越高,CPU占用率越低。


String application/run/main_loop_type = "SceneTree" 🔗

实现引擎主循环的类型名称。


String application/run/main_scene = "" 🔗

项目运行时将加载的主场景文件的路径。


int application/run/max_fps = 0 🔗

每秒允许的最大帧数。0 表示“不限制”。如果 CPU 或 GPU 无法满足项目逻辑和渲染,则实际每秒的帧数可能仍然比这个值小。

限制 FPS 可以降低系统对电源的消耗,能够降低发热、减少噪音(延长移动设备的电池寿命)。

display/window/vsync/vsync_modeEnabledAdaptive 时,该设置优先生效,强制的 FPS 数无法超过显示器的刷新率。

display/window/vsync/vsync_modeEnabled 时,在启用了可变刷新率(G-Sync/FreeSync)的显示器上使用比显示器刷新率略低几帧的 FPS 限制会降低输入延迟,避免画面撕裂

display/window/vsync/vsync_modeDisabled 时,与不限制帧率相比,将 FPS 限制设为系统所能达到的较高值能够降低输入延迟。因为原理是确保 GPU 负载低于 100%,所以只有在 GPU 为瓶颈时才会降低延迟,无法缓解 CPU 瓶颈导致的延迟。

另见 physics/common/physics_ticks_per_second

这个设置可以使用 --max-fps <fps> 命令行参数覆盖(设为 0 则是不限制帧率)。

注意:这个属性仅在项目启动时读取。要在运行时修改渲染 FPS 上限,请改为设置 Engine.max_fps


bool application/run/print_header = true 🔗

如果为 true,则启动时在控制台中打印引擎标头。该标头描述了引擎的当前版本以及正在使用的渲染器。也可以使用 --no-header 选项在命令行上禁用该行为。


float audio/buses/channel_disable_threshold_db = -60.0 🔗

当声音在给定的时间内低于给定的 dB 阈值时,音频总线将自动关闭。这可以节省 CPU,因为分配给该总线的效果将不再做任何处理。


float audio/buses/channel_disable_time = 2.0 🔗

当声音在给定的时间内低于给定的 dB 阈值时,音频总线将自动关闭。这可以节省 CPU,因为分配给该总线的效果将不再做任何处理。


String audio/buses/default_bus_layout = "res://default_bus_layout.tres" 🔗

项目中使用的默认 AudioBusLayout 资源文件,除非被场景覆盖。


String audio/driver/driver 🔗

指定要使用的音频驱动程序。这个设置与平台有关,因为不同的平台支持不同的音频驱动。如果留空,将使用默认的音频驱动程序。

Dummy 音频驱动程序会禁用所有的音频播放和录制,对非游戏应用程序很有用,因为会减少对 CPU 的使用。它还可以防止引擎作为正在播放音频的应用程序出现在操作系统的音频混合器中。

注意:运行时可以通过 --audio-driver 命令行参数覆盖所使用的驱动程序。


bool audio/driver/enable_input = false 🔗

如果为 true,会允许麦克风输入。导出到 Android 和 iOS 时需要设置合适的权限。

注意:如果操作系统(根据该用户的隐私设置)阻止了对音频输入设备的访问,那么音频捕获只会返回静音。自 Windows 10 起,请确保在操作系统的隐私设置中允许应用对麦克风的访问。


int audio/driver/mix_rate = 44100 🔗

用于音频的混合率(单位:Hz)。一般来说,最好不要碰这个,把它留给主机操作系统。


int audio/driver/mix_rate.web = 0 🔗

audio/driver/mix_rate 在 Web 平台上更安全的覆盖项。这里的 0 表示“让浏览器选择”(因为有些浏览器不喜欢强制混合率)。


int audio/driver/output_latency = 15 🔗

Specifies the preferred output latency in milliseconds for audio. Lower values will result in lower audio latency at the cost of increased CPU usage. Low values may result in audible crackling on slower hardware.

Audio output latency may be constrained by the host operating system and audio hardware drivers. If the host can not provide the specified audio output latency then Godot will attempt to use the nearest latency allowed by the host. As such you should always use AudioServer.get_output_latency to determine the actual audio output latency.

Audio output latency can be overridden using the --audio-output-latency <ms> command line argument.

Note: This setting is ignored on Android, and on all versions of Windows prior to Windows 10.


int audio/driver/output_latency.web = 50 🔗

audio/driver/output_latency 在 Web 平台上更安全的覆盖项,能够避免一些音频问题,尤其是在移动设备上。


float audio/general/2d_panning_strength = 0.5 🔗

所有 AudioStreamPlayer2D 节点的声像效果的基本强度。可以使用 AudioStreamPlayer2D.panning_strength 在每个节点上进一步缩放声像强度。0.0 的值会完全禁用立体声声像,只保留音量衰减。如果声音恰好位于听者的左侧(或右侧),则 1.0 的值会使其中一个通道完全静音。

0.5 的默认值是针对耳机进行调谐的。当使用扬声器时,可能会发现较低的值效果更好,因为与耳机相比,扬声器的立体声分离度较低。


float audio/general/3d_panning_strength = 0.5 🔗

所有 AudioStreamPlayer3D 节点的声像效果的基本强度。可以使用 AudioStreamPlayer3D.panning_strength 在每个节点上进一步缩放声像强度。0.0 的值会完全禁用立体声声像,只保留音量衰减。如果声音恰好位于听者的左侧(或右侧),则 1.0 的值会使其中一个通道完全静音。

0.5 的默认值是针对耳机进行调谐的。当使用扬声器时,可能会发现较低的值效果更好,因为与耳机相比,扬声器的立体声分离度较低。


int audio/general/default_playback_type = 0 🔗

实验性: 未来版本中可能会修改或移除该属性。

Specifies the default playback type of the platform.

The default value is set to Stream, as most platforms have no issues mixing streams.


int audio/general/default_playback_type.web = 1 🔗

实验性: 未来版本中可能会修改或移除该属性。

Specifies the default playback type of the Web platform.

The default value is set to Sample as the Web platform is not suited to mix audio streams outside of the Web Audio API, especially when exporting a single-threaded game. Sample allows for lower latency on the web platform at the cost of flexibility (AudioEffects are not supported).

Warning: Forcing Stream on the Web platform may cause high audio latency and crackling, especially when exporting a multi-threaded game.


bool audio/general/ios/mix_with_others = false 🔗

设置 iOS 的 AVAudioSession 的 mixWithOthers 选项。当类别为 Play and RecordPlaybackMulti Route 时会覆盖混音行为。

Ambient 默认会设置这个选项。


int audio/general/ios/session_category = 0 🔗

设置 iOS 的 AVAudioSessionCategory。如果需要让手机在静音模式时也进行声音输出,请使用 Playback 类别。


bool audio/general/text_to_speech = false 🔗

如果为 true,则启用文本转语音(Text-to-Speech,TTS)支持,见 DisplayServer.tts_get_voicesDisplayServer.tts_speak

注意:启用 TTS 会增加空闲 CPU 的占用,影响睡眠模式,所以请在不需要 TTS 时考虑将其关闭。


int audio/video/video_delay_compensation_ms = 0 🔗

播放视频时设置为硬编码音频延迟。除非你知道自己在做什么,否则最好保持不变。


bool collada/use_ambient = false 🔗

如果为 true,则 COLLADA 模型中的环境光源会被导入为 DirectionalLight3D。如果为 false,则会忽略环境光源。


int compression/formats/gzip/compression_level = -1 🔗

gzip 的默认压缩级别。影响压缩的场景和资源。较高的级别会以压缩速度为代价导致文件变小。解压缩速度大多不受压缩级别的影响。-1 使用默认的 gzip 压缩级别,该级别与 6 相同,但由于底层 zlib 更新,未来可能会发生变化。


int compression/formats/zlib/compression_level = -1 🔗

Zlib 的默认压缩级别。影响压缩的场景和资源。较高的级别会以压缩速度为代价导致文件变小。解压缩速度大多不受压缩级别的影响。-1 使用默认的 gzip 压缩级别,该级别与 6 相同,但由于底层 zlib 更新,未来可能会发生变化。


int compression/formats/zstd/compression_level = 3 🔗

Zstandard 的默认压缩级别。影响压缩的场景和资源。较高的级别会以压缩速度为代价导致文件变小。解压缩速度大多不受压缩级别的影响。


bool compression/formats/zstd/long_distance_matching = false 🔗

启用 Zstandard 的长距离匹配


int compression/formats/zstd/window_log_size = 27 🔗

使用 Zstandard 的长距离匹配进行压缩时,允许的最大大小限制(2 的幂)。更高的值可以产生更好的压缩,但是在压缩和解压缩时需要更多的内存。


Color debug/canvas_items/debug_redraw_color = Color(1, 0.2, 0.2, 0.5) 🔗

如果画布项重绘调试处于活动状态,则画布项重绘时会使用这个颜色进行闪光。


float debug/canvas_items/debug_redraw_time = 1.0 🔗

如果画布项重绘调试处于活动状态,则这个选项表示画布项每次重绘时闪光的持续时间。


bool debug/file_logging/enable_file_logging = false 🔗

如果为 true,则会将所有输出和错误消息保存在文件中。另见 debug/file_logging/log_pathdebug/file_logging/max_log_filesapplication/run/flush_stdout_on_print


bool debug/file_logging/enable_file_logging.pc = true 🔗

debug/file_logging/enable_file_logging 在桌面平台的覆盖项,因为在移动/Web 平台上不容易访问日志文件。


String debug/file_logging/log_path = "user://logs/godot.log" 🔗

项目日志文件的存储路径。建议使用 user:// 中的路径。

也可以使用 --log-file <file> 命令行参数手动设置。如果指定了这个命令行参数,则会自动禁用日志轮换(见 debug/file_logging/max_log_files)。


int debug/file_logging/max_log_files = 5 🔗

指定允许的最大日志文件数(用于轮换)。设置为 1 将禁用日志文件轮转。

如果使用 --log-file <file> 命令行参数 ,则始终禁用日志轮转。


int debug/gdscript/warnings/assert_always_false = 1 🔗

设为 warnerror 时,会在 assert 调用永远求值为 false 时对应产生警告或错误。


int debug/gdscript/warnings/assert_always_true = 1 🔗

设为 warnerror 时,会在 assert 调用永远求值为 true 时对应产生警告或错误。


int debug/gdscript/warnings/confusable_capture_reassignment = 1 🔗

When set to warn or error, produces a warning or an error respectively when a local variable captured by a lambda is reassigned, since this does not modify the outer local variable.


int debug/gdscript/warnings/confusable_identifier = 1 🔗

设为 warnerror 时,会在标识符中的字符可能与其他东西产生混淆时对应产生警告或错误,例如混用不同的字母表。


int debug/gdscript/warnings/confusable_local_declaration = 1 🔗

设为 warnerror 时,会在嵌套块中声明的标识符与父块中下面声明的标识符同名时,分别产生警告或错误。


int debug/gdscript/warnings/confusable_local_usage = 1 🔗

设为 warnerror 时,会在该块下的一个将被隐藏的标识符被使用时,分别产生警告或错误。


int debug/gdscript/warnings/constant_used_as_function = 1 🔗

已弃用: This warning is never produced. Instead, an error is generated if the expression type is known at compile time.

设为 warnerror 时,会在将常量当作函数使用时对应产生警告或错误。


int debug/gdscript/warnings/deprecated_keyword = 1 🔗

设为 warnerror 时,会在使用已启用的关键字时对应产生警告或错误。

注意:目前没有弃用的关键字,因此不会产生该警告。


int debug/gdscript/warnings/empty_file = 1 🔗

设为 warnerror 时,会在解析空文件时对应产生警告或错误。


bool debug/gdscript/warnings/enable = true 🔗

如果为 true,则启用特定的 GDScript 警告(请参阅 debug/gdscript/warnings/* 设置)。如果为 false,则禁用所有 GDScript 警告。


int debug/gdscript/warnings/enum_variable_without_default = 1 🔗

设置为 warnerror 时,如果变量具有枚举类型但没有明确的默认值,且枚举不包含 0 作为有效值时,会分别产生一个警告或一个错误。


bool debug/gdscript/warnings/exclude_addons = true 🔗

如果为 true,则 res://addons 文件夹中的脚本不会生成警告。


int debug/gdscript/warnings/function_used_as_property = 1 🔗

已弃用: This warning is never produced. When a function is used as a property, a Callable is returned.

设置为 warnerror 时,当函数作为属性使用时会分别产生一个警告或一个错误。


int debug/gdscript/warnings/get_node_default_without_onready = 2 🔗

设置为 warnerror 时,当 Node.get_node(或简写 $)被用作一个没有 @onready 注解的类变量的默认值时,会分别产生一个警告或一个错误 。


int debug/gdscript/warnings/incompatible_ternary = 1 🔗

设置为 warnerror 时,当三元运算符可能发出具有不兼容类型的值时,分别产生一个警告或一个错误。


int debug/gdscript/warnings/inference_on_variant = 2 🔗

设置为 warnerror 时,当静态推断类型使用一个 Variant 作为初始值时,这使得静态类型也成为 Variant,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/inferred_declaration = 0 🔗

设置为 warnerror 时,当变量、常量或参数具有隐式推断的静态类型时,分别产生警告或错误。

注意:如果你希望始终显式指定类型,则推荐该警告,除了 debug/gdscript/warnings/untyped_declaration。使 INFERRED_DECLARATION 警告级别高于 UNTYPED_DECLARATION 警告级别意义不大,且不被推荐。


int debug/gdscript/warnings/int_as_enum_without_cast = 1 🔗

设置为 warnerror 时,当尝试将整数用作没有显式转换的枚举时,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/int_as_enum_without_match = 1 🔗

设置为 warnerror 时,当在尝试将整数用作枚举,且没有与该数值匹配的枚举成员时,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/integer_division = 1 🔗

设置为 warnerror 时,当一个整数除以另一个整数时(小数部分将被丢弃),会分别产生一个警告或一个错误。


int debug/gdscript/warnings/narrowing_conversion = 1 🔗

设置为 warnerror 时,在将浮点值传递给需要整数的函数时(它将被转换并失去精度),会分别产生一个警告或一个错误。


int debug/gdscript/warnings/native_method_override = 2 🔗

设置为 warnerror 时,当脚本中的方法覆盖本地方法,因为它可能不会按预期运行时,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/onready_with_export = 2 🔗

设置为 warnerror 时,当 @onready 注解与 @export 注解一起使用时,因为它可能不会按预期运行,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/property_used_as_function = 1 🔗

已弃用: This warning is never produced. Instead, an error is generated if the expression type is known at compile time.

设置为 warnerror 时,当像函数一样使用一个属性时,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/redundant_await = 1 🔗

设置为 warnerror 时,当使用 await 调用一个非协程的函数时,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/redundant_static_unload = 1 🔗

设为 warnerror 时,会在 @static_unload 注解用于不包含任何静态变量的脚本时对应产生警告或错误。


bool debug/gdscript/warnings/renamed_in_godot_4_hint = 1 🔗

启用后,使用自 Godot 3 以来重命名的属性、枚举或函数,将在发生错误时产生一个提示。


int debug/gdscript/warnings/return_value_discarded = 0 🔗

设置为 warnerror 时,当调用函数却不使用其返回值(通过将其分配给变量或将其用作函数参数)时,会分别产生一个警告或一个错误。这些返回值有时使用 Error 枚举来指示可能的错误。


int debug/gdscript/warnings/shadowed_global_identifier = 1 🔗

设置为 warnerror 时,当定义一个与内置函数或全局类同名的局部变量或成员变量、信号或枚举,从而隐藏该内置函数或全局类时,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/shadowed_variable = 1 🔗

设置为 warnerror 时,当定义一个局部变量或成员变量,且该变量将隐藏该类定义的成员变量时,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/shadowed_variable_base_class = 1 🔗

设置为 warnerror 时,当定义一个局部变量或子类成员变量,且该变量将隐藏从父类继承的变量时,将分别产生一个警告或一个错误。


int debug/gdscript/warnings/standalone_expression = 1 🔗

设置为 warnerror 时,当调用可能对周围代码没有影响的表达式,例如将 2 + 2 写为语句时,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/standalone_ternary = 1 🔗

设置为 warnerror 时,当调用可能对周围代码没有影响的三元表达式,例如将 42 if active else 0 写为语句时,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/static_called_on_instance = 1 🔗

设置为 warnerror 时,当从类的实例而不是直接从类调用静态方法时,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/unassigned_variable = 1 🔗

设置为 warnerror 时,当使用以前未分配的变量时,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/unassigned_variable_op_assign = 1 🔗

设置为 warnerror 时,当使用 += 等赋值运算符分配一个变量,且该变量以前未分配时,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/unreachable_code = 1 🔗

设置为 warnerror 时,当检测到无法访问的代码(例如始终在 return 语句之后被执行的代码)时,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/unreachable_pattern = 1 🔗

设置为 warnerror 时,当检测到无法到达的 match 模式时,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/unsafe_call_argument = 0 🔗

设置为 warnerror 时,当使用类型可能与函数参数预期的类型不兼容的表达式时,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/unsafe_cast = 0 🔗

设为 warnerror 时,当 Variant 值转换为非 Variant 时,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/unsafe_method_access = 0 🔗

设置为 warnerror 时,当调用类中不能保证在编译时存在的方法时,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/unsafe_property_access = 0 🔗

设置为 warnerror 时,当访问类中不能保证在编译时存在的属性时,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/unsafe_void_return = 1 🔗

设置为 warnerror 时,当从 void 函数返回一个调用,且无法保证该调用也是 void 时,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/untyped_declaration = 0 🔗

设置为 warnerror 时,当变量或参数没有静态类型,或函数没有静态返回类型时,会分别产生一个警告或一个错误。

注意:建议将该警告与 EditorSettings.text_editor/completion/add_type_hints 一起使用,以帮助实现类型安全。


int debug/gdscript/warnings/unused_local_constant = 1 🔗

设置为 warnerror 时,当一个局部常量从未被使用时,分别产生一个警告或一个错误。


int debug/gdscript/warnings/unused_parameter = 1 🔗

设置为 warnerror 时,当一个函数参数从未使用时,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/unused_private_class_variable = 1 🔗

设置为 warnerror 时,当一个私有成员变量从未被使用时,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/unused_signal = 1 🔗

设置为 warnerror 时,当信号在类中声明但从未明确使用时,会分别产生一个警告或一个错误。


int debug/gdscript/warnings/unused_variable = 1 🔗

设置为 warnerror 时,当一个局部变量未被使用时,会分别产生一个警告或一个错误。


String debug/settings/crash_handler/message = "Please include this when reporting the bug to the project developer." 🔗

引擎崩溃时,在回溯之前显示的消息。默认情况下,由于仅限编辑器的覆盖会应用于该设置,故该消息仅用于导出的项目中。


String debug/settings/crash_handler/message.editor = "Please include this when reporting the bug on: https://github.com/godotengine/godot/issues" 🔗

debug/settings/crash_handler/message 的仅限编辑器的覆盖。不会影响以调试或发布模式导出的项目。


int debug/settings/gdscript/max_call_stack = 1024 🔗

调试 GDScript 时允许的最大调用堆栈。


int debug/settings/profiler/max_functions = 16384 🔗

分析时单帧允许的最大函数数量。


int debug/settings/profiler/max_timestamp_query_elements = 256 🔗

Maximum number of timestamp query elements allowed per frame for visual profiling.


bool debug/settings/stdout/print_fps = false 🔗

每秒将帧率打印到标准输出。


bool debug/settings/stdout/print_gpu_profile = false 🔗

每秒将 GPU 配置文件信息打印到标准输出。这包括平均每帧需要 GPU 渲染多长时间,细分为渲染管道的不同步骤,例如 CanvasItems、阴影、辉光等。


bool debug/settings/stdout/verbose_stdout = false 🔗

运行时将更多信息打印到标准输出。它显示诸如内存泄漏、正在加载哪些场景和资源等信息。这也可以使用 --verbose-v 命令行参数来启用,即使在导出的项目中也是如此。另见 OS.is_stdout_verbose and @GlobalScope.print_verbose


bool debug/shader_language/warnings/device_limit_exceeded = true 🔗

设为 true 时,当着色器超出设备极限时会产生警告。目前唯一检测的设备极限是 Uniform 缓冲的大小。未来会加入更多设备极限。


bool debug/shader_language/warnings/enable = true 🔗

如果为 true,则启用特定的着色器警告(请参阅 debug/shader_language/warnings/* 设置)。如果为 false,则禁用所有着色器警告。


bool debug/shader_language/warnings/float_comparison = true 🔗

设为 true 时,当使用 ==!= 运算符直接比较两个浮点数时,会产生警告。


bool debug/shader_language/warnings/formatting_error = true 🔗

设为 true 时,当遇到格式错误时会产生警告。目前唯一检测的是空语句。未来可能加入更多格式错误。


bool debug/shader_language/warnings/magic_position_write = true 🔗

当设置为 true 时,如果着色器包含 POSITION = vec4(vertex,,则会产生警告,因为这是在 Godot 4.2 及更早版本中编写的非常常见的代码,与 QuadMesh 配对以产生一个全屏后期处理阶段。在 4.3 中切换到反转 z 后,该技巧不再有效,因为它隐式依赖于 VERTEX.z 为 0。


bool debug/shader_language/warnings/treat_warnings_as_errors = false 🔗

设为 true 时,会将警告作为错误对待。


bool debug/shader_language/warnings/unused_constant = true 🔗

设为 true 时,当从未使用某个常量时会产生警告。


bool debug/shader_language/warnings/unused_function = true 🔗

设为 true 时,当从未使用某个函数时会产生警告。


bool debug/shader_language/warnings/unused_local_variable = true 🔗

设为 true 时,当从未使用某个局部变量时会产生警告。


bool debug/shader_language/warnings/unused_struct = true 🔗

设为 true 时,当从未使用某个结构体时会产生警告。


bool debug/shader_language/warnings/unused_uniform = true 🔗

设为 true 时,当从未使用某个 uniform 时会产生警告。


bool debug/shader_language/warnings/unused_varying = true 🔗

设为 true 时,当从未使用某个 varying 时会产生警告。


Color debug/shapes/avoidance/agents_radius_color = Color(1, 1, 0, 0.25) 🔗

避障代理半径的颜色,在“调试”菜单中启用“显示避障”时可见。


bool debug/shapes/avoidance/enable_agents_radius = true 🔗

如果处于启用状态,会在启用“调试”菜单中的“显示避障”时显示避障代理的半径。


bool debug/shapes/avoidance/enable_obstacles_radius = true 🔗

如果处于启用状态,会在启用“调试”菜单中的“显示避障”时显示避障障碍物的半径。


bool debug/shapes/avoidance/enable_obstacles_static = true 🔗

如果处于启用状态,会在启用“调试”菜单中的“显示避障”时显示静态避障障碍物。


Color debug/shapes/avoidance/obstacles_radius_color = Color(1, 0.5, 0, 0.25) 🔗

避障障碍物半径的颜色,在调试菜单中启用“显示避障”时可见。


Color debug/shapes/avoidance/obstacles_static_edge_pushin_color = Color(1, 0, 0, 1) 🔗

静态障碍物的顶点缠绕顺序会将代理推入时,障碍物边的颜色,在调试菜单中启用“显示避障”时可见。


Color debug/shapes/avoidance/obstacles_static_edge_pushout_color = Color(1, 1, 0, 1) 🔗

静态障碍物的顶点缠绕顺序会将代理推出时,障碍物边的颜色,在调试菜单中启用“显示避障”时可见。


Color debug/shapes/avoidance/obstacles_static_face_pushin_color = Color(1, 0, 0, 0) 🔗

静态障碍物的顶点缠绕顺序会将代理推入时,障碍物面的颜色,在调试菜单中启用“显示避障”时可见。


Color debug/shapes/avoidance/obstacles_static_face_pushout_color = Color(1, 1, 0, 0.5) 🔗

静态障碍物的顶点缠绕顺序会将代理推出时,障碍物面的颜色,在调试菜单中启用“显示避障”时可见。


Color debug/shapes/collision/contact_color = Color(1, 0.2, 0.1, 0.8) 🔗

碰撞形状之间接触点的颜色,在调试菜单中启用“显示碰撞形状”时可见。


bool debug/shapes/collision/draw_2d_outlines = true 🔗

设置当调试菜单中的启用“显示碰撞形状”时,2D 物理是否会在游戏中显示碰撞轮廓。


int debug/shapes/collision/max_contacts_displayed = 10000 🔗

当在调试菜单中启用“显示碰撞形状”时,碰撞形状之间显示的最大接触点数。


Color debug/shapes/collision/shape_color = Color(0, 0.6, 0.7, 0.42) 🔗

碰撞形状的颜色,当在调试菜单中启用“显示碰撞形状”时可见。


Color debug/shapes/navigation/agent_path_color = Color(1, 0, 0, 1) 🔗

用于显示已启用的导航代理路径的颜色,代理启用调试时生效。


float debug/shapes/navigation/agent_path_point_size = 4.0 🔗

栅格大小(像素),如果导航代理启用了调试,则会用于渲染该代理的路径点。


Color debug/shapes/navigation/edge_connection_color = Color(1, 0, 1, 1) 🔗

用于显示导航区域之间的边缘连接的颜色,在“调试”菜单中,启用“可见导航”时可见。


bool debug/shapes/navigation/enable_agent_paths = true 🔗

如果处于启用状态,会在导航代理启用调试时显示其路径。


bool debug/shapes/navigation/enable_agent_paths_xray = true 🔗

如果处于启用状态,会在导航代理启用调试时透过几何体显示其路径。


bool debug/shapes/navigation/enable_edge_connections = true 🔗

如果处于启用状态,会在启用“调试”菜单中的“显示导航”时显示导航地区之间的边缘连接。


bool debug/shapes/navigation/enable_edge_connections_xray = true 🔗

如果处于启用状态,会在启用“调试”菜单中的“显示导航”时透过几何体显示导航地区之间的边缘连接。


bool debug/shapes/navigation/enable_edge_lines = true 🔗

如果处于启用状态,会在启用“调试”菜单中的“显示导航”时显示导航网格多边形的边缘。


bool debug/shapes/navigation/enable_edge_lines_xray = true 🔗

如果处于启用状态,会在启用“调试”菜单中的“显示导航”时透过几何体显示导航网格多边形的边缘。


bool debug/shapes/navigation/enable_geometry_face_random_color = true 🔗

如果处于启用状态,会在启用“调试”菜单中的“显示导航”时为每个导航网格多边形面使用随机颜色着色。


bool debug/shapes/navigation/enable_link_connections = true 🔗

如果处于启用状态,会在启用“调试”菜单中的“显示导航”时显示导航链接的连接。


bool debug/shapes/navigation/enable_link_connections_xray = true 🔗

如果处于启用状态,会在启用“调试”菜单中的“显示导航”时透过几何体显示导航链接的连接。


Color debug/shapes/navigation/geometry_edge_color = Color(0.5, 1, 1, 1) 🔗

用于显示已启用导航网格多边形边缘的颜色,在“调试”菜单中启用“显示导航”时可见。


Color debug/shapes/navigation/geometry_edge_disabled_color = Color(0.5, 0.5, 0.5, 1) 🔗

用于显示已禁用导航网格多边形边缘的颜色,在“调试”菜单中启用“显示导航”时可见。


Color debug/shapes/navigation/geometry_face_color = Color(0.5, 1, 1, 0.4) 🔗

用于显示已启用导航网格多边形面的颜色,在“调试”菜单中启用“显示导航”时可见。


Color debug/shapes/navigation/geometry_face_disabled_color = Color(0.5, 0.5, 0.5, 0.4) 🔗

用于显示已禁用导航网格多边形面的颜色,在“调试”菜单中启用“显示导航”时可见。


Color debug/shapes/navigation/link_connection_color = Color(1, 0.5, 1, 1) 🔗

导航链接连接的颜色,在调试菜单中启用“显示导航”时可见。


Color debug/shapes/navigation/link_connection_disabled_color = Color(0.5, 0.5, 0.5, 1) 🔗

被禁用的导航链接连接的颜色,在调试菜单中启用“显示导航”时可见。


Color debug/shapes/paths/geometry_color = Color(0.1, 1, 0.7, 0.4) 🔗

曲线路径几何图形的颜色,在“调试”菜单中启用“可见路径”时可见。


float debug/shapes/paths/geometry_width = 2.0 🔗

曲线路径几何图形的线宽,在“调试”菜单中启用“可见路径”时可见。


String display/display_server/driver 🔗

设置显示服务器要使用的驱动程序。该属性不能直接编辑,请改用特定平台的覆盖项来设置驱动程序。


String display/display_server/driver.android 🔗

display/display_server/driver 在 Android 的覆盖项。


String display/display_server/driver.ios 🔗

display/display_server/driver 在 iOS 的覆盖项。


String display/display_server/driver.linuxbsd 🔗

display/display_server/driver 在 LinuxBSD 的覆盖项。


String display/display_server/driver.macos 🔗

display/display_server/driver 在 macOS 的覆盖项。


String display/display_server/driver.windows 🔗

display/display_server/driver 在 Windows 的覆盖项。


String display/mouse_cursor/custom_image = "" 🔗

鼠标光标的自定义图像(最大 256×256)。


Vector2 display/mouse_cursor/custom_image_hotspot = Vector2(0, 0) 🔗

自定义鼠标光标图像的热点。


Vector2 display/mouse_cursor/tooltip_position_offset = Vector2(10, 10) 🔗

工具提示相对于鼠标光标热点的位置偏移量。


bool display/window/dpi/allow_hidpi = true 🔗

如果为 true ,则允许在 Windows、macOS、Android、iOS 和 Web 上使用 HiDPI 显示器。如果为 false ,则在 HiDPI 显示器上将使用该平台的低 DPI 回退,这样会导致窗口模糊或像素化的方式显示(并且可能导致各种窗口管理问题)。因此,建议你让项目支持多个分辨率,而不是禁用此设置。

注意:这个设置在 Linux 上无效,因为 Linux 不支持 DPI 感知回退。


bool display/window/energy_saving/keep_screen_on = true 🔗

如果为 true,则保持屏幕打开(即使在不活动的情况下),因此屏幕保护程序不会接管。适用于桌面和移动平台。


bool display/window/energy_saving/keep_screen_on.editor_hint = false 🔗

display/window/energy_saving/keep_screen_on 的编辑器覆盖项。不影响运行的项目。


int display/window/handheld/orientation = 0 🔗

在移动设备上使用的默认屏幕朝向。可能的取值见 ScreenOrientation

注意:设为竖屏时,该项目设置不会自动翻转项目分辨率的宽度和高度。你必须设置与之相对应的 display/window/size/viewport_widthdisplay/window/size/viewport_height


bool display/window/ios/allow_high_refresh_rate = true 🔗

如果为 true,则允许支持高刷新率“ProMotion”的 iOS 设备以每秒 120 帧的速度渲染。


bool display/window/ios/hide_home_indicator = true 🔗

如果为 true,home 指示器将自动隐藏。这只会影响没有物理 home 键的 iOS 设备。


bool display/window/ios/hide_status_bar = true 🔗

如果为 true,则状态栏将在应用程序运行时隐藏。


bool display/window/ios/suppress_ui_gesture = true 🔗

如果为 true,则需要两次滑动才能访问使用手势的 iOS UI。

注意:如果 hide_home_indicatortrue,则该设置对 home 指示器没有影响。


bool display/window/per_pixel_transparency/allowed = false 🔗

如果为 true,则允许窗口背景的逐像素透明度。这样会影响性能,因此除非需要,否则请将其保留为 false。另见 display/window/size/transparentrendering/viewport/transparent_background


bool display/window/size/always_on_top = false 🔗

强制主窗口始终置顶。

注意:该设置在 iOS、Android 和 Web 上被忽略。


bool display/window/size/borderless = false 🔗

强制主窗口无边框。

注意:该设置在 iOS、Android 和 Web 上被忽略。


bool display/window/size/extend_to_title = false 🔗

主窗口的内容会扩展到整个窗口的大小。与无边框窗口不同的是,窗口的框架仍是完整的,可以用来调整窗口的大小,标题栏是透明的,但有最小/最大/关闭按钮。

注意:该设置只在 macOS 上实现。


Vector2i display/window/size/initial_position = Vector2i(0, 0) 🔗

主窗口的初始位置(使用虚拟桌面坐标),该设置仅在 display/window/size/initial_position_type 设置为“Absolute”(0 )时使用。

注意:该设置仅影响导出的项目,或者当项目从命令行运行时。在编辑器中,请改用 EditorSettings.run/window_placement/rect_custom_position 的值。


int display/window/size/initial_position_type = 1 🔗

主窗口的初始位置。

0 - “Absolute(绝对位置)”,窗口位置用 display/window/size/initial_position 设置。

1 - “Primary Screen Center(主屏幕中心)”。

2 - “Other Screen Center(其他屏幕中心)”, 屏幕用 display/window/size/initial_screen 设置。

注意:该设置仅影响导出的项目,或者当项目从命令行运行时。在编辑器中,请改用 EditorSettings.run/window_placement/rect 的值。


int display/window/size/initial_screen = 0 🔗

主窗口的初始屏幕,该设置仅在 display/window/size/initial_position_type 被设置为“Other Screen Center”(2 )时使用。

注意:该设置仅影响导出的项目,或者当项目从命令行运行时。在编辑器中,请改用 EditorSettings.run/window_placement/screen 的值。


int display/window/size/mode = 0 🔗

主窗口的模式。可能的取值以及各个模式的行为请参阅 WindowMode


bool display/window/size/no_focus = false 🔗

主窗口无法成为焦点。无焦点的窗口将忽略除鼠标点击之外的所有输入。


bool display/window/size/resizable = true 🔗

如果为 true,则默认允许窗口调整大小。

注意:该属性仅在项目启动时读取。要更改窗口在运行时是否可调整大小,请改在根窗口上设置 Window.unresizable,这样可以使用 get_viewport().get_window() 检索根窗口。Window.unresizable 采用与该设置相反的值。

注意:某些窗口管理器可以被配置为忽略窗口的不可调整大小状态。不要依赖该设置来保证窗口永远不会调整大小。

注意:该设置在 iOS 上被忽略。


bool display/window/size/transparent = false 🔗

如果为 true,则启用窗口管理器提示,表示主窗口背景能够透明。这并不会让背景变得透明。要让背景变透明,根视口必须也通过启用 rendering/viewport/transparent_background 来变得透明。

注意:要使用透明的启动画面,请将 application/boot_splash/bg_color 设为 Color(0, 0, 0, 0)

注意:如果 display/window/per_pixel_transparency/allowedfalse,则这个设置项无效。


int display/window/size/viewport_height = 648 🔗

设置游戏的主视口高度。在桌面平台上,这也是初始窗口高度,在 2D 编辑器中使用靛蓝色的矩形表示。使用 canvas_itemsviewport 拉伸模式时也会以此作为参考。另见 display/window/size/viewport_widthdisplay/window/size/window_width_overridedisplay/window/size/window_height_override


int display/window/size/viewport_width = 1152 🔗

设置游戏的主视口宽度。在桌面平台上,这也是初始窗口宽度,在 2D 编辑器中使用靛蓝色的矩形表示。使用 canvas_itemsviewport 拉伸模式时也会以此作为参考。另见 display/window/size/viewport_heightdisplay/window/size/window_width_overridedisplay/window/size/window_height_override


int display/window/size/window_height_override = 0 🔗

在桌面平台上,覆盖游戏的初始窗口高度。另见 display/window/size/window_width_overridedisplay/window/size/viewport_widthdisplay/window/size/viewport_height

注意:默认情况下,或者当设置为0 时,初始窗口高度为 display/window/size/viewport_height。在 iOS、Android 和 Web 上会忽略这个设置。


int display/window/size/window_width_override = 0 🔗

在桌面平台上,覆盖游戏的初始窗口宽度。另见 display/window/size/window_height_overridedisplay/window/size/viewport_widthdisplay/window/size/viewport_height

注意:默认情况下,或者当设置为 0 时,初始窗口宽度为 display/window/size/viewport_width。在 iOS、Android 和 Web 上会忽略该设置。


String display/window/stretch/aspect = "keep" 🔗

该属性目前没有描述,请帮我们贡献一个吧!


String display/window/stretch/mode = "disabled" 🔗

Defines how the base size is stretched to fit the resolution of the window or screen.

“disabled”: No stretching happens. One unit in the scene corresponds to one pixel on the screen. In this mode, display/window/stretch/aspect has no effect. Recommended for non-game applications.

“canvas_items”: The base size specified in width and height in the project settings is stretched to cover the whole screen (taking display/window/stretch/aspect into account). This means that everything is rendered directly at the target resolution. 3D is unaffected, while in 2D, there is no longer a 1:1 correspondence between sprite pixels and screen pixels, which may result in scaling artifacts. Recommended for most games that don’t use a pixel art aesthetic, although it is possible to use this stretch mode for pixel art games too (especially in 3D).

“viewport”: The size of the root Viewport is set precisely to the base size specified in the Project Settings’ Display section. The scene is rendered to this viewport first. Finally, this viewport is scaled to fit the screen (taking display/window/stretch/aspect into account). Recommended for games that use a pixel art aesthetic.


float display/window/stretch/scale = 1.0 🔗

2D 元素缩放系数的乘数。这个乘数会与由 display/window/stretch/mode 决定的最终缩放系数相乘。如果使用的是 Disabled 拉伸模式,那么这个缩放系数是原样使用的。可以通过调节这个数值来让 UI 则某些屏幕上更易于阅读。


String display/window/stretch/scale_mode = "fractional" 🔗

决定 2D 元素最终缩放系数的策略。会影响 display/window/stretch/scale 的使用,与 display/window/stretch/mode 决定的自动缩放系数共同生效。

“fractional”:小数。不改变缩放系数。

“integer”:整数。将缩放系数向下取整,屏幕大小始终为基础视口大小的整数倍。能够显示锐利的像素风画面。

注意:使用整数缩放并设置拉伸模式时,将窗口大小调整得比基础视口大小更小会将内容进行裁剪。请考虑将 Window.min_size 设为与 display/window/size/viewport_widthdisplay/window/size/viewport_height 定义的基础视口大小一致,避免这种情况的发生。


bool display/window/subwindows/embed_subwindows = true 🔗

如果为 true 则子窗口是嵌入到主窗口中的。


int display/window/vsync/vsync_mode = 1 🔗

设置游戏主窗口的垂直同步模式。编辑器自己的垂直同步模式可以使用 EditorSettings.interface/editor/vsync_mode 来设置。

请参阅 VSyncMode 了解可能的值以及它们如何影响应用程序的行为。

根据平台和渲染方法,如果所需的模式不受支持,则引擎将回退到 Enabled

可以在命令行中使用 --disable-vsync 命令行参数禁用 V-Sync。

注意:**AdaptiveMailbox**垂直同步模式仅支持 Forward+ 和 Mobile 渲染方法,不支持 Compatibility。

注意:这个属性只在项目启动时读取。要在运行时改变垂直同步模式,请改为调用 DisplayServer.window_set_vsync_mode


String dotnet/project/assembly_name = "" 🔗

.NET 程序集的名称。这个名称会被用作 .csproj.sln 文件的名称。默认情况下,它被设置为项目的名称(application/config/name),这样将来进行修改时就不会影响 .NET 程序集。


int dotnet/project/assembly_reload_attempts = 3 🔗

重新构建 .NET 程序集后尝试重新加载程序集的次数。实际也是等待脚本程序集卸载完成的超时秒数。


String dotnet/project/solution_directory = "" 🔗

包含 .sln 文件的目录。默认情况下,.sln 文件在项目目录的根部,和 project.godot.csproj 文件在同一个目录。

改变这个值可以设置包含多个 .csproj 的多项目方案。请记住,Godot 项目被认为是工作空间中的 C# 项目之一,根目录应该包含 project.godot.csproj


bool editor/export/convert_text_resources_to_binary = true 🔗

If true, text resource (tres) and text scene (tscn) files are converted to their corresponding binary format on export. This decreases file sizes and speeds up loading slightly.

Note: Because a resource’s file extension may change in an exported project, it is heavily recommended to use @GDScript.load or ResourceLoader instead of FileAccess to load resources dynamically.

Note: The project settings file (project.godot) will always be converted to binary on export, regardless of this setting.


int editor/import/atlas_max_width = 2048 🔗

作为图集导入纹理时使用的最大宽度。使用时会将取值向上取整到最近的二次幂。这个设置可以防止导入的纹理在其他方向上增长得过大。


bool editor/import/reimport_missing_imported_files = true 🔗

该属性目前没有描述,请帮我们贡献一个吧!


bool editor/import/use_multiple_threads = true 🔗

如果为 true,则会多线程执行资源的导入。


bool editor/movie_writer/disable_vsync = false 🔗

如果为 true,则在写入电影时会请求禁用垂直同步(类似于将 display/window/vsync/vsync_mode 设置为 Disabled)。如果硬件的渲染速度足够快,那么就可以加速视频的写入,以高于显示器刷新率的帧速率渲染、编码和保存视频。

注意:如果操作系统或图形驱动程序强制垂直同步,则应用程序无法禁用,editor/movie_writer/disable_vsync 无效。


int editor/movie_writer/fps = 60 🔗

输出电影时,在视频中每秒记录的帧数。仿真速度将调整为始终与指定的帧数相匹配,这意味着引擎在较高的 editor/movie_writer/fps 值下会显得运行较慢。部分 FPS 值将需要你调整 editor/movie_writer/mix_rate,防止音频随着时间的推移而出现不同步。

可以在命令行中使用 --fixed-fps <fps> 命令行参数手动指定。


int editor/movie_writer/mix_rate = 48000 🔗

写入影片时,录制的音频所使用的音频混合采样率(单位为 Hz)。可以和 audio/driver/mix_rate 不同,但这个值必须能够被 editor/movie_writer/fps 整除,从而防止音频可能逐渐不同步的问题。


float editor/movie_writer/mjpeg_quality = 0.75 🔗

JPEG 质量,将视频写入 AVI 文件时使用,介于 0.011.0(含)之间。quality 值越高,输出效果越好看,但文件大小也越大。quality 的推荐值为 0.750.9 之间。即使质量为 1.0,JPEG 压缩仍然有损。

注意:这不会影响音频质量和 PNG 图像序列的写入。


String editor/movie_writer/movie_file = "" 🔗

影片的输出路径。文件扩展名决定要使用的 MovieWriter

Godot 有两个内置的 MovieWriter

  • AVI 容器,视频使用 MJPEG、音频未压缩(文件扩展名为 .avi)。有损压缩,文件大小中等,编码较快。有损压缩质量可以通过 editor/movie_writer/mjpeg_quality 调整。得到的文件可以使用大多数视频播放器查看,但必须转换成其他格式才能在 Web 或 Godot 的 VideoStreamPlayer 中播放。MJPEG 不支持透明度。AVI 输出目前有单文件 4 GB 的大小限制。

  • 视频使用 PNG 图像序列,音频使用 WAV(文件扩展名为 .png)。无损压缩,文件大小较大,编码较慢。旨在录制后使用 FFmpeg 等其他工具编码为视频文件。目前不支持透明度,即便将根视口设为透明也不行。

如果需要编码为其他格式,或者将流导入至第三方软件,你可以扩展 MovieWriter 类,创建自己的影片写入器。

使用 PNG 输出时,帧号将附加在文件名末尾。帧号从 0 开始,会补齐至 8 位数字,从而确保能够正确排序,处理起来也更方便。例如,如果输出路径为 /tmp/hello.png,那么前两帧就是 /tmp/hello00000000.png/tmp/hello00000001.png。音频将保存在 /tmp/hello.wav


int editor/movie_writer/speaker_mode = 0 🔗

保存电影时,录制的音频中所使用的扬声器模式。可能的值见 SpeakerMode


String editor/naming/default_signal_callback_name = "_on_{node_name}_{signal_name}" 🔗

信号回调名称的默认格式(在信号连接对话框中使用)。可以使用以下替换:{NodeName}{nodeName}{node_name}{SignalName}{signalName}{signal_name}


String editor/naming/default_signal_callback_to_self_name = "_on_{signal_name}" 🔗

信号回调名称的默认格式,用于连接到与发出信号相同节点的情况(在信号连接对话框中使用)。可以使用以下替换:{NodeName}{nodeName}{node_name}{SignalName}{signalName}{signal_name}


int editor/naming/node_name_casing = 0 🔗

自动创建节点名称时,该项目所使用的大小写类型。主要是编辑器设置。


int editor/naming/node_name_num_separator = 0 🔗

用什么来分隔节点名称和编号。这主要是一个编辑器的设置。


int editor/naming/scene_name_casing = 2 🔗

根据场景根节点生成场景文件名称时,该项目所使用的大小写类型。主要是编辑器设置。


int editor/naming/script_name_casing = 0 🔗

根据所选节点生成脚本文件名称时,该项目所使用的大小写类型。主要是编辑器设置。


String editor/run/main_run_args = "" 🔗

运行项目时附加到 Godot 自己的命令行的命令行参数。这不会影响编辑器本身。

可以使用 %command% 占位符使另一个可执行文件运行 Godot。占位符将替换为 Godot 自己的命令行。程序特定的参数应该放在占位符之前,而 Godot 特定参数应该放在占位符之后

例如,这可用于强制项目在 Linux 上的 NVIDIA Optimus 系统中的专用 GPU 上运行:

  1. prime-run %command%

PackedStringArray editor/script/search_in_file_extensions = PackedStringArray("gd", "gdshader") 🔗

脚本编辑器的“在文件中查找”特性中包含的基于文本的文件扩展名。你可以添加例如 tscn,如果你也想解析你的场景文件,特别是如果你使用的是在场景文件中序列化的内置脚本。

Note: The returned array is copied and any changes to it will not update the original property value. See PackedStringArray for more details.


String editor/script/templates_search_path = "res://script_templates" 🔗

对于项目特定的脚本模板的搜索路径。Godot 将在编辑器的特定路径和此项目的路径中搜索。


bool editor/version_control/autoload_on_startup = false 🔗

该属性目前没有描述,请帮我们贡献一个吧!


String editor/version_control/plugin_name = "" 🔗

该属性目前没有描述,请帮我们贡献一个吧!


bool filesystem/import/blender/enabled = true 🔗

如果为 true,扩展名为 .blend 的 Blender 3D 场景文件会通过转换为 glTF 2.0 来导入。

需要在编辑器设置 filesystem/import/blender/blender_path 中,配置 Blender 可执行文件的路径。需要 Blender 3.0 或更高版本。


bool filesystem/import/blender/enabled.android = false 🔗

filesystem/import/blender/enabled 在 Android 上的覆盖项,Godot 无法轻易访问到 Blender。


bool filesystem/import/blender/enabled.web = false 🔗

filesystem/import/blender/enabled 在 Web 上的覆盖项,Godot 无法轻易访问到 Blender。


bool filesystem/import/fbx2gltf/enabled = true 🔗

如果为 true,扩展名为 .fbx 的 Autodesk FBX 3D 场景文件会通过转换为 glTF 2.0 来导入。

需要在编辑器设置 EditorSettings.filesystem/import/fbx/fbx2gltf_path 中,配置 FBX2glTF 可执行文件的路径。


bool filesystem/import/fbx2gltf/enabled.android = false 🔗

filesystem/import/fbx2gltf/enabled 在 Android 上的覆盖项,在 Android 上 Godot 无法轻易访问到 FBX2glTF。


bool filesystem/import/fbx2gltf/enabled.web = false 🔗

filesystem/import/fbx2gltf/enabled 在 Web 上的覆盖项,在 Web 上 Godot 无法轻易访问到 FBX2glTF。


int gui/common/default_scroll_deadzone = 0 🔗

ScrollContainer.scroll_deadzone,它将用于所有 ScrollContainer,除非fug。


bool gui/common/snap_controls_to_pixels = true 🔗

如果为 true,则将 Control 节点的顶点吸附到最近的像素,确保即便相机发生移动或缩放也能够保持锐利。


bool gui/common/swap_cancel_ok 🔗

如果为 true ,则会在 Windows 上交换对话框中的确定取消按钮,从而遵循界面规范。可以使用 DisplayServer.get_swap_cancel_ok 查询运行时是否交换这两个按钮。

注意:DisplayServer.dialog_show 等生成的原生对话框不受影响。


int gui/common/text_edit_undo_stack_max_size = 1024 🔗

TextEdit 字段的最大撤销/重做历史大小。


bool gui/fonts/dynamic_fonts/use_oversampling = true 🔗

该属性目前没有描述,请帮我们贡献一个吧!


String gui/theme/custom = "" 🔗

Theme 资源文件的路径,用于自定义项目主题(扩展名为 .theme 或通用的 .tres/.res)。


String gui/theme/custom_font = "" 🔗

自定义 Font 资源的路径,用作项目中所有 GUI 元素的默认字体。


int gui/theme/default_font_antialiasing = 1 🔗

默认项目字体的字体抗锯齿模式。见 FontFile.antialiasing

注意:这项设置不影响项目中使用的自定义 Font。请改用导入面板(见 ResourceImporterDynamicFont.antialiasing)。


bool gui/theme/default_font_generate_mipmaps = false 🔗

如果设置为 true,则默认字体将生成 mipmap。这样可以防止文本在 Control 被按比例缩小或从远距离查看 Label3D 时看起来有颗粒感(如果 Label3D.texture_filter 设置为显示 mipmap 的模式)。

启用 gui/theme/default_font_generate_mipmaps 会增加字体生成时间和内存使用量。请只在你确实需要时才启用此设置。

注意:此设置不会影响项目中使用的自定义 Font。这种情况下请改用导入面板(见 ResourceImporterDynamicFont.generate_mipmaps)。


int gui/theme/default_font_hinting = 1 🔗

默认项目字体的字体微调模式。见 FontFile.hinting

注意:这项设置不影响项目中使用的自定义 Font。请改用导入面板(见 ResourceImporterDynamicFont.hinting)。


bool gui/theme/default_font_multichannel_signed_distance_field = false 🔗

如果设置为 true,默认字体将使用多通道带符号距离场(MSDF),任何尺寸都能够进行清晰的渲染。由于这种方法不需要在每次字体大小更改时都对字体进行光栅化,因此可以实时调整字体大小,不会造成任何性能损失。对于按比例缩小的 Control(或从远距离查看的 Label3D),文本也不会看起来有颗粒感。

MSDF 字体渲染可以与 gui/theme/default_font_generate_mipmaps 结合使用,从而进一步提高缩小时的字体渲染质量。

注意:此设置不会影响项目中使用的自定义 Font。这种情况下请改用导入面板(见 ResourceImporterDynamicFont.multichannel_signed_distance_field)。


int gui/theme/default_font_subpixel_positioning = 1 🔗

默认项目字体的字体字形次像素定位模式。见 FontFile.subpixel_positioning

注意:这项设置不影响项目中使用的自定义 Font。请改用导入面板(见 ResourceImporterDynamicFont.subpixel_positioning)。


float gui/theme/default_theme_scale = 1.0 🔗

Theme 中没有覆盖缩放系数时,Control 的默认缩放系数。

注意:这个属性只在项目启动时读取。要在运行时改变默认缩放,请改为设置 ThemeDB.fallback_base_scale


int gui/theme/lcd_subpixel_layout = 1 🔗

LCD 次像素布局,用于字体抗锯齿。见 FontLCDSubpixelLayout


float gui/timers/button_shortcut_feedback_highlight_time = 0.2 🔗

启用 BaseButton.shortcut_feedback 时,按下快捷键后 BaseButton 保持高亮的时间。


int gui/timers/incremental_search_max_interval_msec = 2000 🔗

TreeItemList 等控件中为增量搜索设置计时器(单位为毫秒)。


float gui/timers/text_edit_idle_detect_sec = 3 🔗

检测 TextEdit 空闲的计时器(单位为秒)。


float gui/timers/tooltip_delay_sec = 0.5 🔗

工具提示的默认延迟(单位为秒)。


float gui/timers/tooltip_delay_sec.editor_hint = 0.5 🔗

编辑器中工具提示的延迟。


Dictionary input/ui_accept 🔗

默认 InputEventAction,用于确认焦点按钮、菜单或列表项,或用于验证输入。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_cancel 🔗

默认 InputEventAction,用于放弃模态或挂起的输入。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_copy 🔗

默认 InputEventAction,用于将选中内容复制到剪贴板。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_cut 🔗

默认 InputEventAction,用于将选中内容剪切到剪贴板。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_down 🔗

默认 InputEventAction,用于在 UI 中向下移动。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_end 🔗

默认 InputEventAction,用于前往 Control 的末尾(例如 ItemListTree 中的最后一个项目),与常见桌面 UI 系统中 @GlobalScope.KEY_END 的 行为一致。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_filedialog_refresh 🔗

默认 InputEventAction,用于刷新 FileDialog 中当前目录的内容。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_filedialog_show_hidden 🔗

默认 InputEventAction,用于开关 FileDialog 中隐藏文件和目录的显示。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_filedialog_up_one_level 🔗

默认 InputEventAction,用于在 FileDialog 前往上一级目录。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_focus_next 🔗

默认 InputEventAction,用于聚焦场景中的下一个 Control。聚焦行为可以通过 Control.focus_next 配置。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_focus_prev 🔗

默认 InputEventAction,用于聚焦场景中的上一个 Control。聚焦行为可以通过 Control.focus_previous 配置。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_graph_delete 🔗

默认 InputEventAction,用于删除 GraphEdit 中的某个 GraphNode

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_graph_duplicate 🔗

默认 InputEventAction,用于制作 GraphEdit 中某个 GraphNode 的副本。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_home 🔗

默认 InputEventAction,用于前往 Control 的开头(例如 ItemListTree 中的第一个项目),与常见桌面 UI 系统中 @GlobalScope.KEY_HOME 的 行为一致。

注意:默认的 ui_* 动作不能被删除,因为它们是几个 Control 的内部逻辑所必需的。然而,分配给动作的事件可以被修改。


Dictionary input/ui_left 🔗

默认 InputEventAction,用于在 UI 中向左移动。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_menu 🔗

默认 InputEventAction,用于在文本字段中打开上下文菜单。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_page_down 🔗

默认 InputEventAction,用于在 Control(例如 ItemListTree)中向下翻页,与常见桌面 UI 系统中 @GlobalScope.KEY_PAGEDOWN 的 行为一致。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_page_up 🔗

默认 InputEventAction,用于在 Control(例如 ItemListTree)中向上翻页,与常见桌面 UI 系统中 @GlobalScope.KEY_PAGEUP 的 行为一致。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_paste 🔗

默认 InputEventAction,用于从剪贴板粘贴内容。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_redo 🔗

默认 InputEventAction,用于重做被撤销的动作。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_right 🔗

默认 InputEventAction,用于在 UI 中向右移动。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_select 🔗

默认 InputEventAction,用于在 Control(例如 ItemListTree)中选中项目。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_swap_input_direction 🔗

默认 InputEventAction,用于交换输入方向,例如在“从左至右”和“从右至左”模式之间切换。影响文本编辑控件(LineEditTextEdit)。


Dictionary input/ui_text_add_selection_for_next_occurrence 🔗

如果文本字段的最近一个光标处存在选中的文本,则会搜索所选内容下一次出现的位置,在那个位置添加一个光标,然后选中该处的内容。

如果文本字段的最近一个光标处没有选中文本,则会选中当前光标下的单词。

该动作可以连续执行,选中最近一个光标所选文本的所有出现位置,所有现存光标均适用。

视口会根据最近新添加的文本光标进行调整。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_backspace 🔗

默认 InputEventAction,用于删除文本光标前的字符。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_backspace_all_to_left 🔗

默认 InputEventAction,用于删除文本光标前的所有文本。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_backspace_all_to_left.macos 🔗

针对 macOS 的快捷键覆盖项,对应删除文本光标前所有文本的快捷键。


Dictionary input/ui_text_backspace_word 🔗

默认 InputEventAction,用于删除光标前、空白或标点字符后的所有字符。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_backspace_word.macos 🔗

针对 macOS 的快捷键覆盖项,对应删除单词的快捷键。


Dictionary input/ui_text_caret_add_above 🔗

默认 InputEventAction,用于在文本中各个光标上方再添加一个光标。


Dictionary input/ui_text_caret_add_above.macos 🔗

针对 macOS 的快捷键覆盖项,对应在各个光标上方再添加一个光标的快捷键。


Dictionary input/ui_text_caret_add_below 🔗

默认 InputEventAction,用于在文本中各个光标下方再添加一个光标。


Dictionary input/ui_text_caret_add_below.macos 🔗

针对 macOS 的快捷键覆盖项,对应在各个光标下方再添加一个光标的快捷键。


Dictionary input/ui_text_caret_document_end 🔗

默认 InputEventAction,用于将文本光标移动到文本的末尾。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_caret_document_end.macos 🔗

针对 macOS 的快捷键覆盖项,对应将文本光标移动到文本末尾的快捷键。


Dictionary input/ui_text_caret_document_start 🔗

默认 InputEventAction,用于将文本光标移动到文本的开头。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_caret_document_start.macos 🔗

针对 macOS 的快捷键覆盖项,对应将文本光标移动到文本开头的快捷键。


Dictionary input/ui_text_caret_down 🔗

默认 InputEventAction,用于将文本光标向下移动。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_caret_left 🔗

默认 InputEventAction,用于将文本光标向左移动。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_caret_line_end 🔗

默认 InputEventAction,用于将文本光标移动到该行的末尾。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_caret_line_end.macos 🔗

针对 macOS 的快捷键覆盖项,对应将文本光标移动到改行末尾的快捷键。


Dictionary input/ui_text_caret_line_start 🔗

默认 InputEventAction,用于将文本光标移动到该行的开头。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_caret_line_start.macos 🔗

针对 macOS 的快捷键覆盖项,对应将文本光标移动到改行开头的快捷键。


Dictionary input/ui_text_caret_page_down 🔗

默认 InputEventAction,用于将文本光标向下移动一页。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_caret_page_up 🔗

默认 InputEventAction,用于将文本光标向上移动一页。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_caret_right 🔗

默认 InputEventAction,用于将文本光标向右移动。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_caret_up 🔗

默认 InputEventAction,用于将文本光标向上移动。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_caret_word_left 🔗

默认 InputEventAction,用于将文本光标向左移动到最近的空白或标点字符。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_caret_word_left.macos 🔗

针对 macOS 的快捷键覆盖项,对应将文本光标向后移动一个单词的快捷键。


Dictionary input/ui_text_caret_word_right 🔗

默认 InputEventAction,用于将文本光标向右移动到最近的空白或标点字符。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_caret_word_right.macos 🔗

针对 macOS 的快捷键覆盖项,对应将文本光标向前移动一个单词的快捷键。


Dictionary input/ui_text_clear_carets_and_selection 🔗

如果处于活动状态并且有选区的光标只有一个,则清除该选区。

如果有多个光标处于活动状态,请移除次要光标并清除其选区。

注意:默认的 ui_* 动作无法移除,因为它们对于部分 Control 的内部逻辑是必需的。但是,可以修改分配给该动作的事件。


Dictionary input/ui_text_completion_accept 🔗

默认 InputEventAction,用于接受某个自动补全提示。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_completion_query 🔗

默认 InputEventAction,用于请求自动补全。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_completion_replace 🔗

默认 InputEventAction,用于接受某个自动补全提示并替换现有文本。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_dedent 🔗

默认 InputEventAction,用于取消文本缩进。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_delete 🔗

默认 InputEventAction,用于删除文本光标后的字符。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_delete_all_to_right 🔗

默认 InputEventAction,用于删除文本光标后的所有文本。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_delete_all_to_right.macos 🔗

针对 macOS 的快捷键覆盖项,对应删除文本光标后所有文本的快捷键。


Dictionary input/ui_text_delete_word 🔗

默认 InputEventAction,用于删除光标后、空白或标点字符前的所有字符。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_delete_word.macos 🔗

针对 macOS 的快捷键覆盖项,对应删除文本光标前的单词的快捷键。


Dictionary input/ui_text_indent 🔗

默认 InputEventAction,用于缩进当前行。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_newline 🔗

默认 InputEventAction,用于在文本光标处插入换行。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_newline_above 🔗

默认 InputEventAction,用于在当前行之前插入一个空行。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_newline_blank 🔗

默认 InputEventAction,用于在当前行之后插入一个空行。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_scroll_down 🔗

默认 InputEventAction,用于向下滚动一行文本。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_scroll_down.macos 🔗

针对 macOS 的快捷键覆盖项,对应向下滚动一行的快捷键。


Dictionary input/ui_text_scroll_up 🔗

默认 InputEventAction,用于向上滚动一行文本。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_scroll_up.macos 🔗

针对 macOS 的快捷键覆盖项,对应向上滚动一行的快捷键。


Dictionary input/ui_text_select_all 🔗

默认 InputEventAction,用于全选文本。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_select_word_under_caret 🔗

如果文本框中当前没有选中文本,则选中文本光标下的单词。如果有当前选中的文本,则取消选中。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_select_word_under_caret.macos 🔗

针对 macOS 的快捷键覆盖项,对应选中光标处单词的快捷键。


Dictionary input/ui_text_skip_selection_for_next_occurrence 🔗

如果文本字段的最后一个文本光标当前未处于活动状态,则会搜索当前位于文本光标下方的单词的下一次出现的位置,并将文本光标移动到下一个出现位置。可以对最后一个文本光标下方的单词的其他出现位置依次执行该动作。

如果文本字段中最后一个文本光标当前处于活动状态,则搜索所选内容的下一个出现位置,添加文本光标,选择下一个出现位置,然后取消选择上一个选择及其关联的文本光标。可以对上一个文本光标的其他出现位置依次执行该动作。

视口会根据最近新添加的文本光标进行调整。

注意:默认的 ui_* 动作对于多个 Control 的内部逻辑是必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_submit 🔗

默认 InputEventAction,用于提交文本字段。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_text_toggle_insert_mode 🔗

默认 InputEventAction,用于开关文本字段的插入模式。在插入模式中,插入新的文本会覆盖光标后的字符,除非下一个字符是换行符。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_undo 🔗

默认 InputEventAction,用于撤销最近的动作。

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


Dictionary input/ui_up 🔗

默认在 UI 中向上移动InputEventAction

注意:默认的 ui_* 动作是部分 Control 的内部逻辑所必需的,无法删除。但是可以修改分配给该动作的事件。


bool input_devices/buffering/agile_event_flushing = false 🔗

如果为 true,按键/触摸/操纵杆事件将在每个空闲帧和物理帧之前刷新。

如果为 false,该类事件将在引擎迭代之间的每个进程帧中仅刷新一次。

启用该功能可以极大地提高对输入的响应能力,特别是在每个可见(进程)帧需要运行多个物理帧的设备中,因为它们无法以目标帧速率运行。

注意:目前只在 Android 上实现。


bool input_devices/compatibility/legacy_just_pressed_behavior = false 🔗

如果为 true,则 Input.is_action_just_pressedInput.is_action_just_released 只有在动作仍然处于相应状态时返回 true,也就是说,会忽略在同一帧按下释放的动作。

如果为 false,则不会丢失任何输入。

注意:几乎所有情况下都应该优先设置为 false。旧有行为的用途是支持老项目,这样不需要修改脚本就可以使用以前的逻辑。


String input_devices/pen_tablet/driver 🔗

指定要使用的平板驱动。如果留空,则会使用默认驱动。

注意:所使用的驱动可以通过 --tablet-driver 命令行参数在运行时进行覆盖。


String input_devices/pen_tablet/driver.windows 🔗

input_devices/pen_tablet/driver 针对 Windows 的覆盖项。


bool input_devices/pointing/android/enable_long_press_as_right_click = false 🔗

如果为 true,则在 Android 触摸屏上的长按事件会被转换为右键单击事件。


bool input_devices/pointing/android/enable_pan_and_scale_gestures = false 🔗

如果为 true,则会在 Android 设备上启用多点平移和缩放手势。


int input_devices/pointing/android/rotary_input_scroll_axis = 1 🔗

在 Wear OS 设备上,定义鼠标滚轮旋钮输入映射的轴。旋钮输入通常是通过旋转智能手表的物理或虚拟(基于触摸)表冠进行的。


bool input_devices/pointing/emulate_mouse_from_touch = true 🔗

如果为 true,则在点击或滑动触摸屏时发送鼠标输入事件。


bool input_devices/pointing/emulate_touch_from_mouse = false 🔗

如果为 true,则在点击或拖动鼠标时发送触摸输入事件。


String internationalization/locale/fallback = "en" 🔗

如果给定语言的翻译不可用,则使用默认区域设置。如果留空,将使用 en,即英文。


bool internationalization/locale/include_text_server_data = false 🔗

如果为 true,则文本服务器中断迭代规则集、字典和其他可选数据将被包含在导出的项目中。

注意:“ICU / HarfBuzz / Graphite”文本服务器数据,包括缅甸语、汉语、日语、高棉语、老挝语和泰语的词典,以及 Unicode 标准附件 #29 和 Unicode 标准附件 #14 单词和行折断规则。数据大约 4 MB。

注意:“后备”文本服务器不使用额外数据。


String internationalization/locale/test = "" 🔗

如果不为空,那么当从编辑器中运行项目时,将使用该区域设置。


bool internationalization/pseudolocalization/double_vowels = false 🔗

进行伪本地化时,重复字符串中的元音字母,模拟由于本地化而造成的文本加长。


float internationalization/pseudolocalization/expansion_ratio = 0.0 🔗

进行伪本地化时的扩展比率。取 0.3 能够适应大部分实际使用,会将每个字符串加长 30%。


bool internationalization/pseudolocalization/fake_bidi = false 🔗

如果为 true,则在启用伪本地化时模拟双向(从右至左)文本。可用于发现 RTL 布局和 UI 镜像问题,如果项目本地化为阿拉伯语或希伯来语等 RTL 语言,则会出现这些问题。


bool internationalization/pseudolocalization/override = false 🔗

将字符串中的所有字符替换为 *。用于查找不可本地化的字符串。


String internationalization/pseudolocalization/prefix = "[" 🔗

将被前置到伪本地化字符串的前缀。


bool internationalization/pseudolocalization/replace_with_accents = true 🔗

进行伪本地化时,将所有字符替换为其重音变体。


bool internationalization/pseudolocalization/skip_placeholders = true 🔗

进行伪本地化时,跳过 %s%f 等用于字符串格式的占位符。有助于识别需要额外的控制字符才能正确显示的字符串。


String internationalization/pseudolocalization/suffix = "]" 🔗

将被追加到伪本地化字符串的后缀。


bool internationalization/pseudolocalization/use_pseudolocalization = false 🔗

如果为 true,则为项目启用伪本地化。这可用于发现,一旦项目被本地化为字符串比源语言更长的语言时,可能出现的无法翻译的字符串或布局问题。

注意:只有在项目启动时该属性才会被读取。要在运行时切换伪本地化,请改用 TranslationServer.pseudolocalization_enabled


bool internationalization/rendering/force_right_to_left_layout_direction = false 🔗

强制所有控件的布局方向和文本书写方向为 RTL。


bool internationalization/rendering/root_node_auto_translate = true 🔗

如果为 true,则根节点使用 Node.AUTO_TRANSLATE_MODE_ALWAYS,否则使用 Node.AUTO_TRANSLATE_MODE_DISABLED

注意:该属性仅在项目启动时读取。要在运行时更改自动翻译模式,请改为设置 SceneTree.rootNode.auto_translate_mode


int internationalization/rendering/root_node_layout_direction = 0 🔗

根节点的默认布局方向。


String internationalization/rendering/text_driver = "" 🔗

指定要使用的 TextServer。如果留空,则会使用默认服务器。

“ICU / HarfBuzz / Graphite”是最先进的文本驱动,支持从右至左的排版和复杂文字(用于阿拉伯语、希伯来语等语言)。“Fallback”文本驱动不支持从右至左的排版和复杂文字。

注意:在运行时可以通过 --text-driver 命令行参数覆盖使用的驱动程序。

注意:另外还提供了 Dummy 文本驱动,它禁用了所有文本渲染和字体相关的功能。这个驱动没有在项目设置中列出,但可以在运行编辑器或项目时使用 --text-driver Dummy 命令行参数启用。


String layer_names/2d_navigation/layer_1 = "" 🔗

2D 导航层 1 的可选名称。留空则会显示为“层 1”。


String layer_names/2d_navigation/layer_2 = "" 🔗

2D 导航层 2 的可选名称。留空则会显示为“层 2”。


String layer_names/2d_navigation/layer_3 = "" 🔗

2D 导航层 3 的可选名称。留空则会显示为“层 3”。


String layer_names/2d_navigation/layer_4 = "" 🔗

2D 导航层 4 的可选名称。留空则会显示为“层 4”。


String layer_names/2d_navigation/layer_5 = "" 🔗

2D 导航层 5 的可选名称。留空则会显示为“层 5”。


String layer_names/2d_navigation/layer_6 = "" 🔗

2D 导航层 6 的可选名称。留空则会显示为“层 6”。


String layer_names/2d_navigation/layer_7 = "" 🔗

2D 导航层 7 的可选名称。留空则会显示为“层 7”。


String layer_names/2d_navigation/layer_8 = "" 🔗

2D 导航层 8 的可选名称。留空则会显示为“层 8”。


String layer_names/2d_navigation/layer_9 = "" 🔗

2D 导航层 9 的可选名称。留空则会显示为“层 9”。


String layer_names/2d_navigation/layer_10 = "" 🔗

2D 导航层 10 的可选名称。留空则会显示为“层 10”。


String layer_names/2d_navigation/layer_11 = "" 🔗

2D 导航层 11 的可选名称。留空则会显示为“层 11”。


String layer_names/2d_navigation/layer_12 = "" 🔗

2D 导航层 12 的可选名称。留空则会显示为“层 12”。


String layer_names/2d_navigation/layer_13 = "" 🔗

2D 导航层 13 的可选名称。留空则会显示为“层 13”。


String layer_names/2d_navigation/layer_14 = "" 🔗

2D 导航层 14 的可选名称。留空则会显示为“层 14”。


String layer_names/2d_navigation/layer_15 = "" 🔗

2D 导航层 15 的可选名称。留空则会显示为“层 15”。


String layer_names/2d_navigation/layer_16 = "" 🔗

2D 导航层 16 的可选名称。留空则会显示为“层 16”。


String layer_names/2d_navigation/layer_17 = "" 🔗

2D 导航层 17 的可选名称。留空则会显示为“层 17”。


String layer_names/2d_navigation/layer_18 = "" 🔗

2D 导航层 18 的可选名称。留空则会显示为“层 18”。


String layer_names/2d_navigation/layer_19 = "" 🔗

2D 导航层 19 的可选名称。留空则会显示为“层 19”。


String layer_names/2d_navigation/layer_20 = "" 🔗

2D 导航层 20 的可选名称。留空则会显示为“层 20”。


String layer_names/2d_navigation/layer_21 = "" 🔗

2D 导航层 21 的可选名称。留空则会显示为“层 21”。


String layer_names/2d_navigation/layer_22 = "" 🔗

2D 导航层 22 的可选名称。留空则会显示为“层 22”。


String layer_names/2d_navigation/layer_23 = "" 🔗

2D 导航层 23 的可选名称。留空则会显示为“层 23”。


String layer_names/2d_navigation/layer_24 = "" 🔗

2D 导航层 24 的可选名称。留空则会显示为“层 24”。


String layer_names/2d_navigation/layer_25 = "" 🔗

2D 导航层 25 的可选名称。留空则会显示为“层 25”。


String layer_names/2d_navigation/layer_26 = "" 🔗

2D 导航层 26 的可选名称。留空则会显示为“层 26”。


String layer_names/2d_navigation/layer_27 = "" 🔗

2D 导航层 27 的可选名称。留空则会显示为“层 27”。


String layer_names/2d_navigation/layer_28 = "" 🔗

2D 导航层 28 的可选名称。留空则会显示为“层 28”。


String layer_names/2d_navigation/layer_29 = "" 🔗

2D 导航层 29 的可选名称。留空则会显示为“层 29”。


String layer_names/2d_navigation/layer_30 = "" 🔗

2D 导航层 30 的可选名称。留空则会显示为“层 30”。


String layer_names/2d_navigation/layer_31 = "" 🔗

2D 导航层 31 的可选名称。留空则会显示为“层 31”。


String layer_names/2d_navigation/layer_32 = "" 🔗

2D 导航层 32 的可选名称。留空则会显示为“层 32”。


String layer_names/2d_physics/layer_1 = "" 🔗

2D 物理层 1 的可选名称。留空则会显示为“层 1”。


String layer_names/2d_physics/layer_2 = "" 🔗

2D 物理层 2 的可选名称。留空则会显示为“层 2”。


String layer_names/2d_physics/layer_3 = "" 🔗

2D 物理层 3 的可选名称。留空则会显示为“层 3”。


String layer_names/2d_physics/layer_4 = "" 🔗

2D 物理层 4 的可选名称。留空则会显示为“层 4”。


String layer_names/2d_physics/layer_5 = "" 🔗

2D 物理层 5 的可选名称。留空则会显示为“层 5”。


String layer_names/2d_physics/layer_6 = "" 🔗

2D 物理层 6 的可选名称。留空则会显示为“层 6”。


String layer_names/2d_physics/layer_7 = "" 🔗

2D 物理层 7 的可选名称。留空则会显示为“层 7”。


String layer_names/2d_physics/layer_8 = "" 🔗

2D 物理层 8 的可选名称。留空则会显示为“层 8”。


String layer_names/2d_physics/layer_9 = "" 🔗

2D 物理层 9 的可选名称。留空则会显示为“层 9”。


String layer_names/2d_physics/layer_10 = "" 🔗

2D 物理层 10 的可选名称。留空则会显示为“层 10”。


String layer_names/2d_physics/layer_11 = "" 🔗

2D 物理层 11 的可选名称。留空则会显示为“层 11”。


String layer_names/2d_physics/layer_12 = "" 🔗

2D 物理层 12 的可选名称。留空则会显示为“层 12”。


String layer_names/2d_physics/layer_13 = "" 🔗

2D 物理层 13 的可选名称。留空则会显示为“层 13”。


String layer_names/2d_physics/layer_14 = "" 🔗

2D 物理层 14 的可选名称。留空则会显示为“层 14”。


String layer_names/2d_physics/layer_15 = "" 🔗

2D 物理层 15 的可选名称。留空则会显示为“层 15”。


String layer_names/2d_physics/layer_16 = "" 🔗

2D 物理层 16 的可选名称。留空则会显示为“层 16”。


String layer_names/2d_physics/layer_17 = "" 🔗

2D 物理层 17 的可选名称。留空则会显示为“层 17”。


String layer_names/2d_physics/layer_18 = "" 🔗

2D 物理层 18 的可选名称。留空则会显示为“层 18”。


String layer_names/2d_physics/layer_19 = "" 🔗

2D 物理层 19 的可选名称。留空则会显示为“层 19”。


String layer_names/2d_physics/layer_20 = "" 🔗

2D 物理层 20 的可选名称。留空则会显示为“层 20”。


String layer_names/2d_physics/layer_21 = "" 🔗

2D 物理层 21 的可选名称。留空则会显示为“层 21”。


String layer_names/2d_physics/layer_22 = "" 🔗

2D 物理层 22 的可选名称。留空则会显示为“层 22”。


String layer_names/2d_physics/layer_23 = "" 🔗

2D 物理层 23 的可选名称。留空则会显示为“层 23”。


String layer_names/2d_physics/layer_24 = "" 🔗

2D 物理层 24 的可选名称。留空则会显示为“层 24”。


String layer_names/2d_physics/layer_25 = "" 🔗

2D 物理层 25 的可选名称。留空则会显示为“层 25”。


String layer_names/2d_physics/layer_26 = "" 🔗

2D 物理层 26 的可选名称。留空则会显示为“层 26”。


String layer_names/2d_physics/layer_27 = "" 🔗

2D 物理层 27 的可选名称。留空则会显示为“层 27”。


String layer_names/2d_physics/layer_28 = "" 🔗

2D 物理层 28 的可选名称。留空则会显示为“层 28”。


String layer_names/2d_physics/layer_29 = "" 🔗

2D 物理层 29 的可选名称。留空则会显示为“层 29”。


String layer_names/2d_physics/layer_30 = "" 🔗

2D 物理层 30 的可选名称。留空则会显示为“层 30”。


String layer_names/2d_physics/layer_31 = "" 🔗

2D 物理层 31 的可选名称。留空则会显示为“层 31”。


String layer_names/2d_physics/layer_32 = "" 🔗

2D 物理层 32 的可选名称。留空则会显示为“层 32”。


String layer_names/2d_render/layer_1 = "" 🔗

2D 渲染层 1 的可选名称。留空则会显示为“层 1”。


String layer_names/2d_render/layer_2 = "" 🔗

2D 渲染层 2 的可选名称。留空则会显示为“层 2”。


String layer_names/2d_render/layer_3 = "" 🔗

2D 渲染层 3 的可选名称。留空则会显示为“层 3”。


String layer_names/2d_render/layer_4 = "" 🔗

2D 渲染层 4 的可选名称。留空则会显示为“层 4”。


String layer_names/2d_render/layer_5 = "" 🔗

2D 渲染层 5 的可选名称。留空则会显示为“层 5”。


String layer_names/2d_render/layer_6 = "" 🔗

2D 渲染层 6 的可选名称。留空则会显示为“层 6”。


String layer_names/2d_render/layer_7 = "" 🔗

2D 渲染层 7 的可选名称。留空则会显示为“层 7”。


String layer_names/2d_render/layer_8 = "" 🔗

2D 渲染层 8 的可选名称。留空则会显示为“层 8”。


String layer_names/2d_render/layer_9 = "" 🔗

2D 渲染层 9 的可选名称。留空则会显示为“层 9”。


String layer_names/2d_render/layer_10 = "" 🔗

2D 渲染层 10 的可选名称。留空则会显示为“层 10”。


String layer_names/2d_render/layer_11 = "" 🔗

2D 渲染层 11 的可选名称。留空则会显示为“层 11”。


String layer_names/2d_render/layer_12 = "" 🔗

2D 渲染层 12 的可选名称。留空则会显示为“层 12”。


String layer_names/2d_render/layer_13 = "" 🔗

2D 渲染层 13 的可选名称。留空则会显示为“层 13”。


String layer_names/2d_render/layer_14 = "" 🔗

2D 渲染层 14 的可选名称。留空则会显示为“层 14”。


String layer_names/2d_render/layer_15 = "" 🔗

2D 渲染层 15 的可选名称。留空则会显示为“层 15”。


String layer_names/2d_render/layer_16 = "" 🔗

2D 渲染层 16 的可选名称。留空则会显示为“层 16”。


String layer_names/2d_render/layer_17 = "" 🔗

2D 渲染层 17 的可选名称。留空则会显示为“层 17”。


String layer_names/2d_render/layer_18 = "" 🔗

2D 渲染层 18 的可选名称。留空则会显示为“层 18”。


String layer_names/2d_render/layer_19 = "" 🔗

2D 渲染层 19 的可选名称。留空则会显示为“层 19”。


String layer_names/2d_render/layer_20 = "" 🔗

2D 渲染层 20 的可选名称。留空则会显示为“层 20”。


String layer_names/3d_navigation/layer_1 = "" 🔗

3D 导航层 1 的可选名称。留空则会显示为“层 1”。


String layer_names/3d_navigation/layer_2 = "" 🔗

3D 导航层 2 的可选名称。留空则会显示为“层 2”。


String layer_names/3d_navigation/layer_3 = "" 🔗

3D 导航层 3 的可选名称。留空则会显示为“层 3”。


String layer_names/3d_navigation/layer_4 = "" 🔗

3D 导航层 4 的可选名称。留空则会显示为“层 4”。


String layer_names/3d_navigation/layer_5 = "" 🔗

3D 导航层 5 的可选名称。留空则会显示为“层 5”。


String layer_names/3d_navigation/layer_6 = "" 🔗

3D 导航层 6 的可选名称。留空则会显示为“层 6”。


String layer_names/3d_navigation/layer_7 = "" 🔗

3D 导航层 7 的可选名称。留空则会显示为“层 7”。


String layer_names/3d_navigation/layer_8 = "" 🔗

3D 导航层 8 的可选名称。留空则会显示为“层 8”。


String layer_names/3d_navigation/layer_9 = "" 🔗

3D 导航层 9 的可选名称。留空则会显示为“层 9”。


String layer_names/3d_navigation/layer_10 = "" 🔗

3D 导航层 10 的可选名称。留空则会显示为“层 10”。


String layer_names/3d_navigation/layer_11 = "" 🔗

3D 导航层 11 的可选名称。留空则会显示为“层 11”。


String layer_names/3d_navigation/layer_12 = "" 🔗

3D 导航层 12 的可选名称。留空则会显示为“层 12”。


String layer_names/3d_navigation/layer_13 = "" 🔗

3D 导航层 13 的可选名称。留空则会显示为“层 13”。


String layer_names/3d_navigation/layer_14 = "" 🔗

3D 导航层 14 的可选名称。留空则会显示为“层 14”。


String layer_names/3d_navigation/layer_15 = "" 🔗

3D 导航层 15 的可选名称。留空则会显示为“层 15”。


String layer_names/3d_navigation/layer_16 = "" 🔗

3D 导航层 16 的可选名称。留空则会显示为“层 16”。


String layer_names/3d_navigation/layer_17 = "" 🔗

3D 导航层 17 的可选名称。留空则会显示为“层 17”。


String layer_names/3d_navigation/layer_18 = "" 🔗

3D 导航层 18 的可选名称。留空则会显示为“层 18”。


String layer_names/3d_navigation/layer_19 = "" 🔗

3D 导航层 19 的可选名称。留空则会显示为“层 19”。


String layer_names/3d_navigation/layer_20 = "" 🔗

3D 导航层 20 的可选名称。留空则会显示为“层 20”。


String layer_names/3d_navigation/layer_21 = "" 🔗

3D 导航层 21 的可选名称。留空则会显示为“层 21”。


String layer_names/3d_navigation/layer_22 = "" 🔗

3D 导航层 22 的可选名称。留空则会显示为“层 22”。


String layer_names/3d_navigation/layer_23 = "" 🔗

3D 导航层 23 的可选名称。留空则会显示为“层 23”。


String layer_names/3d_navigation/layer_24 = "" 🔗

3D 导航层 24 的可选名称。留空则会显示为“层 24”。


String layer_names/3d_navigation/layer_25 = "" 🔗

3D 导航层 25 的可选名称。留空则会显示为“层 25”。


String layer_names/3d_navigation/layer_26 = "" 🔗

3D 导航层 26 的可选名称。留空则会显示为“层 26”。


String layer_names/3d_navigation/layer_27 = "" 🔗

3D 导航层 27 的可选名称。留空则会显示为“层 27”。


String layer_names/3d_navigation/layer_28 = "" 🔗

3D 导航层 28 的可选名称。留空则会显示为“层 28”。


String layer_names/3d_navigation/layer_29 = "" 🔗

3D 导航层 29 的可选名称。留空则会显示为“层 29”。


String layer_names/3d_navigation/layer_30 = "" 🔗

3D 导航层 30 的可选名称。留空则会显示为“层 30”。


String layer_names/3d_navigation/layer_31 = "" 🔗

3D 导航层 31 的可选名称。留空则会显示为“层 31”。


String layer_names/3d_navigation/layer_32 = "" 🔗

3D 导航层 32 的可选名称。留空则会显示为“层 32”。


String layer_names/3d_physics/layer_1 = "" 🔗

3D 物理层 1 的可选名称。留空则会显示为“层 1”。


String layer_names/3d_physics/layer_2 = "" 🔗

3D 物理层 2 的可选名称。留空则会显示为“层 2”。


String layer_names/3d_physics/layer_3 = "" 🔗

3D 物理层 3 的可选名称。留空则会显示为“层 3”。


String layer_names/3d_physics/layer_4 = "" 🔗

3D 物理层 4 的可选名称。留空则会显示为“层 4”。


String layer_names/3d_physics/layer_5 = "" 🔗

3D 物理层 5 的可选名称。留空则会显示为“层 5”。


String layer_names/3d_physics/layer_6 = "" 🔗

3D 物理层 6 的可选名称。留空则会显示为“层 6”。


String layer_names/3d_physics/layer_7 = "" 🔗

3D 物理层 7 的可选名称。留空则会显示为“层 7”。


String layer_names/3d_physics/layer_8 = "" 🔗

3D 物理层 8 的可选名称。留空则会显示为“层 8”。


String layer_names/3d_physics/layer_9 = "" 🔗

3D 物理层 9 的可选名称。留空则会显示为“层 9”。


String layer_names/3d_physics/layer_10 = "" 🔗

3D 物理层 10 的可选名称。留空则会显示为“层 10”。


String layer_names/3d_physics/layer_11 = "" 🔗

3D 物理层 11 的可选名称。留空则会显示为“层 11”。


String layer_names/3d_physics/layer_12 = "" 🔗

3D 物理层 12 的可选名称。留空则会显示为“层 12”。


String layer_names/3d_physics/layer_13 = "" 🔗

3D 物理层 13 的可选名称。留空则会显示为“层 13”。


String layer_names/3d_physics/layer_14 = "" 🔗

3D 物理层 14 的可选名称。留空则会显示为“层 14”。


String layer_names/3d_physics/layer_15 = "" 🔗

3D 物理层 15 的可选名称。留空则会显示为“层 15”。


String layer_names/3d_physics/layer_16 = "" 🔗

3D 物理层 16 的可选名称。留空则会显示为“层 16”。


String layer_names/3d_physics/layer_17 = "" 🔗

3D 物理层 17 的可选名称。留空则会显示为“层 17”。


String layer_names/3d_physics/layer_18 = "" 🔗

3D 物理层 18 的可选名称。留空则会显示为“层 18”。


String layer_names/3d_physics/layer_19 = "" 🔗

3D 物理层 19 的可选名称。留空则会显示为“层 19”。


String layer_names/3d_physics/layer_20 = "" 🔗

3D 物理层 20 的可选名称。留空则会显示为“层 20”。


String layer_names/3d_physics/layer_21 = "" 🔗

3D 物理层 21 的可选名称。留空则会显示为“层 21”。


String layer_names/3d_physics/layer_22 = "" 🔗

3D 物理层 22 的可选名称。留空则会显示为“层 22”。


String layer_names/3d_physics/layer_23 = "" 🔗

3D 物理层 23 的可选名称。留空则会显示为“层 23”。


String layer_names/3d_physics/layer_24 = "" 🔗

3D 物理层 24 的可选名称。留空则会显示为“层 24”。


String layer_names/3d_physics/layer_25 = "" 🔗

3D 物理层 25 的可选名称。留空则会显示为“层 25”。


String layer_names/3d_physics/layer_26 = "" 🔗

3D 物理层 26 的可选名称。留空则会显示为“层 26”。


String layer_names/3d_physics/layer_27 = "" 🔗

3D 物理层 27 的可选名称。留空则会显示为“层 27”。


String layer_names/3d_physics/layer_28 = "" 🔗

3D 物理层 28 的可选名称。留空则会显示为“层 28”。


String layer_names/3d_physics/layer_29 = "" 🔗

3D 物理层 29 的可选名称。留空则会显示为“层 29”。


String layer_names/3d_physics/layer_30 = "" 🔗

3D 物理层 30 的可选名称。留空则会显示为“层 30”。


String layer_names/3d_physics/layer_31 = "" 🔗

3D 物理层 31 的可选名称。留空则会显示为“层 31”。


String layer_names/3d_physics/layer_32 = "" 🔗

3D 物理层 32 的可选名称。留空则会显示为“层 32”。


String layer_names/3d_render/layer_1 = "" 🔗

3D 渲染层 1 的可选名称。留空则会显示为“层 1”。


String layer_names/3d_render/layer_2 = "" 🔗

3D 渲染层 2 的可选名称。留空则会显示为“层 2”。


String layer_names/3d_render/layer_3 = "" 🔗

3D 渲染层 3 的可选名称。留空则会显示为“层 3”。


String layer_names/3d_render/layer_4 = "" 🔗

3D 渲染层 4 的可选名称。留空则会显示为“层 4”。


String layer_names/3d_render/layer_5 = "" 🔗

3D 渲染层 5 的可选名称。留空则会显示为“层 5”。


String layer_names/3d_render/layer_6 = "" 🔗

3D 渲染层 6 的可选名称。留空则会显示为“层 6”。


String layer_names/3d_render/layer_7 = "" 🔗

3D 渲染层 7 的可选名称。留空则会显示为“层 7”。


String layer_names/3d_render/layer_8 = "" 🔗

3D 渲染层 8 的可选名称。留空则会显示为“层 8”。


String layer_names/3d_render/layer_9 = "" 🔗

3D 渲染层 9 的可选名称。留空则会显示为“层 9”。


String layer_names/3d_render/layer_10 = "" 🔗

3D 渲染层 10 的可选名称。留空则会显示为“层 10”。


String layer_names/3d_render/layer_11 = "" 🔗

3D 渲染层 11 的可选名称。留空则会显示为“层 11”。


String layer_names/3d_render/layer_12 = "" 🔗

3D 渲染层 12 的可选名称。留空则会显示为“层 12”。


String layer_names/3d_render/layer_13 = "" 🔗

3D 渲染层 13 的可选名称。留空则会显示为“层 13”。


String layer_names/3d_render/layer_14 = "" 🔗

3D 渲染层 14 的可选名称。留空则会显示为“层 14”。


String layer_names/3d_render/layer_15 = "" 🔗

3D 渲染层 15 的可选名称。留空则会显示为“层 15”。


String layer_names/3d_render/layer_16 = "" 🔗

3D 渲染层 16 的可选名称。留空则会显示为“层 16”。


String layer_names/3d_render/layer_17 = "" 🔗

3D 渲染层 17 的可选名称。留空则会显示为“层 17”。


String layer_names/3d_render/layer_18 = "" 🔗

3D 渲染层 18 的可选名称。留空则会显示为“层 18”。


String layer_names/3d_render/layer_19 = "" 🔗

3D 渲染层 19 的可选名称。留空则会显示为“层 19”。


String layer_names/3d_render/layer_20 = "" 🔗

3D 渲染层 20 的可选名称。留空则会显示为“层 20”。


String layer_names/avoidance/layer_1 = "" 🔗

导航避障层 1 的可选名称。留空则会显示为“层 1”。


String layer_names/avoidance/layer_2 = "" 🔗

导航避障层 2 的可选名称。留空则会显示为“层 2”。


String layer_names/avoidance/layer_3 = "" 🔗

导航避障层 3 的可选名称。留空则会显示为“层 3”。


String layer_names/avoidance/layer_4 = "" 🔗

导航避障层 4 的可选名称。留空则会显示为“层 4”。


String layer_names/avoidance/layer_5 = "" 🔗

导航避障层 5 的可选名称。留空则会显示为“层 5”。


String layer_names/avoidance/layer_6 = "" 🔗

导航避障层 6 的可选名称。留空则会显示为“层 6”。


String layer_names/avoidance/layer_7 = "" 🔗

导航避障层 7 的可选名称。留空则会显示为“层 7”。


String layer_names/avoidance/layer_8 = "" 🔗

导航避障层 8 的可选名称。留空则会显示为“层 8”。


String layer_names/avoidance/layer_9 = "" 🔗

导航避障层 9 的可选名称。留空则会显示为“层 9”。


String layer_names/avoidance/layer_10 = "" 🔗

导航避障层 10 的可选名称。留空则会显示为“层 10”。


String layer_names/avoidance/layer_11 = "" 🔗

导航避障层 11 的可选名称。留空则会显示为“层 11”。


String layer_names/avoidance/layer_12 = "" 🔗

导航避障层 12 的可选名称。留空则会显示为“层 12”。


String layer_names/avoidance/layer_13 = "" 🔗

导航避障层 13 的可选名称。留空则会显示为“层 13”。


String layer_names/avoidance/layer_14 = "" 🔗

导航避障层 14 的可选名称。留空则会显示为“层 14”。


String layer_names/avoidance/layer_15 = "" 🔗

导航避障层 15 的可选名称。留空则会显示为“层 15”。


String layer_names/avoidance/layer_16 = "" 🔗

导航避障层 16 的可选名称。留空则会显示为“层 16”。


String layer_names/avoidance/layer_17 = "" 🔗

导航避障层 17 的可选名称。留空则会显示为“层 17”。


String layer_names/avoidance/layer_18 = "" 🔗

导航避障层 18 的可选名称。留空则会显示为“层 18”。


String layer_names/avoidance/layer_19 = "" 🔗

导航避障层 19 的可选名称。留空则会显示为“层 19”。


String layer_names/avoidance/layer_20 = "" 🔗

导航避障层 20 的可选名称。留空则会显示为“层 20”。


String layer_names/avoidance/layer_21 = "" 🔗

导航避障层 21 的可选名称。留空则会显示为“层 21”。


String layer_names/avoidance/layer_22 = "" 🔗

导航避障层 22 的可选名称。留空则会显示为“层 22”。


String layer_names/avoidance/layer_23 = "" 🔗

导航避障层 23 的可选名称。留空则会显示为“层 23”。


String layer_names/avoidance/layer_24 = "" 🔗

导航避障层 24 的可选名称。留空则会显示为“层 24”。


String layer_names/avoidance/layer_25 = "" 🔗

导航避障层 25 的可选名称。留空则会显示为“层 25”。


String layer_names/avoidance/layer_26 = "" 🔗

导航避障层 26 的可选名称。留空则会显示为“层 26”。


String layer_names/avoidance/layer_27 = "" 🔗

导航避障层 27 的可选名称。留空则会显示为“层 27”。


String layer_names/avoidance/layer_28 = "" 🔗

导航避障层 28 的可选名称。留空则会显示为“层 28”。


String layer_names/avoidance/layer_29 = "" 🔗

导航避障层 29 的可选名称。留空则会显示为“层 29”。


String layer_names/avoidance/layer_30 = "" 🔗

导航避障层 30 的可选名称。留空则会显示为“层 30”。


String layer_names/avoidance/layer_31 = "" 🔗

导航避障层 31 的可选名称。留空则会显示为“层 31”。


String layer_names/avoidance/layer_32 = "" 🔗

导航避障层 32 的可选名称。留空则会显示为“层 32”。


int memory/limits/message_queue/max_size_mb = 32 🔗

Godot 使用一个消息队列来延迟一些函数调用。如果你的空间用完了(你会看到一个错误),你可以在这里增加大小。


float navigation/2d/default_cell_size = 1.0 🔗

2D 导航地图的默认单元格大小。见 NavigationServer2D.map_set_cell_size


float navigation/2d/default_edge_connection_margin = 1.0 🔗

2D 导航地图的默认边界链接边距。见 NavigationServer2D.map_set_edge_connection_margin


float navigation/2d/default_link_connection_radius = 4.0 🔗

2D 导航地图的默认链接连接半径。见 NavigationServer2D.map_set_link_connection_radius


bool navigation/2d/use_edge_connections = true 🔗

如果启用,则 2D 导航地区会使用边缘连接来连接其他导航地区,使用的是导航地图边缘连接边距。这项设置只会影响 World2D 的默认导航地图。


float navigation/3d/default_cell_height = 0.25 🔗

3D 导航地图的默认单元格高度。见 NavigationServer3D.map_set_cell_height


float navigation/3d/default_cell_size = 0.25 🔗

3D 导航地图的默认单元格大小。见 NavigationServer3D.map_set_cell_size


float navigation/3d/default_edge_connection_margin = 0.25 🔗

3D 导航地图的默认边界链接边距。见 NavigationServer3D.map_set_edge_connection_margin


float navigation/3d/default_link_connection_radius = 1.0 🔗

3D 导航地图的默认链接连接半径。见 NavigationServer3D.map_set_link_connection_radius


Vector3 navigation/3d/default_up = Vector3(0, 1, 0) 🔗

3D 导航地图的默认上方向。见 NavigationServer3D.map_set_up


float navigation/3d/merge_rasterizer_cell_scale = 1.0 🔗

3D 导航地图的默认合并光栅化单元格缩放。请参阅 NavigationServer3D.map_set_merge_rasterizer_cell_scale


bool navigation/3d/use_edge_connections = true 🔗

如果启用,则 3D 导航地区会使用边缘连接来连接其他导航地区,使用的是导航地图边缘连接边距。这项设置只会影响 World3D 的默认导航地图。


bool navigation/avoidance/thread_model/avoidance_use_high_priority_threads = true 🔗

如果启用,并且使用多线程进行避障计算,则执行的线程为高优先级。


bool navigation/avoidance/thread_model/avoidance_use_multiple_threads = true 🔗

如果启用,则会使用多线程进行避障计算。


bool navigation/baking/thread_model/baking_use_high_priority_threads = true 🔗

如果启用,并且使用多线程进行异步导航网格烘焙,则执行的线程为高优先级。


bool navigation/baking/thread_model/baking_use_multiple_threads = true 🔗

如果启用,则会使用多线程进行异步导航网格烘焙。


bool navigation/baking/use_crash_prevention_checks = true 🔗

如果启用,当烘焙可能导致引擎崩溃时,会打断烘焙并发出错误消息进行解释。


int network/limits/debugger/max_chars_per_second = 32768 🔗

允许作为调试器输出发送的最大字符数。超过该值,内容将被丢弃。这有助于避免调试器的连接停滞。


int network/limits/debugger/max_errors_per_second = 400 🔗

允许从调试器发送的最大错误数。超过该值,内容将被丢弃。这有助于避免调试器的连接停滞。


int network/limits/debugger/max_queued_messages = 2048 🔗

调试器队列中的最大消息数。超过该值,内容将被丢弃。这有助于限制调试器的内存使用。


int network/limits/debugger/max_warnings_per_second = 400 🔗

允许从调试器发送的最大警告数。超过此值,内容将被丢弃。这有助于避免调试器的连接停滞。


int network/limits/packet_peer_stream/max_buffer_po2 = 16 🔗

用于反序列化 Godot 数据的数据包对等流 (stream) 的默认大小(以字节为单位,指定为 2 的幂)。默认值 16 等于 65,536 字节。超过此大小,数据将被丢弃。


int network/limits/tcp/connect_timeout_seconds = 30 🔗

使用TCP的连接尝试的超时(以秒为单位)。


int network/limits/webrtc/max_channel_in_buffer_kb = 64 🔗

WebRTCDataChannel 输入缓冲区的最大尺寸(单位为 kiB)。


String network/tls/certificate_bundle_override = "" 🔗

用于 TLS 连接的 CA 证书包。如果设置为非空值,这将覆盖 Godot 默认的 Mozilla 证书包。如果留空,将使用默认的证书包。

如果有疑问,请将此设置留空。


float physics/2d/default_angular_damp = 1.0 🔗

默认的 2D 旋转运动阻尼。阻尼可以用来让物理对象逐渐慢下来。RigidBody 在合并自身的阻尼值时,如果没有区域阻尼,那么就会回退到这个值。

建议使用 030 之间的值。为 0 时,对象会使用相同的速度持续移动。值越大、物体停得越快。如果大于等于物理周期(physics/common/physics_ticks_per_second),那么对象进行一次迭代就会停下来。

注意:Godot 中的阻尼计算与速度相关,即物体移动得越快、静止所需的时间就越长,不会对惯性、摩擦力、空气阻力进行仿真。因此,较重较大的物体和较轻较小的物体会以相同的比例损失速度。

每个物理周期中,Godot 会将 RigidBody 的线速度乘以 1.0 - combined_damp / physics_ticks_per_second。默认情况下,物体的合并阻尼系数 combined_damp 是该物体所有阻尼值与这个值或物体所处区域阻尼值之和。见 DampMode

警告:Godot 中的阻尼计算与仿真周期率相关。修改 physics/common/physics_ticks_per_second 可能对仿真的结果和感觉造成显著影响。只要是大于 0 的阻尼值都会有这种现象。要恢复此前的感觉,就需要修改阻尼值。修改多少并不成比例,需要根据实际情况调整。


float physics/2d/default_gravity = 980.0 🔗

2D 默认重力强度(单位为像素每平方秒)。

注意:这个属性只在项目启动时读取。要在运行时改变默认重力,请使用以下代码示例:

GDScriptC#

  1. # 将默认重力强度设置为 980。
  2. PhysicsServer2D.area_set_param(get_viewport().find_world_2d().space, PhysicsServer2D.AREA_PARAM_GRAVITY, 980)
  1. // 将默认重力强度设置为 980。
  2. PhysicsServer2D.AreaSetParam(GetViewport().FindWorld2D().Space, PhysicsServer2D.AreaParameter.Gravity, 980);

Vector2 physics/2d/default_gravity_vector = Vector2(0, 1) 🔗

2D 默认重力方向。

注意:这个属性只在项目启动时读取。要在运行时改变默认重力向量,请使用以下代码示例:

GDScriptC#

  1. # 将默认整理方向设置为 `Vector2(0, 1)`。
  2. PhysicsServer2D.area_set_param(get_viewport().find_world_2d().space, PhysicsServer2D.AREA_PARAM_GRAVITY_VECTOR, Vector2.DOWN)
  1. // 将默认整理方向设置为 `Vector2(0, 1)`。
  2. PhysicsServer2D.AreaSetParam(GetViewport().FindWorld2D().Space, PhysicsServer2D.AreaParameter.GravityVector, Vector2.Down)

float physics/2d/default_linear_damp = 0.1 🔗

默认的 2D 线性运动阻尼。阻尼可以用来让物理对象逐渐慢下来。RigidBody 在合并自身的阻尼值时,如果没有区域阻尼,那么就会回退到这个值。

建议使用 030 之间的值。为 0 时,对象会使用相同的速度持续移动。值越大、物体停得越快。如果大于等于物理周期(physics/common/physics_ticks_per_second),那么对象进行一次迭代就会停下来。

注意:Godot 中的阻尼计算与速度相关,即物体移动得越快、静止所需的时间就越长,不会对惯性、摩擦力、空气阻力进行仿真。因此,较重较大的物体和较轻较小的物体会以相同的比例损失速度。

每个物理周期中,Godot 会将 RigidBody 的线速度乘以 1.0 - combined_damp / physics_ticks_per_second,其中 combined_damp 是该物体线性阻尼值与这个值或物体所处区域阻尼值之和。这些都以物体默认合并阻尼值为前提。见 DampMode

警告:Godot 中的阻尼计算与仿真周期率相关。修改 physics/common/physics_ticks_per_second 可能对仿真的结果和感觉造成显著影响。只要是大于 0 的阻尼值都会有这种现象。要恢复此前的感觉,就需要修改阻尼值。修改多少并不成比例,需要根据实际情况调整。


String physics/2d/physics_engine = "DEFAULT" 🔗

设置 2D 物理使用哪个物理引擎。

“DEFAULT”和“GodotPhysics2D”是相同的,因为目前尚未实现备选 2D 物理服务器。


bool physics/2d/run_on_separate_thread = false 🔗

如果为 true,则 2D 物理服务器会在单独的线程上运行,能够更好地利用多核 CPU。如果为 false,则 2D 物理服务器会在主线程上运行。在单独的线程上运行物理服务器能够提高性能,但会把对 API 的访问限制在物理处理中。


float physics/2d/sleep_threshold_angular = 0.139626 🔗

角速度的阈值,在该阈值以下的 2D 物理体将被视为不活动。见 PhysicsServer2D.SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD


float physics/2d/sleep_threshold_linear = 2.0 🔗

线速度的阈值,在该阈值以下的 2D 物理体将被视为不活动。见 PhysicsServer2D.SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD


float physics/2d/solver/contact_max_allowed_penetration = 0.3 🔗

两个形状互相穿透的最大距离,超过该距离后将视为碰撞。见 PhysicsServer2D.SPACE_PARAM_CONTACT_MAX_ALLOWED_PENETRATION


float physics/2d/solver/contact_max_separation = 1.5 🔗

两个形状间的最大距离,超过该距离后它们将被视为分离,接触将被弃置。见 PhysicsServer2D.SPACE_PARAM_CONTACT_MAX_SEPARATION


float physics/2d/solver/contact_recycle_radius = 1.0 🔗

一对物体在其碰撞状态被重新计算之前的最大移动距离。见 PhysicsServer2D.SPACE_PARAM_CONTACT_RECYCLE_RADIUS


float physics/2d/solver/default_constraint_bias = 0.2 🔗

所有物理约束的默认求解器偏置。定义物体对强制约束的反应程度。见 PhysicsServer2D.SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS

不同的约束可以指定不同的偏置值(见 Joint2D.bias)。


float physics/2d/solver/default_contact_bias = 0.8 🔗

所有物理接触的默认求解器偏置。定义物体对强制接触拆分的反应程度。见 PhysicsServer2D.SPACE_PARAM_CONTACT_DEFAULT_BIAS

不同的形状可以指定不同的偏置值(见 Shape2D.custom_solver_bias)。


int physics/2d/solver/solver_iterations = 16 🔗

所有接触和约束的求解器迭代次数。迭代次数越多,碰撞越精确。然而,大量迭代也会消耗大量的 CPU 性能,可能导致性能的降低。见 PhysicsServer2D.SPACE_PARAM_SOLVER_ITERATIONS


float physics/2d/time_before_sleep = 0.5 🔗

2D 物理物体进入睡眠状态之前,所需的不活动时间(以秒为单位)。请参阅 PhysicsServer2D.SPACE_PARAM_BODY_TIME_TO_SLEEP


float physics/3d/default_angular_damp = 0.1 🔗

默认的 3D 旋转运动阻尼。阻尼可以用来让物理对象逐渐慢下来。RigidBody 在合并自身的阻尼值时,如果没有区域阻尼,那么就会回退到这个值。

建议使用 030 之间的值。为 0 时,对象会使用相同的速度持续移动。值越大、物体停得越快。如果大于等于物理周期(physics/common/physics_ticks_per_second),那么对象进行一次迭代就会停下来。

注意:Godot 中的阻尼计算与速度相关,即物体移动得越快、静止所需的时间就越长,不会对惯性、摩擦力、空气阻力进行仿真。因此,较重较大的物体和较轻较小的物体会以相同的比例损失速度。

每个物理周期中,Godot 会将 RigidBody 的角速度乘以 1.0 - combined_damp / physics_ticks_per_second。默认情况下,物体的合并阻尼系数 combined_damp 是该物体所有阻尼值与这个值或物体所处区域阻尼值之和。见 DampMode

警告:Godot 中的阻尼计算与仿真周期率相关。修改 physics/common/physics_ticks_per_second 可能对仿真的结果和感觉造成显著影响。只要是大于 0 的阻尼值都会有这种现象。要恢复此前的感觉,就需要修改阻尼值。修改多少并不成比例,需要根据实际情况调整。


float physics/3d/default_gravity = 9.8 🔗

3D 默认重力强度(单位为米每平方秒)。

注意:这个属性只在项目启动时读取。要在运行时改变默认重力,请使用以下代码示例:

GDScriptC#

  1. # 将默认重力强度设置为 9.8。
  2. PhysicsServer3D.area_set_param(get_viewport().find_world_3d().space, PhysicsServer3D.AREA_PARAM_GRAVITY, 9.8)
  1. // 将默认重力强度设置为 9.8。
  2. PhysicsServer3D.AreaSetParam(GetViewport().FindWorld3D().Space, PhysicsServer3D.AreaParameter.Gravity, 9.8);

Vector3 physics/3d/default_gravity_vector = Vector3(0, -1, 0) 🔗

3D 默认重力方向。

注意:这个属性只在项目启动时读取。要在运行时改变默认重力向量,请使用以下代码示例:

GDScriptC#

  1. # 将默认整理方向设置为 `Vector3(0, -1, 0)`。
  2. PhysicsServer3D.area_set_param(get_viewport().find_world_3d().space, PhysicsServer3D.AREA_PARAM_GRAVITY_VECTOR, Vector3.DOWN)
  1. // 将默认整理方向设置为 `Vector3(0, -1, 0)`。
  2. PhysicsServer3D.AreaSetParam(GetViewport().FindWorld3D().Space, PhysicsServer3D.AreaParameter.GravityVector, Vector3.Down)

float physics/3d/default_linear_damp = 0.1 🔗

默认的 3D 线性运动阻尼。阻尼可以用来让物理对象逐渐慢下来。RigidBody 在合并自身的阻尼值时,如果没有区域阻尼,那么就会回退到这个值。

建议使用 030 之间的值。为 0 时,对象会使用相同的速度持续移动。值越大、物体停得越快。如果大于等于物理周期(physics/common/physics_ticks_per_second),那么对象进行一次迭代就会停下来。

注意:Godot 中的阻尼计算与速度相关,即物体移动得越快、静止所需的时间就越长,不会对惯性、摩擦力、空气阻力进行仿真。因此,较重较大的物体和较轻较小的物体会以相同的比例损失速度。

每个物理周期中,Godot 会将 RigidBody 的线速度乘以 1.0 - combined_damp / physics_ticks_per_second,默认情况下,物体的合并阻尼系数 combined_damp 是该物体线性阻尼值与这个值或物体所处区域阻尼值之和。这些都以物体默认合并阻尼值为前提。见 DampMode

警告:Godot 中的阻尼计算与仿真周期率相关。修改 physics/common/physics_ticks_per_second 可能对仿真的结果和感觉造成显著影响。只要是大于 0 的阻尼值都会有这种现象。要恢复此前的感觉,就需要修改阻尼值。修改多少并不成比例,需要根据实际情况调整。


String physics/3d/physics_engine = "DEFAULT" 🔗

设置 3D 物理使用哪个物理引擎。

“DEFAULT”和“GodotPhysics3D”是相同的,因为目前尚未实现备选 3D 物理服务器。


bool physics/3d/run_on_separate_thread = false 🔗

如果为 true,则 3D 物理服务器会在单独的线程上运行,能够更好地利用多核 CPU。如果为 false,则 3D 物理服务器会在主线程上运行。在单独的线程上运行物理服务器能够提高性能,但会把对 API 的访问限制在物理处理中。


float physics/3d/sleep_threshold_angular = 0.139626 🔗

角速度的阈值,在该阈值以下的 3D 物理体将被视为不活动。见 PhysicsServer3D.SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD


float physics/3d/sleep_threshold_linear = 0.1 🔗

线速度的阈值,在该阈值以下的 3D 物理体将被视为不活动。见 PhysicsServer3D.SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD


float physics/3d/solver/contact_max_allowed_penetration = 0.01 🔗

两个形状互相穿透的最大距离,超过该距离后将视为碰撞。见 PhysicsServer2D.SPACE_PARAM_CONTACT_MAX_ALLOWED_PENETRATIONPhysicsServer3D.SPACE_PARAM_CONTACT_MAX_ALLOWED_PENETRATION


float physics/3d/solver/contact_max_separation = 0.05 🔗

两个形状间的最大距离,超过该距离后它们将被视为分离,接触将被弃置。见 PhysicsServer3D.SPACE_PARAM_CONTACT_MAX_SEPARATION


float physics/3d/solver/contact_recycle_radius = 0.01 🔗

一对物体在其碰撞状态被重新计算之前的最大移动距离。见 PhysicsServer3D.SPACE_PARAM_CONTACT_RECYCLE_RADIUS


float physics/3d/solver/default_contact_bias = 0.8 🔗

所有物理接触的默认求解器偏置。定义物体对强制接触拆分的反应程度。见 PhysicsServer3D.SPACE_PARAM_CONTACT_DEFAULT_BIAS

不同的形状可以指定不同的偏置值(见 Shape3D.custom_solver_bias)。


int physics/3d/solver/solver_iterations = 16 🔗

所有接触与约束的求解器迭代数。迭代次数越多,碰撞越准确。但是,大量的迭代会需要更多的 CPU 能力,会降低性能。见 PhysicsServer3D.SPACE_PARAM_SOLVER_ITERATIONS


float physics/3d/time_before_sleep = 0.5 🔗

3D 物理物体进入睡眠状态之前,所需的不活动时间(以秒为单位)。请参阅 PhysicsServer3D.SPACE_PARAM_BODY_TIME_TO_SLEEP


bool physics/common/enable_object_picking = true 🔗

在根视图上启用 Viewport.physics_object_picking


int physics/common/max_physics_steps_per_frame = 8 🔗

控制每个渲染帧所能模拟的最大物理迭代数。默认值经过调试,可以避免“死亡螺旋”,防止开销较大的物理仿真无限触发开销更大的仿真。不过如果渲染 FPS 小于 physics/common/physics_ticks_per_second1 / max_physics_steps_per_frame,游戏看上去会是降速的。即便在物理计算中始终使用 delta 也一样会发生。要避免这种情况,如果增大了 physics/common/physics_ticks_per_second,而且远大于默认值,那么建议将 physics/common/max_physics_steps_per_frame 也调大。

注意:这个属性只在项目启动时读取。要在运行时改变每帧模拟的最大物理步骤数,请改为设置 Engine.max_physics_steps_per_frame


bool physics/common/physics_interpolation = false 🔗

如果为 true,则渲染器将在最后两个变换之间插入物理对象的变换,这样即使物理刻度与渲染帧不一致,也可以看到平滑的运动。另请参阅 Node.physics_interpolation_modeNode.reset_physics_interpolation

注意:如果为 true,则应通过将 physics/common/physics_jitter_fix 设置为 0.0 来禁用物理抖动修复。

注意:该属性仅在项目启动时读取。要在运行时切换物理插值,请改为设置 SceneTree.physics_interpolation

注意:该功能目前仅在 2D 渲染器中实现。


float physics/common/physics_jitter_fix = 0.5 🔗

控制物理周期与真实时间的同步程度。小于等于 0 时,周期是同步的。对时钟同步有要求的网络游戏建议使用此类值。较高的值会导致游戏内时钟和真实时钟的较大偏差,但可以平滑帧率抖动。大多数情况下,默认值 0.5 应该足够好了;大于 2 的值可能导致游戏对丢帧作出明显延迟的反应,因此不推荐使用。

注意:当使用物理插值解决方案(例如启用 physics/common/physics_interpolation 或使用自定义解决方案)时,应通过将 physics/common/physics_jitter_fix 设置为 0.0 来禁用物理抖动修复。

注意:该属性仅在项目启动时读取。 要在运行时更改物理抖动修复,请改为设置 Engine.physics_jitter_fix


int physics/common/physics_ticks_per_second = 60 🔗

每秒执行的固定迭代次数。用于控制物理仿真和 Node._physics_process 的执行频率。另见 application/run/max_fps

注意:这个属性只在项目启动时读取。要在运行时改变物理 FPS,请改为设置 Engine.physics_ticks_per_second

注意:每个渲染帧最多只能模拟 physics/common/max_physics_steps_per_frame 个物理周期。如果为了追赶渲染,需要在每个渲染帧中模拟更多物理周期,游戏看上去会是降速的(即便在物理计算中始终使用 delta)。因此,如果增大了 physics/common/physics_ticks_per_second,而且远大于默认值,那么建议将 physics/common/max_physics_steps_per_frame 也调大。


int rendering/2d/sdf/oversize = 1 🔗

控制 2D 带符号距离场应该覆盖原始视口中多大的区域。该 SDF 可以在 CanvasItem 着色器中采样,用于 GPUParticles2D 碰撞。生成带符号距离场时,较高的值能够让部分处于视口外的遮挡器也纳入考虑范围,但会以牺牲性能为代价。如果你注意到 LightOccluder2D 离开视口时粒子会穿过遮挡器,就可以增大这个设置。

每一侧每个轴上都会添加指定的百分比。例如,默认设置为 120% 就会让带符号距离场覆盖视口之外每侧(上、右、下、左)各 20% 的大小。

注意:这个属性仅在项目启动时读取。要在运行时修改 2D SDF 扩界百分比,请改用 RenderingServer.viewport_set_sdf_oversize_and_scale


int rendering/2d/sdf/scale = 1 🔗

2D 带符号距离场的分辨率缩放。设置为较大的值能够得到更精确的带符号距离场,也能让带符号距离场在相机移动时更为稳定,但代价是牺牲性能。默认值(50%)表示每个轴使用视口大小的一半大小的分辨率,因此生成的 SDF 的像素数量是视口像素数量的 25%。

注意:该属性仅在项目启动时读取。 要在运行时更改 2D SDF 分辨率缩放,请改为使用 RenderingServer.viewport_set_sdf_oversize_and_scale


int rendering/2d/shadow_atlas/size = 2048 🔗

2D 阴影图集的大小,单位为像素。值越高,Light2D 的阴影越精确,但性能消耗和显存占用也越大。指定的值会根据最接近的 2 的幂进行向上取整。

注意:这个属性仅在项目启动时读取。要在运行时修改 2D 阴影图集的大小,请改用 RenderingServer.canvas_set_shadow_texture_size


bool rendering/2d/snap/snap_2d_transforms_to_pixel = false 🔗

如果为 true,则 CanvasItem 节点会在内部吸附到整像素。对于低分辨率像素艺术游戏很有用。节点的位置仍然可以是次像素的,但小数点不会产生影响,因为位置被四舍五入。这样外观看上去就会更锐利,但会影响移动的平滑程度,尤其是在启用了 Camera2D 平滑的情况下。

注意:这个属性仅在项目启动时读取。要在运行时开关 2D 变换的吸附,请改为在根 Viewport 上使用 RenderingServer.viewport_set_snap_2d_transforms_to_pixel

注意:Control 节点默认就是吸附到最接近的像素的。这种行为由 gui/common/snap_controls_to_pixels 控制。

注意:不建议将该设置与 rendering/2d/snap/snap_2d_vertices_to_pixel 一起使用,因为移动可能会显得更不平滑。最好只启用该设置。


bool rendering/2d/snap/snap_2d_vertices_to_pixel = false 🔗

如果为 true,则 CanvasItem 节点的顶点会吸附到整像素。对于低分辨率像素艺术游戏很有用。只影响最终顶点的位置,不影响变换。这样外观看上去就会更锐利,但会影响移动的平滑程度,尤其是在启用了 Camera2D 平滑的情况下。

注意:这个属性仅在项目启动时读取。要在运行时开关 2D 顶点的吸附,请改为在根 Viewport 上使用 RenderingServer.viewport_set_snap_2d_vertices_to_pixel

注意:Control 节点默认就是吸附到最接近的像素的。这种行为由 gui/common/snap_controls_to_pixels 控制。

注意:不建议将该设置与 rendering/2d/snap/snap_2d_transforms_to_pixel 一起使用,因为移动可能会显得更不平滑。最好只启用该设置。


int rendering/anti_aliasing/quality/msaa_2d = 0 🔗

设置用于 2D/Canvas 渲染的 MSAA 采样数(为 2 的幂)。MSAA 可用于减少多边形边缘周围的锯齿。较高的 MSAA 值会产生更平滑的边缘,但在某些硬件上可能会明显变慢,尤其是显存带宽比较有限的集成显卡。这对着色器引起的锯齿或纹理锯齿无效。

注意:MSAA 仅支持 Forward+ 和 Mobile 渲染方式,不支持 Compatibility。


int rendering/anti_aliasing/quality/msaa_3d = 0 🔗

Sets the number of MSAA samples to use for 3D rendering (as a power of two). MSAA is used to reduce aliasing around the edges of polygons. A higher MSAA value results in smoother edges but can be significantly slower on some hardware, especially integrated graphics due to their limited memory bandwidth. See also rendering/scaling_3d/mode for supersampling, which provides higher quality but is much more expensive. This has no effect on shader-induced aliasing or texture aliasing.


int rendering/anti_aliasing/quality/screen_space_aa = 0 🔗

设置默认屏幕 Viewport 的屏幕空间抗锯齿模式。屏幕空间抗锯齿的原理是使用后期处理着色器选择性地让边缘模糊。与 MSAA 的区别在于,MSAA 是在渲染对象时进行了多次覆盖采样。屏幕空间 AA 的方法通常比 MSAA 要快,会将镜面反射锯齿也进行平滑处理,但容易让场景变得模糊。这种模糊可以通过自动使用负的 Mipmap LOD 偏置部分缓解(见 rendering/textures/default_filters/texture_mipmap_bias)。

对抗镜面反射锯齿的另一种方法是启用 rendering/anti_aliasing/screen_space_roughness_limiter/enabled

注意:屏幕空间抗锯齿仅支持 Forward+ 和 Mobile 渲染方法,不支持 Compatibility。


bool rendering/anti_aliasing/quality/use_debanding = false 🔗

如果为 true,则使用一个快速的后处理滤镜使条带在 3D 中明显不那么明显。除非 Environment.background_modeEnvironment.BG_CANVAS,否则 2D 渲染不会受到去条带的影响。

在某些情况下,去条带可能会引入稍微明显的抖动图案。建议只在实际需要时才启用去条带,因为抖动图案会使无损压缩的屏幕截图变大。

注意:只有在项目启动时才读取该属性。要在运行时设置去条带,请改为在根 Viewport 上设置 Viewport.use_debanding


bool rendering/anti_aliasing/quality/use_taa = false 🔗

为默认屏幕 Viewport 启用时间抗锯齿(Temporal Anti-Aliasing)。TAA 的原理是让相机产生抖动并积累最近渲染的几帧图像,使用运动向量渲染让相机和对象产生运动。启用 TAA 会让图像变模糊,这种模糊可以通过自动使用负的 Mipmap LOD 偏置部分缓解(参见 rendering/textures/default_filters/texture_mipmap_bias)。

注意:实现尚未完成,粒子及蒙皮网格等某些视觉实例可能会显示运动中的重影伪像。

注意:TAA 只支持 Forward+ 渲染方式,不支持 Mobile 或 Compatibility。


float rendering/anti_aliasing/screen_space_roughness_limiter/amount = 0.25 🔗

注意:这个属性仅在项目启动时读取。要在运行时控制屏幕空间粗糙度限制器,请调用 RenderingServer.screen_space_roughness_limiter_set_active


bool rendering/anti_aliasing/screen_space_roughness_limiter/enabled = true 🔗

如果为 true,则启用空间过滤器以限制具有高频细节的区域的粗糙度。这可以在一定程度上帮助减少镜面反射锯齿,尽管不如启用 rendering/anti_aliasing/quality/use_taa。 该过滤器的性能成本很小,因此如果它对你的场景没有明显好处,请考虑禁用它。

注意:屏幕空间粗糙度限制器只支持 Forward+ 和 Mobile 渲染方式,不支持 Compatibility。

注意:这个属性仅在项目启动时读取。要在运行时控制屏幕空间粗糙度限制器,请调用 RenderingServer.screen_space_roughness_limiter_set_active


float rendering/anti_aliasing/screen_space_roughness_limiter/limit = 0.18 🔗

注意:这个属性仅在项目启动时读取。要在运行时控制屏幕空间粗糙度限制器,请调用 RenderingServer.screen_space_roughness_limiter_set_active


int rendering/camera/depth_of_field/depth_of_field_bokeh_quality = 1 🔗

设置景深效果的质量。质量越高,采样的数量也越多,也会更慢,但看起来更平滑。


int rendering/camera/depth_of_field/depth_of_field_bokeh_shape = 1 🔗

设置景深的形状。可以是方形、六边形或圆形。方形最快。圆形最真实,但计算开销也是最大的。


bool rendering/camera/depth_of_field/depth_of_field_use_jitter = false 🔗

如果为 true,则抖动 DOF 样本以使效果稍微模糊,并隐藏低采样率创建的线条。当与较低的样本数一起使用时,这可能会导致外观略带颗粒感。


String rendering/driver/depth_prepass/disable_for_vendors = "PowerVR,Mali,Adreno,Apple" 🔗

针对某些供应商禁用 rendering/driver/depth_prepass/enable。默认情况下会针对移动设备禁用前置深度阶段,因为移动设备由于独特的架构而无法从前置深度阶段中获益。


bool rendering/driver/depth_prepass/enable = true 🔗

如果 true,则在渲染 3D 材质之前先执行深度阶段。当使用复杂的材质和照明时,这样做能够显著提高过度绘制场景的性能。然而,如果场景中被遮挡的表面比较少,前置深度阶段可能会降低性能。如果你的游戏使用的是不易造成过度绘制的固定视角(例如俯视或者横版视角),请考虑禁用前置深度阶段,从而提升性能。这个设置可以在运行时更改,针对当前查看的场景来优化进行。

注意:前置深度阶段仅在使用 Forward+ 或 Compatibility 渲染方法时支持。使用 Mobile 渲染方法时,不会执行前置深度阶段。


int rendering/driver/threads/thread_model = 1 🔗

实验性: This setting has several known bugs which can lead to crashing, especially when using particles or resizing the window. Not recommended for use in production at this stage.

用于渲染的线程模型。在线程上渲染可能会提高性能,但同步到主线程可能会导致更多的抖动。


Color rendering/environment/defaults/default_clear_color = Color(0.3, 0.3, 0.3, 1) 🔗

默认清屏颜色。Viewport 可使用其 Environment 进行覆盖。具体见 Environment.background_modeEnvironment.background_color。要通过代码更改此默认颜色,请使用 RenderingServer.set_default_clear_color


String rendering/environment/defaults/default_environment = "" 🔗

场景未指定其环境时作为回退环境使用的 Environment。无论是否设置了环境,加载场景时都会加载默认环境。如果你不依赖回退环境,那么就不需要设置这个属性。


int rendering/environment/glow/upscale_mode = 1 🔗

设置辉光效果在复制到屏幕之前的放大方式。Linear(线性)更快,但看起来棱角分明。Bicubic(双线性)更慢,但看起来比较平滑。


int rendering/environment/glow/upscale_mode.mobile = 0 🔗

由于性能或驱动程序支持问题,rendering/environment/glow/upscale_mode 在移动设备上的低端覆盖项。


int rendering/environment/screen_space_reflection/roughness_quality = 1 🔗

设置粗糙屏幕空间反射的质量。关闭后所有屏幕空间反射都会显得锐利;使用较高的值会使粗糙反射更好看。


float rendering/environment/ssao/adaptive_target = 0.5 🔗

rendering/environment/ssao/quality 被设置为 Ultra 时所使用的质量目标。值为 0.0 时的质量和速度与 Medium 相似,而值为 1.0 时的质量比其他任何设置都要高得多,代价是牺牲性能。


int rendering/environment/ssao/blur_passes = 2 🔗

模糊通道数,在计算屏幕空间环境光遮蔽时使用。数值越大,外观越平滑,但计算速度会变慢,高频细节也会变少。


float rendering/environment/ssao/fadeout_from = 50.0 🔗

屏幕空间环境光遮蔽效果开始淡出的距离。使用该属性可以在远距离处隐藏环境光遮蔽。


float rendering/environment/ssao/fadeout_to = 300.0 🔗

屏幕空间环境光遮蔽效果完全淡出的距离。使用该属性可以在远距离处隐藏环境光遮蔽。


bool rendering/environment/ssao/half_size = true 🔗

如果为 true,屏幕空间环境光遮蔽将以一半大小渲染,然后在被添加到场景之前放大。这明显更快,但可能会遗漏一些小细节。如果为 false,屏幕空间环境光遮蔽将以全尺寸渲染。


int rendering/environment/ssao/quality = 2 🔗

设置屏幕空间环境光遮蔽效果的质量。值越高,采样数量越多,因此最终的质量也越高,但代价是消耗性能。设为 Ultra 会使用 rendering/environment/ssao/adaptive_target 设置。


float rendering/environment/ssil/adaptive_target = 0.5 🔗

rendering/environment/ssil/quality 被设置为 Ultra 时所使用的质量目标。值为 0.0 时的质量和速度与 Medium 相似,而值为 1.0 时的质量比其他任何设置都要高得多,代价是牺牲性能。使用适应目标时,性能损耗与场景复杂度成正比。


int rendering/environment/ssil/blur_passes = 4 🔗

模糊通道数,在计算屏幕空间间接光照时使用。数值越大,外观越平滑,但计算速度会变慢,高频细节也会变少。


float rendering/environment/ssil/fadeout_from = 50.0 🔗

屏幕空间间接光照效果开始淡出的距离。使用该属性可以在远距离处隐藏屏幕空间间接光照。


float rendering/environment/ssil/fadeout_to = 300.0 🔗

屏幕空间间接光照效果完全淡出的距离。使用该属性可以在远距离处隐藏屏幕空间间接光照。


bool rendering/environment/ssil/half_size = true 🔗

如果为 true,屏幕空间间接光照将以一半大小渲染,然后在被添加到场景之前放大。这明显更快,但可能会遗漏一些小细节,部分对象的边缘也会出现发光的情况。


int rendering/environment/ssil/quality = 2 🔗

设置屏幕空间间接照明效果的质量。值越高,采样数量越多,因此最终的质量也越高,但代价是消耗性能。设为 Ultra 会使用 rendering/environment/ssil/adaptive_target 设置。


float rendering/environment/subsurface_scattering/subsurface_scattering_depth_scale = 0.01 🔗

对次表面散射效果应用深度进行缩放。较高的取值能够让灯光散射进网格的某些部分或者在屏幕空间中距离较近但深度更远的其他网格。另见 rendering/environment/subsurface_scattering/subsurface_scattering_scale

注意:这个属性仅在项目启动时读取。要在运行时设置次表面散射深度缩放,请改为调用 RenderingServer.sub_surface_scattering_set_scale


int rendering/environment/subsurface_scattering/subsurface_scattering_quality = 1 🔗

设置次表面散射效果的质量。值越高越慢,但视觉效果更佳。影响 BaseMaterial3D.subsurf_scatter_enabledtrue 以及设置了 SSS_STRENGTHShaderMaterial 的材质的渲染。

注意:这个属性仅在项目启动时读取。要在运行时设置次表面散射质量,请改为调用 RenderingServer.sub_surface_scattering_set_quality


float rendering/environment/subsurface_scattering/subsurface_scattering_scale = 0.05 🔗

缩放对次表面散射效果进行采样的距离。更改该值不会影响性能;但较高的值将导致明显的伪影,因为样本将变得明显分散。较低的值会导致散射光的散布更小。另见 rendering/environment/subsurface_scattering/subsurface_scattering_depth_scale

注意:这个属性仅在项目启动时读取。如果要在运行时设置次表面散射缩放,请改为调用 RenderingServer.sub_surface_scattering_set_scale


int rendering/environment/volumetric_fog/use_filter = 1 🔗

在积分之前启用体积雾效果的过滤。这大大模糊了雾,减少了精细的细节,但也平滑了粗糙的边缘和锯齿伪影。当需要更多细节时禁用。


int rendering/environment/volumetric_fog/volume_depth = 64 🔗

沿着片段体素缓冲区的深度使用的切片数量,用于体积雾。较小的数字会更有效,但可能会导致相机移动时出现伪影。另请参阅 Environment.volumetric_fog_length


int rendering/environment/volumetric_fog/volume_size = 64 🔗

用于确定相机 X 轴和 Y 轴中片段体素缓冲区大小的基本大小。最终大小按屏幕的长宽比缩放,因此实际值可能与设置的值不同。设置较大的大小,以获得更详细的雾;设置较小的大小,以获得更好的性能。


String rendering/gl_compatibility/driver 🔗

设置渲染器驱动程序,在使用 Compatibility(兼容性)渲染器时使用。这个属性不能直接编辑,请改用特定平台的覆盖项来设置驱动程序。


String rendering/gl_compatibility/driver.android 🔗

rendering/gl_compatibility/driver 在 Android 的覆盖项。


String rendering/gl_compatibility/driver.ios 🔗

rendering/gl_compatibility/driver 在 iOS 的覆盖项。


String rendering/gl_compatibility/driver.linuxbsd 🔗

rendering/gl_compatibility/driver 在 LinuxBSD 的覆盖项。


String rendering/gl_compatibility/driver.macos 🔗

rendering/gl_compatibility/driver 在 macOS 的覆盖项。


String rendering/gl_compatibility/driver.web 🔗

rendering/gl_compatibility/driver 在 Web 的覆盖项。


String rendering/gl_compatibility/driver.windows 🔗

rendering/gl_compatibility/driver 在 Windows 的覆盖项。


bool rendering/gl_compatibility/fallback_to_angle = true 🔗

true 时,如果原生 OpenGL 不受支持或设备被列在 rendering/gl_compatibility/force_angle_on_devices 中,则兼容性渲染器将回退到 ANGLE。

注意:该设置仅在 Windows 上实现。


bool rendering/gl_compatibility/fallback_to_gles = true 🔗

true 时,如果桌面 OpenGL 不被支持,则兼容性渲染器将回退到 OpenGLES。

注意:该设置仅在 Linux/X11 上实现。


bool rendering/gl_compatibility/fallback_to_native = true 🔗

如果为 true,如果 ANGLE 乃至 Metal 不被支持,则兼容性渲染器将回退到原生 OpenGL。

注意:该设置仅在 macOS 上实现。


Array rendering/gl_compatibility/force_angle_on_devices 🔗

应始终使用 ANGLE 渲染器的设备的 Array

每个条目都是一个带有以下键的 Dictionaryvendornamename 可以被设置为 * 以添加所有带有指定 vendor 的设备。

注意:该设置仅在 Windows 上实现。


int rendering/gl_compatibility/item_buffer_size = 16384 🔗

单次视口更新中能够绘制的画布项目命令的最大数量。如果发出了更多的渲染命令,就会被忽略。降低这个限制可以在带宽有限的设备上提高性能。如果你发现不是所有的对象都在同一帧中被绘制,请提高这个限制。


bool rendering/gl_compatibility/nvidia_disable_threaded_optimization = true 🔗

如果为 true,则禁用 NVIDIA 驱动的多线程优化功能,这个功能会导致大多数 OpenGL 应用的卡顿。

注意:这个设置仅在 Windows 上有效,因为在其他平台上多线程优化默认都是关闭的。


bool rendering/global_illumination/gi/use_half_resolution = false 🔗

如果为 true,则以减半的分辨率渲染 VoxelGI 和 SDFGI(Environment.sdfgi_enabled)缓冲区(例如,当视口大小为 1920×1080 时为 960×540)。当启用 VoxelGI 或 SDFGI 时,这会显著提高性能,但代价是多边形边缘上可能会出现可见的伪影。随着视口分辨率的增加,质量损失变得不那么明显。LightmapGI 渲染不受该设置的影响。

注意:只有在项目启动时该属性才会被读取。要在运行时设置半分辨率 GI,请改为调用 RenderingServer.gi_set_use_half_resolution


int rendering/global_illumination/sdfgi/frames_to_converge = 5 🔗

用于收敛带符号距离场全局光照的帧数。值越高,得到的噪点越少,但完全收敛所需的时间也就越长。这意味着场景的全局光照处于过暗状态的时间可能更长,在相机快速移动时尤为明显。实际的收敛速度取决于渲染帧率。例如,默认设置为 30 帧,则 60 FPS 的渲染会让 SDFGI 在 0.5 秒后完全收敛。另见 rendering/global_illumination/sdfgi/frames_to_update_lightsrendering/global_illumination/sdfgi/probe_ray_count

注意:这个属性仅在项目启动时读取。要在运行时控制 SDFGI 的收敛速度,请改为调用 RenderingServer.environment_set_sdfgi_frames_to_converge


int rendering/global_illumination/sdfgi/frames_to_update_lights = 2 🔗

带符号距离场全局光照中动态光照更新所需的帧数。值越高,动态灯光造成的间接光照就会花费更多的时间来更新,但动态灯光数量较多时性能会更好。另见 rendering/global_illumination/sdfgi/frames_to_convergerendering/global_illumination/sdfgi/probe_ray_count

注意:仅影响 Light3D.light_bake_modeLight3D.BAKE_DYNAMIC(默认值)的 Light3D 节点。让不会移动的灯光使用 Light3D.BAKE_STATIC 烘焙模式能够提升性能。

注意:这个属性仅在项目启动时读取。要在运行时控制 SDFGI 的灯光更新速度,请改为调用 RenderingServer.environment_set_sdfgi_frames_to_update_light


int rendering/global_illumination/sdfgi/probe_ray_count = 1 🔗

计算带符号距离场全局光照时每帧发出的射线。值越高,得到的噪点越少,但性能消耗也越大。另见 rendering/global_illumination/sdfgi/frames_to_convergerendering/global_illumination/sdfgi/frames_to_update_lights

注意:这个属性仅在项目启动时读取。要在运行时控制 SDFGI 的质量,请改为调用 RenderingServer.environment_set_sdfgi_ray_count


int rendering/global_illumination/voxel_gi/quality = 0 🔗

要使用的 VoxelGI 质量。高质量下的光照更精确、反射质量更好,但渲染速度较慢。这个设置不影响烘焙数据,应用时不需要重新烘焙 VoxelGI

注意:这个属性仅在项目启动时读取。要在运行时控制 VoxelGI 的质量,请改为调用 RenderingServer.voxel_gi_set_quality


int rendering/lightmapping/bake_performance/max_rays_per_pass = 32 🔗

使用 LightmapGI 烘焙光照贴图时,每阶段可以投射的最大光线数。根据场景的不同,调整此值可能会在烘焙光照贴图时提高 GPU 利用率,从而加快烘焙时间。


int rendering/lightmapping/bake_performance/max_rays_per_probe_pass = 64 🔗

在带有 LightmapGILightmapProbe 中烘焙动态对象光照时,每阶段可以投射的最大光线数。根据场景的不同,调整该值可能会在烘焙光照贴图时提高 GPU 利用率,从而加快烘焙时间。


int rendering/lightmapping/bake_performance/region_size = 512 🔗

使用 LightmapGI 烘焙光照贴图时使用的区块大小。


int rendering/lightmapping/bake_quality/high_quality_probe_ray_count = 512 🔗

LightmapGI.qualityLightmapGI.BAKE_QUALITY_HIGH 时,用于在 LightmapProbe 中烘焙动态对象光照的光线数。


int rendering/lightmapping/bake_quality/high_quality_ray_count = 512 🔗

LightmapGI.qualityLightmapGI.BAKE_QUALITY_HIGH 时,用于使用 LightmapGI 烘焙光照贴图的光线数。


int rendering/lightmapping/bake_quality/low_quality_probe_ray_count = 64 🔗

LightmapGI.qualityLightmapGI.BAKE_QUALITY_LOW 时,用于在 LightmapProbe 中烘焙动态对象光照的光线数。


int rendering/lightmapping/bake_quality/low_quality_ray_count = 32 🔗

LightmapGI.qualityLightmapGI.BAKE_QUALITY_LOW 时,用于使用 LightmapGI 烘焙光照贴图的光线数。


int rendering/lightmapping/bake_quality/medium_quality_probe_ray_count = 256 🔗

LightmapGI.qualityLightmapGI.BAKE_QUALITY_MEDIUM 时,用于在 LightmapProbe 中烘焙动态对象光照的光线数。


int rendering/lightmapping/bake_quality/medium_quality_ray_count = 128 🔗

LightmapGI.qualityLightmapGI.BAKE_QUALITY_MEDIUM 时,用于使用 LightmapGI 烘焙光照贴图的光线数。


int rendering/lightmapping/bake_quality/ultra_quality_probe_ray_count = 2048 🔗

LightmapGI.qualityLightmapGI.BAKE_QUALITY_ULTRA 时,用于在 LightmapProbe 中烘焙动态对象光照的光线数。


int rendering/lightmapping/bake_quality/ultra_quality_ray_count = 2048 🔗

LightmapGI.qualityLightmapGI.BAKE_QUALITY_ULTRA 时,用于使用 LightmapGI 烘焙光照贴图的光线数。


int rendering/lightmapping/denoising/denoiser = 0 🔗

用于对光照贴图进行降噪的降噪器工具。

使用 OpenImageDenoise(OIDN)需要在 EditorSettings.filesystem/tools/oidn/oidn_denoise_path 的编辑器设置中配置 OIDN 可执行文件的路径。OIDN 可以从 OpenImageDenoise 的下载页面下载。

OIDN 将在可用时使用 GPU 加速。与使用计算着色器进行加速的 JNLM 不同,OIDN 使用特定于供应商的加速方法。要使 GPU 加速可用,必须根据你的 GPU 在系统上安装以下库:

  • NVIDIA GPU:CUDA 库

  • AMD GPU:HIP 库

  • Intel GPU:SYCL 库

如果系统上没有配置 GPU 加速,则会执行基于 CPU 的多线程去噪。在大多数情况下,这种基于 CPU 的降噪明显慢于 JNLM 降噪器。


float rendering/lightmapping/primitive_meshes/texel_size = 0.2 🔗

用于计算启用了 PrimitiveMesh.add_uv2PrimitiveMesh 资源上的 Mesh.lightmap_size_hint 的体素大小。


float rendering/lightmapping/probe_capture/update_speed = 15 🔗

当表示来自 LightmapProbe 的动态对象光照时,与帧速率无关的更新速度。较高的值使动态对象光照更新更快。较高的值可以防止快速移动的对象在其上显示“过时的”间接光照,但代价是当对象从明亮区域移动到阴影区域时可能会出现闪烁。


bool rendering/lights_and_shadows/directional_shadow/16_bits = true 🔗

使用 16 位的平行光阴影深度贴图。启用后,阴影的精度会降低,可能造成阴影失真,但能够在部分设备上提升性能。


int rendering/lights_and_shadows/directional_shadow/size = 4096 🔗

方向阴影的大小,单位为像素。值越高,得到的阴影越清晰,但会以性能为代价。取值将舍入到最接近的 2 次幂。


int rendering/lights_and_shadows/directional_shadow/size.mobile = 2048 🔗

由于性能和驱动支持,在移动设备上会对 rendering/lights_and_shadows/directional_shadow/size 以低配数值覆盖。


int rendering/lights_and_shadows/directional_shadow/soft_shadow_filter_quality = 2 🔗

DirectionalLight3D 投射的阴影的质量设置。质量设置地越高,从阴影贴图读取的样本越多,因此速度也越慢。质量设置地较低时,可能会导致阴影看起来有颗粒感。

注意:Soft Very Low 设置会自动将常量的阴影模糊乘以 0.75 倍,从而减少可见的噪点。这种对自动模糊的更改仅影响 Light3D.shadow_blur 中定义的常量模糊系数,不影响 DirectionalLight3DLight3D.light_angular_distance 执行的可变模糊。

注意:Soft High 和 Soft Ultra 设置,会自动将常量的阴影模糊分别乘以 1.5 倍和 2 倍,从而更好地利用增加的样本数。这种对模糊的提升还改善了动态对象阴影的稳定性。


int rendering/lights_and_shadows/directional_shadow/soft_shadow_filter_quality.mobile = 0 🔗

由于性能和驱动支持,在移动设备上会对 rendering/lights_and_shadows/directional_shadow/soft_shadow_filter_quality 以低配数值覆盖。


bool rendering/lights_and_shadows/positional_shadow/atlas_16_bits = true 🔗

使用 16 位的全向灯/聚光灯阴影深度贴图。启用后,阴影的精度会降低,可能造成阴影失真,但能够在部分设备上提升性能。


int rendering/lights_and_shadows/positional_shadow/atlas_quadrant_0_subdiv = 2 🔗

阴影贴图的细分象限大小。请参阅阴影映射文档。


int rendering/lights_and_shadows/positional_shadow/atlas_quadrant_1_subdiv = 2 🔗

阴影贴图的细分象限大小。请参阅阴影映射文档。


int rendering/lights_and_shadows/positional_shadow/atlas_quadrant_2_subdiv = 3 🔗

阴影贴图的细分象限大小。请参阅阴影映射文档。


int rendering/lights_and_shadows/positional_shadow/atlas_quadrant_3_subdiv = 4 🔗

阴影贴图的细分象限大小。请参阅阴影映射文档。


int rendering/lights_and_shadows/positional_shadow/atlas_size = 4096 🔗

阴影图集的大小(用于 OmniLight 和 SpotLight)。请参阅文档。


int rendering/lights_and_shadows/positional_shadow/atlas_size.mobile = 2048 🔗

由于性能和驱动支持,在移动设备上会对 rendering/lights_and_shadows/positional_shadow/atlas_size 以低配数值覆盖。


int rendering/lights_and_shadows/positional_shadow/soft_shadow_filter_quality = 2 🔗

OmniLight3DSpotLight3D 投射的阴影的质量设置。质量设置地越高,从阴影贴图读取的样本越多,因此速度也越慢。质量设置地较低时,可能会导致阴影看起来有颗粒感。

注意:Soft Very Low 设置会自动将常量的阴影模糊乘以 0.75 倍,从而减少可见的噪点。这种对自动模糊的更改仅影响 Light3D.shadow_blur 中定义的常量模糊系数,不影响 DirectionalLight3DLight3D.light_angular_distance 执行的可变模糊。

注意:Soft High 和 Soft Ultra 设置,会自动将阴影模糊分别乘以 1.5 倍和 2 倍,从而更好地利用增加的样本数。这种对模糊的提升还改善了动态对象阴影的稳定性。


int rendering/lights_and_shadows/positional_shadow/soft_shadow_filter_quality.mobile = 0 🔗

由于性能和驱动支持,在移动设备上会对 rendering/lights_and_shadows/positional_shadow/soft_shadow_filter_quality 以低配数值覆盖。


bool rendering/lights_and_shadows/tighter_shadow_caster_culling = true 🔗

如果为 true,则阴影无法抵达视锥的对象不会渲染在阴影贴图中。

可以提高性能。


bool rendering/lights_and_shadows/use_physical_light_units = false 🔗

允许对光源使用基于物理的单位。基于物理的单位往往比 Godot 使用的任意单位大得多,但它们可用于将 Godot 内的照明与真实世界的照明相匹配。由于自然界中照明条件的动态范围很大,Godot 在渲染之前会将曝光量烘焙到各种照明量中。大多数光源在运行时根据活动的 CameraAttributes 资源自动烘焙曝光,但 LightmapGIVoxelGI 需要在烘焙时设置 CameraAttributes 资源以减少动态范围。在运行时,Godot 将自动协调烘焙的曝光与活动的曝光,以确保照明保持一致。


float rendering/limits/cluster_builder/max_clustered_elements = 512 🔗

可以在相机视图中一次渲染的集群元素(OmniLight3D + SpotLight3D + Decal + ReflectionProbe)的最大数量。如果相机视图中存在更多的集群元素,其中一些将不会被渲染(导致在相机移动期间弹出)。在灯光和贴花上启用距离淡入淡出(Light3D.distance_fade_enabledDecal.distance_fade_enabled)有助于避免达到该限制。

减小该值可能会提高某些设置的 GPU 性能,即使在项目中从未达到集群元素最大数量也是如此。

注意:该设置仅在使用 Forward+ 渲染方式时有效,对 Mobile 和 Compatibility 无效。


int rendering/limits/global_shader_variables/buffer_size = 65536 🔗

The maximum number of uniforms that can be used by the global shader uniform buffer. Each item takes up one slot. In other words, a single uniform float and a uniform vec4 will take the same amount of space in the buffer.

Note: When using the Compatibility backend, most mobile devices (and all web exports) will be limited to a maximum size of 1024 due to hardware constraints.


int rendering/limits/opengl/max_lights_per_object = 8 🔗

每个对象可渲染的全向灯和聚光灯的最大数量。默认值为 8,这意味着每个表面最多可受到 8 个全向灯和 8 个聚光灯影响。这进一步受到硬件支持和 rendering/limits/opengl/max_renderable_lights 的限制。将该设置得较低会略微减少内存使用,可能会减少着色器编译时间,并可能导致在低端、移动或 Web 设备上的渲染速度更快。

注意:该设置仅支持 Compatibility 渲染方式,不支持 Forward+ 和 Mobile。


int rendering/limits/opengl/max_renderable_elements = 65536 🔗

一帧中可渲染的最大元素数。如果每帧可见的元素多于此,则不会绘制它们。请记住,元素指的是网格表面,而不是网格本身。将此值设置得较低会略微减少内存使用量,并可能减少着色器编译时间,尤其是在 Web 上。对于大多数用途,默认值是合适的,但在 Web 导出时可考虑尽可能降低。

注意:该设置仅在支持 Compatibility 渲染方式,不支持 Forward+ 和 Mobile。


int rendering/limits/opengl/max_renderable_lights = 32 🔗

一帧中可渲染的定位灯的最大数量。如果使用的灯多于此数量,则它们将被忽略。将此值设置得较低会略微减少内存使用量,并可能减少着色器编译时间,尤其是在 Web 上。对于大多数用途,默认值是合适的,但在 Web 导出时可考虑尽可能降低。

注意:该设置仅在支持 Compatibility 渲染方式,不支持 Forward+ 和 Mobile。


int rendering/limits/spatial_indexer/threaded_cull_minimum_instances = 1000 🔗

在多线程上启用剔除计算时,场景中必须存在的最小实例数。如果场景的实例数少于该数量,则在单线程上完成剔除。


int rendering/limits/spatial_indexer/update_iterations_per_frame = 10 🔗

该属性目前没有描述,请帮我们贡献一个吧!


float rendering/limits/time/time_rollover_secs = 3600 🔗

该属性目前没有描述,请帮我们贡献一个吧!


float rendering/mesh_lod/lod_change/threshold_pixels = 1.0 🔗

用于 ReflectionProbe 中渲染的网格的自动 LOD 偏置。较高的值将使用生成了 LOD 变化的不太详细的网格版本。如果设置为 0.0,则自动 LOD 将被禁用。增加 rendering/mesh_lod/lod_change/threshold_pixels 以牺牲几何细节为代价提高性能。

注意:rendering/mesh_lod/lod_change/threshold_pixels 不影响 GeometryInstance3D 可见性范围(也称为“手动”LOD 或分层 LOD)。

注意:只有在项目启动时该属性才会被读取。要在运行时调整自动 LOD 阈值,请在根 Viewport 上设置 Viewport.mesh_lod_threshold


int rendering/occlusion_culling/bvh_build_quality = 2 🔗

渲染遮挡剔除缓冲区时使用的 BVH 质量。值越高,得到的遮挡剔除越精确,但代价是 CPU 使用率也越高。另见 rendering/occlusion_culling/occlusion_rays_per_thread

注意:这个属性仅在项目启动时读取。如果要在运行时调整 BVH 构建质量,请使用 RenderingServer.viewport_set_occlusion_culling_build_quality


bool rendering/occlusion_culling/jitter_projection = true 🔗

如果为 true,则会抖动用于渲染剔除缓冲的投影。利于防止错误地剔除能够通过较小缝隙看到的对象。


int rendering/occlusion_culling/occlusion_rays_per_thread = 512 🔗

每个 CPU 线程所追踪的剔除射线数量。更高的值将导致更准确的遮挡剔除,但代价是更高的 CPU 使用率。遮挡剔除缓冲区的像素数大致等于 occlusion_rays_per_thread * number_of_logical_cpu_cores,因此它取决于系统的 CPU。因此,内核较少的 CPU 将使用较低的分辨率,来尝试保持跨设备的性能成本。另见 rendering/occlusion_culling/bvh_build_quality

注意:这个属性仅在项目启动时读取。如果要在运行时调整每个线程所追踪的剔除射线数量,请使用 RenderingServer.viewport_set_occlusion_rays_per_thread


bool rendering/occlusion_culling/use_occlusion_culling = false 🔗

如果为 true,则 OccluderInstance3D 节点在根视口的 3D 遮挡剔除中可用。对于自定义视口,必须改为将 Viewport.use_occlusion_culling 设为 true

注意:启用遮挡剔除会消耗 CPU 资源。请只在打算使用时启用遮挡剔除。阻挡视线的对象很少或根本不存在的大型开放场景通常不会因遮挡剔除而获得什么优化。相对于遮挡剔除,大型开放场景通常能够从网格 LOD 和可见范围(GeometryInstance3D.visibility_range_beginGeometryInstance3D.visibility_range_end)中获益。

注意:由于内存限制,Web 导出模板中默认不支持遮挡剔除。编译自定义 Web 导出模板时使用 module_raycast_enabled=yes 可以启用。


int rendering/reflections/reflection_atlas/reflection_count = 64 🔗

存储在反射图集中的立方体贴图数量。场景中的 ReflectionProbe 数量受此数量限制。数字越高,所需的显存越多。


int rendering/reflections/reflection_atlas/reflection_size = 256 🔗

ReflectionProbe 的立方体贴图面的大小。数字越大,所需的显存越多,并且反射探针的更新也可能变得越慢。


int rendering/reflections/reflection_atlas/reflection_size.mobile = 128 🔗

移动设备上 rendering/reflections/reflection_atlas/reflection_size 的低端覆盖项,出于性能问题或驱动程序支持的考虑。


bool rendering/reflections/sky_reflections/fast_filter_high_quality = false 🔗

使用快速过滤算法的更高质量变体。明显比使用默认质量慢,但会产生更平滑的反射。只应在场景特别详细时使用。


int rendering/reflections/sky_reflections/ggx_samples = 32 🔗

设置在对 SkyReflectionProbe 使用重要性采样时要采用的样本数。较高的值将导致更平滑、更高质量的反射,但会增加计算辐照度映射的时间。一般来说,更简单的低动态范围环境需要更少的样本,而 HDR 环境和具有高细节层次的环境需要更多的样本。


int rendering/reflections/sky_reflections/ggx_samples.mobile = 16 🔗

移动设备上 rendering/reflections/sky_reflections/ggx_samples 的低端覆盖项,出于性能问题或驱动程序支持的考虑。


int rendering/reflections/sky_reflections/roughness_layers = 8 🔗

使用重要性采样时,限制在辐照度映射中使用的层数。较低的数字会稍微快一些,并且会占用较少的 VRAM。


bool rendering/reflections/sky_reflections/texture_array_reflections = true 🔗

如果为 true,则使用纹理数组而不是 mipmap,用于反射探针和全景背景(天空)。这减少了反射上的抖动噪声和放大伪影,但计算速度明显变慢,并且使用了 rendering/reflections/sky_reflections/roughness_layers 倍的内存。


bool rendering/reflections/sky_reflections/texture_array_reflections.mobile = false 🔗

移动设备上 rendering/reflections/sky_reflections/texture_array_reflections 的低端覆盖项,出于性能问题或驱动程序支持的考虑。


String rendering/renderer/rendering_method = "forward_plus" 🔗

设置项目将使用的渲染器。选项有:

Forward Plus:为桌面设备设计的高端渲染器。有较高的基础开销,但能够很好地扩展到复杂的场景。不适合老旧设备和移动设备。

Mobile:为移动设备设计的现代渲染器。基础开销比 Forward Plus 低,但在处理有许多元素的大型场景时,扩展性并不理想。

GL Compatibility:为老旧设备设计的低端渲染器。基于 OpenGL 3.3/ OpenGL ES 3.0 / WebGL 2 API 的限制。


String rendering/renderer/rendering_method.mobile = "mobile" 🔗

移动设备的 rendering/renderer/rendering_method 覆盖项。


String rendering/renderer/rendering_method.web = "gl_compatibility" 🔗

Web 平台的 rendering/renderer/rendering_method 覆盖项。


int rendering/rendering_device/d3d12/agility_sdk_version = 613 🔗

要使用的 Direct3D 12 Agility SDK 的版本代码(D3D12SDKVersion)。该代码必须与安装在编辑器二进制文件旁边的次要版本以及当前编辑器版本的导出模板目录中的版本相匹配。例如,如果安装了 1.613.3,则需要在此处输入 613


int rendering/rendering_device/d3d12/max_misc_descriptors_per_frame = 512 🔗

Direct3D 12 渲染驱动每帧所使用的杂项描述符堆中的条目数,用于清除纹理等各种操作。

这个值可能会降低,也可能需要提高,具体取决于场景的复杂度。


int rendering/rendering_device/d3d12/max_resource_descriptors_per_frame = 16384 🔗

Direct3D 12 渲染驱动每帧所使用的资源描述符堆中的条目数,用于大多数渲染操作。

这个值可能会降低,也可能需要提高,具体取决于场景的复杂度。


int rendering/rendering_device/d3d12/max_sampler_descriptors_per_frame = 1024 🔗

Direct3D 12 渲染驱动每帧所使用的采样器描述符堆中的条目数,用于大多数渲染操作。

这个值可能会降低,也可能需要提高,具体取决于场景的复杂度。


String rendering/rendering_device/driver 🔗

设置渲染器驱动程序,在使用集群渲染器、移动渲染器等基于 RenderingDevice 的渲染器时使用。这个属性不能直接编辑,请改用特定平台的覆盖项来设置驱动程序。


String rendering/rendering_device/driver.android 🔗

rendering/rendering_device/driver 在 Android 的覆盖项。


String rendering/rendering_device/driver.ios 🔗

rendering/rendering_device/driver 在 iOS 的覆盖项。


String rendering/rendering_device/driver.linuxbsd 🔗

rendering/rendering_device/driver 在 LinuxBSD 的覆盖项。


String rendering/rendering_device/driver.macos 🔗

rendering/rendering_device/driver 在 macOS 的覆盖项。


String rendering/rendering_device/driver.windows 🔗

rendering/rendering_device/driver 在 Windows 的覆盖项。


bool rendering/rendering_device/pipeline_cache/enable = true 🔗

如果图形 API 支持,则启用保存到磁盘的管道缓存。

注意:该属性无法控制 GPU 驱动程序本身的管道缓存。如果希望模拟用户首次启动游戏时的体验,则只需关闭该功能并删除驱动程序缓存的内容即可。


float rendering/rendering_device/pipeline_cache/save_chunk_size_mb = 3.0 🔗

决定管线缓存保存到磁盘的间隔。值越低,保存地越频繁。


int rendering/rendering_device/staging_buffer/block_size_kb = 256 🔗

该属性目前没有描述,请帮我们贡献一个吧!


int rendering/rendering_device/staging_buffer/max_size_mb = 128 🔗

该属性目前没有描述,请帮我们贡献一个吧!


int rendering/rendering_device/staging_buffer/texture_upload_region_size_px = 64 🔗

该属性目前没有描述,请帮我们贡献一个吧!


int rendering/rendering_device/vsync/frame_queue_size = 2 🔗

在停止等待 GPU 之前要在 CPU 端跟踪的帧数。

尝试使用垂直同步模拟器,这是一个交互式界面,可以模拟演示,以更好地了解不同条件下不同变量的影响。

注意:该属性仅在项目启动时读取。目前无法在运行时更改该值。


int rendering/rendering_device/vsync/swapchain_image_count = 3 🔗

交换链将包含的图像数量(后台缓冲区 + 前台缓冲区)。

2 对应双缓冲,3 对应三缓冲。

双缓冲可能会给你带来最低的滞后/延迟,但如果垂直同步打开并且系统无法以 60 fps 渲染,则帧率将以它的倍数下降(例如 30 fps、15、7.5 等) 。三重缓冲可为你提供更高的帧率(特别是在系统无法达到恒定 60 fps 的情况下),其代价是 DisplayServer.VSYNC_ENABLED(FIFO)时最多 1 帧延迟。

将双缓冲与 DisplayServer.VSYNC_ENABLED 结合使用。如果你计划使用 DisplayServer.VSYNC_MAILBOX 模式,则必须使用三重缓冲。

尝试使用垂直同步模拟器,这是一个交互式界面,可以模拟演示,以更好地了解不同条件下不同变量的影响。

注意:该属性仅在项目启动时读取。目前无法在运行时更改该值。

注意:某些平台可能会限制实际值。


int rendering/rendering_device/vulkan/max_descriptors_per_pool = 64 🔗

该属性目前没有描述,请帮我们贡献一个吧!


float rendering/scaling_3d/fsr_sharpness = 0.2 🔗

决定使用 FSR 放大模式时放大图像的清晰度。每个整数的锐度减半。值从 0.0(最锐利)到 2.0。高于 2.0 的值不会产生明显的差异。


int rendering/scaling_3d/mode = 0 🔗

设置缩放 3D 模式。双线性缩放以不同的分辨率渲染,以对视口进行欠采样或超采样。FidelityFX 超分辨率(FidelityFX Super Resolution) 1.0,缩写为 FSR,是一种放大技术,可通过使用一种空间感知放大算法,以快速帧速率生成高质量图像。FSR 比双线性稍微贵一点,但它产生的图像质量明显更高。在特别低端的 GPU 上,FSR 的性价比过低(与使用具有一个稍高分辨率缩放以匹配性能的双线性缩放相比)。

注意:FSR 只在使用 Forward+ 渲染方式时有效,对 Mobile 或 Compatibility 无效。如果使用不兼容的渲染方法,FSR 将回退到双线性缩放。


float rendering/scaling_3d/scale = 1.0 🔗

根据视口大小缩放 3D 渲染缓冲区,使用 rendering/scaling_3d/mode 中指定的图像过滤器将输出图像缩放至完整的视口大小。比 1.0 小的值可以牺牲质量(欠采样)换取更高的 3D 渲染速度。比 1.0 大的值仅对双线性模式有效,可以大幅牺牲性能(超采样)换取 3D 渲染质量的提升。另见 rendering/anti_aliasing/quality/msaa_3d 多重采样抗锯齿,性能成本显著降低,但仅平滑多边形的边缘。


bool rendering/shader_compiler/shader_cache/compress = true 🔗

该属性目前没有描述,请帮我们贡献一个吧!


bool rendering/shader_compiler/shader_cache/enabled = true 🔗

启用着色器缓存,编译后的着色器会存储在磁盘上,防止在下次需要该着色器时因为编译着色器而带来卡顿。


bool rendering/shader_compiler/shader_cache/strip_debug = false 🔗

该属性目前没有描述,请帮我们贡献一个吧!


bool rendering/shader_compiler/shader_cache/strip_debug.release = true 🔗

该属性目前没有描述,请帮我们贡献一个吧!


bool rendering/shader_compiler/shader_cache/use_zstd_compression = true 🔗

该属性目前没有描述,请帮我们贡献一个吧!


bool rendering/shading/overrides/force_lambert_over_burley = false 🔗

如果为 true,则使用速度更快但质量较低的 Lambert 材质照明模型,不使用 Burley 模型。


bool rendering/shading/overrides/force_lambert_over_burley.mobile = true 🔗

由于性能问题或驱动程序支持,移动设备上用于 rendering/shading/overrides/force_lambert_over_burley 的低端覆盖。


bool rendering/shading/overrides/force_vertex_shading = false 🔗

如果为 true,为所有渲染强制顶点着色。这可以大大提高性能,但也会极大地降低质量。可用于优化低端移动设备的性能。

注意:这个设置目前没有效果,因为顶点着色还没有实现。


bool rendering/shading/overrides/force_vertex_shading.mobile = true 🔗

由于性能问题或驱动程序支持,移动设备上用于 rendering/shading/overrides/force_vertex_shading 的低端覆盖。

注意:这个设置目前没有效果,因为顶点着色还没有实现。


int rendering/textures/canvas_textures/default_texture_filter = 1 🔗

CanvasItem 使用的默认纹理过滤模式。

注意:制作像素风游戏时另见 rendering/2d/snap/snap_2d_vertices_to_pixelrendering/2d/snap/snap_2d_transforms_to_pixel


int rendering/textures/canvas_textures/default_texture_repeat = 0 🔗

CanvasItem 所使用的默认纹理重复模式。


int rendering/textures/decals/filter = 3 🔗

Decal 节点的过滤质量。使用 Anisotropic(各向异性)过滤模式时,各向异性过滤级别由 rendering/textures/default_filters/anisotropic_filtering_level 控制。


int rendering/textures/default_filters/anisotropic_filtering_level = 2 🔗

设置在纹理上使用各向异性过滤时要采用的最大样本数(作为 2 的幂)。更高的采样数将导致倾斜角度的纹理更清晰,但计算成本更高。0 的值会强制禁用各向异性过滤,即使在启用它的材质上也是如此。

如果贴花和投影器被配置为使用各向异性过滤,则各向异性过滤级别也会影响它们。请参阅 rendering/textures/decals/filter and rendering/textures/light_projectors/filter

注意:出于性能原因,各向异性过滤在 2D 和 3D 材质上默认不启用。要使该设置在 3D 中产生效果,请在材质上将 BaseMaterial3D.texture_filter 设置为 BaseMaterial3D.TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPICBaseMaterial3D.TEXTURE_FILTER_NEAREST_WITH_MIPMAPS_ANISOTROPIC。要使该设置在 2D 中生效,请在显示纹理的 CanvasItem 节点上(或 CanvasTexture 中)将 CanvasItem.texture_filter 设置为 CanvasItem.TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPICCanvasItem.TEXTURE_FILTER_NEAREST_WITH_MIPMAPS_ANISOTROPIC。然而,各向异性过滤在 2D 中并不实用,因此在 2D 中只有在它产生有意义的视觉差异时才对纹理启用它。

注意:只有在项目启动时该属性才会被读取。目前无法在运行时更改该设置。


float rendering/textures/default_filters/texture_mipmap_bias = 0.0 🔗

通过从更低或更高的 mipmap 中读取数据影响最终纹理的锐度(也叫“纹理 LOD 偏置”)。负值会让 mipmap 纹理更锐利,但从较远处观察时颗粒更明显,而正值会让 mipmap 纹理更模糊(即便凑近看也一样)。

启用时间抗锯齿(rendering/anti_aliasing/quality/use_taa)会对这个值应用 -0.5 的偏移量,而启用 FXAA(rendering/anti_aliasing/quality/screen_space_aa)则会对这个值应用 -0.25 的偏移量。如果同时启用 TAA 和 FXAA,则会对这个值应用 -0.75 的偏移量。

注意:如果 rendering/scaling_3d/scale1.0 小(包含),则会使用 rendering/textures/default_filters/texture_mipmap_bias 自动调整 mipmap 偏置,内部会根据缩放系数进行计算。公式为 log2(scaling_3d_scale) + mipmap_bias


bool rendering/textures/default_filters/use_nearest_mipmap_filter = false 🔗

如果为 true,则在使用 mipmap 时使用最近邻 mipmap 过滤(也称为“双线性过滤”),这将导致在 mipmap 阶段之间出现可见的接缝。因为使用的内存带宽更少,这可能会提高移动设备的性能。如果为 false,则使用线性 mipmap 过滤(也称为“三线性过滤”)。

注意:只有在项目启动时该属性才会被读取。目前无法在运行时更改该设置。


int rendering/textures/light_projectors/filter = 3 🔗

OmniLight3DSpotLight3D 投影器的过滤质量。使用 Anisotropic(各向异性)过滤模式时,各向异性过滤级别由 rendering/textures/default_filters/anisotropic_filtering_level 控制。


bool rendering/textures/lossless_compression/force_png = false 🔗

如果为 true,纹理导入器将使用 PNG 格式导入无损纹理。否则默认使用 WebP。


bool rendering/textures/vram_compression/import_etc2_astc = false 🔗

如果为 true,则纹理导入器,将使用 Ericsson 纹理压缩 2 算法导入 VRAM 压缩纹理以获取较低质量的纹理和法线贴图,并使用自适应可缩放纹理压缩算法导入高质量纹理(4×4 块大小)。

注意:这是设置覆盖项。即便设为 false,纹理导入器也始终会导入宿主平台所需的格式。

注意:更改该设置不会影响之前已经导入的纹理。要使该设置应用于已导入的纹理,请退出编辑器,移除位于项目文件夹内的 .godot/imported/ 文件夹,然后重新启动编辑器(请参阅 application/config/use_hidden_project_data_directory)。


bool rendering/textures/vram_compression/import_s3tc_bptc = false 🔗

如果为 true,纹理导入器将使用 S3 纹理压缩算法(DXT1-5)导入 VRAM 压缩纹理以获得较低质量的纹理;并使用 BPTC 算法(BC6H 和 BC7)导入高质量纹理。该算法仅在 PC 桌面平台和主机平台上受支持。

注意:这是设置覆盖项。即便设为 false,纹理导入器也始终会导入宿主平台所需的格式。

注意:更改该设置不会影响之前已经导入的纹理。要使该设置应用于已导入的纹理,请退出编辑器,移除位于项目文件夹内的 .godot/imported/ 文件夹,然后重新启动编辑器(请参阅 application/config/use_hidden_project_data_directory)。


int rendering/textures/webp_compression/compression_method = 2 🔗

WebP 的默认压缩方法。影响有损和无损 WebP。较高的值会以压缩速度为代价产生较小的文件。解压缩速度基本上不受压缩方法的影响。支持的值为 0 到 6。请注意,高于 4 的压缩方法非常慢并且节省的空间很小。


float rendering/textures/webp_compression/lossless_compression_factor = 25 🔗

无损 WebP 的默认压缩系数。解压速度通常不受压缩系数的影响。支持的值为 0 到 100。


bool rendering/viewport/hdr_2d = false 🔗

如果为 true,则会在根视口上启用 Viewport.use_hdr_2d。这样 2D 渲染就能够利用需要高动态范围的效果(例如 2D 辉光)。


bool rendering/viewport/transparent_background = false 🔗

如果为 true ,则在根视口上启用 Viewport.transparent_bg 。这样在同时启用 display/window/size/transparentdisplay/window/per_pixel_transparency/allowed 之后,逐像素透明就会生效。


int rendering/vrs/mode = 0 🔗

为主视口设置默认的可变速率着色(VRS)模式。请参阅 Viewport.vrs_mode 以在运行时更改该设置,并参阅 VRSMode 以获取可能的值。


String rendering/vrs/texture = "" 🔗

如果 rendering/vrs/modeTexture,则这是 VRS 图像所加载的默认纹理的路径。

该纹理必须使用无损压缩格式,以便可以精确匹配颜色。以下 VRS 密度会映射为各种颜色,较亮的颜色代表较低的着色精度。

  1. - 1×1 = rgb(0, 0, 0) - #000000
  2. - 1×2 = rgb(0, 85, 0) - #005500
  3. - 2×1 = rgb(85, 0, 0) - #550000
  4. - 2×2 = rgb(85, 85, 0) - #555500
  5. - 2×4 = rgb(85, 170, 0) - #55aa00
  6. - 4×2 = rgb(170, 85, 0) - #aa5500
  7. - 4×4 = rgb(170, 170, 0) - #aaaa00
  8. - 4×8 = rgb(170, 255, 0) - #aaff00 - 大多数硬件不支持
  9. - 8×4 = rgb(255, 170, 0) - #ffaa00 - 大多数硬件不支持
  10. - 8×8 = rgb(255, 255, 0) - #ffff00 - 大多数硬件不支持

float threading/worker_pool/low_priority_thread_ratio = 0.3 🔗

为低优先级任务保留的 WorkerThreadPool 线程的比例。例如总共有 10 个线程,而这个值是 0.3,那么就会为低优先级任务保留 3 个工作线程。实际的取值不会超过 CPU 核心数减一,如果可能,至少会有一个专门用于低优先级任务的线程。


int threading/worker_pool/max_threads = -1 🔗

WorkerThreadPool 所使用的最大线程数。-1 表示无限制。


String xr/openxr/default_action_map = "res://openxr_action_map.tres" 🔗

默认加载的动作映射配置。


bool xr/openxr/enabled = false 🔗

如果为 true,Godot 将在启动时设置并初始化 OpenXR。


int xr/openxr/environment_blend_mode = "0" 🔗

指定 OpenXR 应如何混合环境。针对的是部分 AR 和穿透设备,XR 合成器会混合相机图像。


bool xr/openxr/extensions/eye_gaze_interaction = false 🔗

指定是否为该项目启用眼动追踪。根据平台的不同,可能需要额外的导出配置。


bool xr/openxr/extensions/hand_interaction_profile = false 🔗

如果为 true,平台支持时会激活手部交互配置扩展。


bool xr/openxr/extensions/hand_tracking = true 🔗

如果为 true,则将启用手部跟踪扩展(如果可用)。


int xr/openxr/form_factor = "0" 🔗

指定是否应为 HMD 或手持设备配置 OpenXR。


bool xr/openxr/foveation_dynamic = false 🔗

If true and foveation is supported, will automatically adjust foveation level based on framerate up to the level set on xr/openxr/foveation_level.

Note: Only works on the Compatibility rendering method.


int xr/openxr/foveation_level = "0" 🔗

Applied foveation level if supported: 0 = off, 1 = low, 2 = medium, 3 = high.

Note: Only works on the Compatibility rendering method. On platforms other than Android, if rendering/anti_aliasing/quality/msaa_3d is enabled, this feature will be disabled.


int xr/openxr/reference_space = "1" 🔗

指定默认参照空间。


bool xr/openxr/startup_alert = true 🔗

如果为 true,则启动时如果 OpenXR 初始化失败,Godot 就会显示警告弹框。


bool xr/openxr/submit_depth_buffer = false 🔗

如果为 true,则 OpenXR 会管理深度缓冲区,使用深度缓冲区进行高级再投影,前提是 XR 运行时支持。请注意,Godot 中的部分渲染特性无法与该特性一同使用。


int xr/openxr/view_configuration = "1" 🔗

指定视图配置,用于配置 OpenXR 设置单视场或立体渲染。


bool xr/shaders/enabled = false 🔗

如果为 true,Godot 将编译 XR 所需的着色器。


方法说明

void add_property_info(hint: Dictionary) 🔗

为某个属性添加自定义属性信息。字典必须包含:

示例:

GDScriptC#

  1. ProjectSettings.set("category/property_name", 0)
  2. var property_info = {
  3. "name": "category/property_name",
  4. "type": TYPE_INT,
  5. "hint": PROPERTY_HINT_ENUM,
  6. "hint_string": "one,two,three"
  7. }
  8. ProjectSettings.add_property_info(property_info)
  1. ProjectSettings.Singleton.Set("category/property_name", 0);
  2. var propertyInfo = new Godot.Collections.Dictionary
  3. {
  4. {"name", "category/propertyName"},
  5. {"type", (int)Variant.Type.Int},
  6. {"hint", (int)PropertyHint.Enum},
  7. {"hint_string", "one,two,three"},
  8. };
  9. ProjectSettings.AddPropertyInfo(propertyInfo);

void clear(name: String) 🔗

清除整个配置(不推荐,可能会弄坏东西)。


Array[Dictionary] get_global_class_list() 🔗

返回已注册的全局类的 Array。每个全局类都被表示为包含以下条目的 Dictionary

  • base 是基类的名称;

  • class 是被注册的全局类的名称;

  • icon 是全局类自定义图标的路径,如果有的话;

  • language 是编写全局类的编程语言的名称;

  • path 是包含全局类的文件的路径。

注意:脚本和图标路径都是项目文件系统的本地路径,即它们以 res:// 开头。


int get_order(name: String) const 🔗

返回配置值的顺序(保存到配置文件时会产生影响)。


Variant get_setting(name: String, default_value: Variant = null) const 🔗

返回由名称 name 标识的设置项的值。如果该设置项不存在,并且指定了默认值 default_value,则会返回 default_value 的值。否则返回 null

示例:

GDScriptC#

  1. print(ProjectSettings.get_setting("application/config/name"))
  2. print(ProjectSettings.get_setting("application/config/custom_description", "未指定描述。"))
  1. GD.Print(ProjectSettings.GetSetting("application/config/name"));
  2. GD.Print(ProjectSettings.GetSetting("application/config/custom_description", "未指定描述。"));

注意:这个方法不会自动考虑可能的特性覆盖项。如需无缝处理,请使用 get_setting_with_override


Variant get_setting_with_override(name: StringName) const 🔗

类似于 get_setting,但会应用有效的特性标签覆盖项。

示例:

如果存在设置覆盖项“application/config/name.windows”并且执行了下列代码:

GDScriptC#

  1. print(ProjectSettings.get_setting_with_override("application/config/name"))
  1. GD.Print(ProjectSettings.GetSettingWithOverride("application/config/name"));

那么项目在 Windows 操作系统上运行时会返回覆盖的设置值。


String globalize_path(path: String) const 🔗

返回与本地化 path(以 res://user:// 开头)相对应的绝对原生 OS 路径。返回的路径将因操作系统和用户首选项而异。 请参阅《Godot 项目中的文件路径》以查看这些路径转换成的内容。另请参阅 localize_path

注意:res:// 调用 globalize_path 在导出的项目中不会起作用。而是,当从导出的项目运行时,将可执行文件的基目录添加到路径中:

  1. var path = ""
  2. if OS.has_feature("editor"):
  3. # 从编辑器二进制文件运行。
  4. # `path` 将包含位于项目根目录中的 `hello.txt` 的绝对路径。
  5. path = ProjectSettings.globalize_path("res://hello.txt")
  6. else:
  7. # 从导出的项目运行。
  8. # `path` 将包含可执行文件旁边的 `hello.txt` 的绝对路径。
  9. # 这与使用 `ProjectSettings.globalize_path()` 和 `res://` 路径*不*相同,
  10. # 但在目的上足够接近。
  11. path = OS.get_executable_path().get_base_dir().path_join("hello.txt")

bool has_setting(name: String) const 🔗

配置值存在时返回 true


bool load_resource_pack(pack: String, replace_files: bool = true, offset: int = 0) 🔗

pack 指定的 .pck 或 .zip 文件的内容,加载到资源文件系统(res://)。成功时返回 true

注意:如果来自 pack 的文件与资源文件系统中已有的文件路径相同,则任何加载该文件的尝试,都将使用来自 pack 的文件,除非 replace_files 被设置为 false

注意:可选的 offset 参数可用于指定资源包开头的字节偏移量。这只支持 .pck 文件。


String localize_path(path: String) const 🔗

返回对应于绝对本地操作系统 path 的本地化路径(以 res:// 开头)。另见 globalize_path


Error save() 🔗

将配置保存到 project.godot 文件中。

注意:此方法是为编辑器插件使用的,因为修改后的 ProjectSettings 无法在运行的应用程序中加载回来。如果要更改导出项目中的项目设置,请使用 save_custom 保存 override.cfg 文件。


Error save_custom(file: String) 🔗

将配置保存到自定义文件。文件扩展名必须是 .godot(以基于文本的 ConfigFile 格式保存)或 .binary(以二进制格式保存)。你也可以保存为 override.cfg 文件,它也是文本,但与其他格式不同,可以在导出的项目中使用。


void set_as_basic(name: String, basic: bool) 🔗

决定指定的设置是基本设置还是高级设置。项目设置中始终显示基本设置。高级设置仅在用户启用“高级设置”选项时显示。


void set_as_internal(name: String, internal: bool) 🔗

决定指定的设置是否为内部设置。内部设置不会在“项目设置”对话框中出现。常用于插件,用来存储内部设置,避免直接暴露给用户。


void set_initial_value(name: String, value: Variant) 🔗

设置指定设置的初始值。这是属性恢复到的值。


void set_order(name: String, position: int) 🔗

设置配置值的顺序(保存到配置文件时会产生影响)。


void set_restart_if_changed(name: String, restart: bool) 🔗

设置一个设置是否需要重新启动编辑器才能正确生效。

注意:这只是向用户显示的提示,提示必须重新启动编辑器才能使更改生效。启用 set_restart_if_changed 会延迟在更改时设置的设置。


void set_setting(name: String, value: Variant) 🔗

设置设置项的值。

示例:

GDScriptC#

  1. ProjectSettings.set_setting("application/config/name", "Example")
  1. ProjectSettings.SetSetting("application/config/name", "Example");

也可以用来擦除自定义项目设置。方法是将设置项的值设置为 null