diff options
Diffstat (limited to 'doc')
31 files changed, 402 insertions, 195 deletions
diff --git a/doc/classes/Animation.xml b/doc/classes/Animation.xml index d2ecbdde26..a35b784106 100644 --- a/doc/classes/Animation.xml +++ b/doc/classes/Animation.xml @@ -253,6 +253,14 @@ Returns the arguments values to be called on a method track for a given key in a given track. </description> </method> + <method name="position_track_insert_key"> + <return type="int" /> + <argument index="0" name="track_idx" type="int" /> + <argument index="1" name="time" type="float" /> + <argument index="2" name="position" type="Vector3" /> + <description> + </description> + </method> <method name="remove_track"> <return type="void" /> <argument index="0" name="track_idx" type="int" /> @@ -260,6 +268,22 @@ Removes a track by specifying the track index. </description> </method> + <method name="rotation_track_insert_key"> + <return type="int" /> + <argument index="0" name="track_idx" type="int" /> + <argument index="1" name="time" type="float" /> + <argument index="2" name="rotation" type="Quaternion" /> + <description> + </description> + </method> + <method name="scale_track_insert_key"> + <return type="int" /> + <argument index="0" name="track_idx" type="int" /> + <argument index="1" name="time" type="float" /> + <argument index="2" name="scale" type="Vector3" /> + <description> + </description> + </method> <method name="track_find_key" qualifiers="const"> <return type="int" /> <argument index="0" name="track_idx" type="int" /> @@ -466,25 +490,6 @@ Swaps the track [code]idx[/code]'s index position with the track [code]with_idx[/code]. </description> </method> - <method name="transform_track_insert_key"> - <return type="int" /> - <argument index="0" name="track_idx" type="int" /> - <argument index="1" name="time" type="float" /> - <argument index="2" name="location" type="Vector3" /> - <argument index="3" name="rotation" type="Quaternion" /> - <argument index="4" name="scale" type="Vector3" /> - <description> - Insert a transform key for a transform track. - </description> - </method> - <method name="transform_track_interpolate" qualifiers="const"> - <return type="Array" /> - <argument index="0" name="track_idx" type="int" /> - <argument index="1" name="time_sec" type="float" /> - <description> - Returns the interpolated value of a transform track at a given time (in seconds). An array consisting of 3 elements: position ([Vector3]), rotation ([Quaternion]) and scale ([Vector3]). - </description> - </method> <method name="value_track_get_key_indices" qualifiers="const"> <return type="PackedInt32Array" /> <argument index="0" name="track_idx" type="int" /> @@ -541,19 +546,22 @@ <constant name="TYPE_VALUE" value="0" enum="TrackType"> Value tracks set values in node properties, but only those which can be Interpolated. </constant> - <constant name="TYPE_TRANSFORM3D" value="1" enum="TrackType"> - Transform3D tracks are used to change node local transforms or skeleton pose bones of 3D nodes. Transitions are interpolated. + <constant name="TYPE_POSITION_3D" value="1" enum="TrackType"> + </constant> + <constant name="TYPE_ROTATION_3D" value="2" enum="TrackType"> + </constant> + <constant name="TYPE_SCALE_3D" value="3" enum="TrackType"> </constant> - <constant name="TYPE_METHOD" value="2" enum="TrackType"> + <constant name="TYPE_METHOD" value="4" enum="TrackType"> Method tracks call functions with given arguments per key. </constant> - <constant name="TYPE_BEZIER" value="3" enum="TrackType"> + <constant name="TYPE_BEZIER" value="5" enum="TrackType"> Bezier tracks are used to interpolate a value using custom curves. They can also be used to animate sub-properties of vectors and colors (e.g. alpha value of a [Color]). </constant> - <constant name="TYPE_AUDIO" value="4" enum="TrackType"> + <constant name="TYPE_AUDIO" value="6" enum="TrackType"> Audio tracks are used to play an audio stream with either type of [AudioStreamPlayer]. The stream can be trimmed and previewed in the animation. </constant> - <constant name="TYPE_ANIMATION" value="5" enum="TrackType"> + <constant name="TYPE_ANIMATION" value="7" enum="TrackType"> Animation tracks play animations in other [AnimationPlayer] nodes. </constant> <constant name="INTERPOLATION_NEAREST" value="0" enum="InterpolationType"> diff --git a/doc/classes/AnimationTree.xml b/doc/classes/AnimationTree.xml index 3d112e258e..40dcd950d7 100644 --- a/doc/classes/AnimationTree.xml +++ b/doc/classes/AnimationTree.xml @@ -22,7 +22,7 @@ <method name="get_root_motion_transform" qualifiers="const"> <return type="Transform3D" /> <description> - Retrieve the motion of the [member root_motion_track] as a [Transform3D] that can be used elsewhere. If [member root_motion_track] is not a path to a track of type [constant Animation.TYPE_TRANSFORM3D], returns an identity transformation. See also [member root_motion_track] and [RootMotionView]. + Retrieve the motion of the [member root_motion_track] as a [Transform3D] that can be used elsewhere. If [member root_motion_track] is not a path to a track of type [constant Animation.TYPE_POSITION_3D], [constant Animation.TYPE_SCALE_3D] or [constant Animation.TYPE_ROTATION_3D], returns an identity transformation. See also [member root_motion_track] and [RootMotionView]. </description> </method> <method name="rename_parameter"> @@ -45,7 +45,7 @@ </member> <member name="root_motion_track" type="NodePath" setter="set_root_motion_track" getter="get_root_motion_track" default="NodePath("")"> The path to the Animation track used for root motion. Paths must be valid scene-tree paths to a node, and must be specified starting from the parent node of the node that will reproduce the animation. To specify a track that controls properties or bones, append its name after the path, separated by [code]":"[/code]. For example, [code]"character/skeleton:ankle"[/code] or [code]"character/mesh:transform/local"[/code]. - If the track has type [constant Animation.TYPE_TRANSFORM3D], the transformation will be cancelled visually, and the animation will appear to stay in place. See also [method get_root_motion_transform] and [RootMotionView]. + If the track has type [constant Animation.TYPE_POSITION_3D], [constant Animation.TYPE_ROTATION_3D] or [constant Animation.TYPE_SCALE_3D] the transformation will be cancelled visually, and the animation will appear to stay in place. See also [method get_root_motion_transform] and [RootMotionView]. </member> <member name="tree_root" type="AnimationNode" setter="set_tree_root" getter="get_tree_root"> The root animation node of this [AnimationTree]. See [AnimationNode]. diff --git a/doc/classes/Area2D.xml b/doc/classes/Area2D.xml index 25f67f0571..ddfc3b1869 100644 --- a/doc/classes/Area2D.xml +++ b/doc/classes/Area2D.xml @@ -101,27 +101,27 @@ <signal name="area_shape_entered"> <argument index="0" name="area_rid" type="RID" /> <argument index="1" name="area" type="Area2D" /> - <argument index="2" name="area_shape" type="int" /> - <argument index="3" name="local_shape" type="int" /> + <argument index="2" name="area_shape_index" type="int" /> + <argument index="3" name="local_shape_index" type="int" /> <description> Emitted when one of another Area2D's [Shape2D]s enters one of this Area2D's [Shape2D]s. Requires [member monitoring] to be set to [code]true[/code]. - [code]area_id[/code] the [RID] of the other Area2D's [CollisionObject2D] used by the [PhysicsServer2D]. + [code]area_rid[/code] the [RID] of the other Area2D's [CollisionObject2D] used by the [PhysicsServer2D]. [code]area[/code] the other Area2D. - [code]area_shape[/code] the index of the [Shape2D] of the other Area2D used by the [PhysicsServer2D]. - [code]local_shape[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D]. + [code]area_shape_index[/code] the index of the [Shape2D] of the other Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]area.shape_owner_get_owner(area_shape_index)[/code]. + [code]local_shape_index[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code]. </description> </signal> <signal name="area_shape_exited"> <argument index="0" name="area_rid" type="RID" /> <argument index="1" name="area" type="Area2D" /> - <argument index="2" name="area_shape" type="int" /> - <argument index="3" name="local_shape" type="int" /> + <argument index="2" name="area_shape_index" type="int" /> + <argument index="3" name="local_shape_index" type="int" /> <description> Emitted when one of another Area2D's [Shape2D]s exits one of this Area2D's [Shape2D]s. Requires [member monitoring] to be set to [code]true[/code]. - [code]area_id[/code] the [RID] of the other Area2D's [CollisionObject2D] used by the [PhysicsServer2D]. + [code]area_rid[/code] the [RID] of the other Area2D's [CollisionObject2D] used by the [PhysicsServer2D]. [code]area[/code] the other Area2D. - [code]area_shape[/code] the index of the [Shape2D] of the other Area2D used by the [PhysicsServer2D]. - [code]local_shape[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D]. + [code]area_shape_index[/code] the index of the [Shape2D] of the other Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]area.shape_owner_get_owner(area_shape_index)[/code]. + [code]local_shape_index[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code]. </description> </signal> <signal name="body_entered"> @@ -141,27 +141,27 @@ <signal name="body_shape_entered"> <argument index="0" name="body_rid" type="RID" /> <argument index="1" name="body" type="Node2D" /> - <argument index="2" name="body_shape" type="int" /> - <argument index="3" name="local_shape" type="int" /> + <argument index="2" name="body_shape_index" type="int" /> + <argument index="3" name="local_shape_index" type="int" /> <description> Emitted when one of a [PhysicsBody2D] or [TileMap]'s [Shape2D]s enters one of this Area2D's [Shape2D]s. Requires [member monitoring] to be set to [code]true[/code]. [TileMap]s are detected if the [TileSet] has Collision [Shape2D]s. - [code]body_id[/code] the [RID] of the [PhysicsBody2D] or [TileSet]'s [CollisionObject2D] used by the [PhysicsServer2D]. + [code]body_rid[/code] the [RID] of the [PhysicsBody2D] or [TileSet]'s [CollisionObject2D] used by the [PhysicsServer2D]. [code]body[/code] the [Node], if it exists in the tree, of the [PhysicsBody2D] or [TileMap]. - [code]body_shape[/code] the index of the [Shape2D] of the [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D]. - [code]local_shape[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D]. + [code]body_shape_index[/code] the index of the [Shape2D] of the [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code]. + [code]local_shape_index[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code]. </description> </signal> <signal name="body_shape_exited"> <argument index="0" name="body_rid" type="RID" /> <argument index="1" name="body" type="Node2D" /> - <argument index="2" name="body_shape" type="int" /> - <argument index="3" name="local_shape" type="int" /> + <argument index="2" name="body_shape_index" type="int" /> + <argument index="3" name="local_shape_index" type="int" /> <description> Emitted when one of a [PhysicsBody2D] or [TileMap]'s [Shape2D]s exits one of this Area2D's [Shape2D]s. Requires [member monitoring] to be set to [code]true[/code]. [TileMap]s are detected if the [TileSet] has Collision [Shape2D]s. - [code]body_id[/code] the [RID] of the [PhysicsBody2D] or [TileSet]'s [CollisionObject2D] used by the [PhysicsServer2D]. + [code]body_rid[/code] the [RID] of the [PhysicsBody2D] or [TileSet]'s [CollisionObject2D] used by the [PhysicsServer2D]. [code]body[/code] the [Node], if it exists in the tree, of the [PhysicsBody2D] or [TileMap]. - [code]body_shape[/code] the index of the [Shape2D] of the [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D]. - [code]local_shape[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D]. + [code]body_shape_index[/code] the index of the [Shape2D] of the [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code]. + [code]local_shape_index[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code]. </description> </signal> </signals> diff --git a/doc/classes/Area3D.xml b/doc/classes/Area3D.xml index e91cfd79a1..896bfcd14e 100644 --- a/doc/classes/Area3D.xml +++ b/doc/classes/Area3D.xml @@ -120,27 +120,27 @@ <signal name="area_shape_entered"> <argument index="0" name="area_rid" type="RID" /> <argument index="1" name="area" type="Area3D" /> - <argument index="2" name="area_shape" type="int" /> - <argument index="3" name="local_shape" type="int" /> + <argument index="2" name="area_shape_index" type="int" /> + <argument index="3" name="local_shape_index" type="int" /> <description> Emitted when one of another Area3D's [Shape3D]s enters one of this Area3D's [Shape3D]s. Requires [member monitoring] to be set to [code]true[/code]. - [code]area_id[/code] the [RID] of the other Area3D's [CollisionObject3D] used by the [PhysicsServer3D]. + [code]area_rid[/code] the [RID] of the other Area3D's [CollisionObject3D] used by the [PhysicsServer3D]. [code]area[/code] the other Area3D. - [code]area_shape[/code] the index of the [Shape3D] of the other Area3D used by the [PhysicsServer3D]. - [code]local_shape[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D]. + [code]area_shape_index[/code] the index of the [Shape3D] of the other Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]area.shape_owner_get_owner(area_shape_index)[/code]. + [code]local_shape_index[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code]. </description> </signal> <signal name="area_shape_exited"> <argument index="0" name="area_rid" type="RID" /> <argument index="1" name="area" type="Area3D" /> - <argument index="2" name="area_shape" type="int" /> - <argument index="3" name="local_shape" type="int" /> + <argument index="2" name="area_shape_index" type="int" /> + <argument index="3" name="local_shape_index" type="int" /> <description> Emitted when one of another Area3D's [Shape3D]s enters one of this Area3D's [Shape3D]s. Requires [member monitoring] to be set to [code]true[/code]. - [code]area_id[/code] the [RID] of the other Area3D's [CollisionObject3D] used by the [PhysicsServer3D]. + [code]area_rid[/code] the [RID] of the other Area3D's [CollisionObject3D] used by the [PhysicsServer3D]. [code]area[/code] the other Area3D. - [code]area_shape[/code] the index of the [Shape3D] of the other Area3D used by the [PhysicsServer3D]. - [code]local_shape[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D]. + [code]area_shape_index[/code] the index of the [Shape3D] of the other Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]area.shape_owner_get_owner(area_shape_index)[/code]. + [code]local_shape_index[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code]. </description> </signal> <signal name="body_entered"> @@ -160,27 +160,27 @@ <signal name="body_shape_entered"> <argument index="0" name="body_rid" type="RID" /> <argument index="1" name="body" type="Node3D" /> - <argument index="2" name="body_shape" type="int" /> - <argument index="3" name="local_shape" type="int" /> + <argument index="2" name="body_shape_index" type="int" /> + <argument index="3" name="local_shape_index" type="int" /> <description> Emitted when one of a [PhysicsBody3D] or [GridMap]'s [Shape3D]s enters one of this Area3D's [Shape3D]s. Requires [member monitoring] to be set to [code]true[/code]. [GridMap]s are detected if the [MeshLibrary] has Collision [Shape3D]s. - [code]body_id[/code] the [RID] of the [PhysicsBody3D] or [MeshLibrary]'s [CollisionObject3D] used by the [PhysicsServer3D]. + [code]body_rid[/code] the [RID] of the [PhysicsBody3D] or [MeshLibrary]'s [CollisionObject3D] used by the [PhysicsServer3D]. [code]body[/code] the [Node], if it exists in the tree, of the [PhysicsBody3D] or [GridMap]. - [code]body_shape[/code] the index of the [Shape3D] of the [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. - [code]local_shape[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D]. + [code]body_shape_index[/code] the index of the [Shape3D] of the [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code]. + [code]local_shape_index[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code]. </description> </signal> <signal name="body_shape_exited"> <argument index="0" name="body_rid" type="RID" /> <argument index="1" name="body" type="Node3D" /> - <argument index="2" name="body_shape" type="int" /> - <argument index="3" name="local_shape" type="int" /> + <argument index="2" name="body_shape_index" type="int" /> + <argument index="3" name="local_shape_index" type="int" /> <description> Emitted when one of a [PhysicsBody3D] or [GridMap]'s [Shape3D]s enters one of this Area3D's [Shape3D]s. Requires [member monitoring] to be set to [code]true[/code]. [GridMap]s are detected if the [MeshLibrary] has Collision [Shape3D]s. - [code]body_id[/code] the [RID] of the [PhysicsBody3D] or [MeshLibrary]'s [CollisionObject3D] used by the [PhysicsServer3D]. + [code]body_rid[/code] the [RID] of the [PhysicsBody3D] or [MeshLibrary]'s [CollisionObject3D] used by the [PhysicsServer3D]. [code]body[/code] the [Node], if it exists in the tree, of the [PhysicsBody3D] or [GridMap]. - [code]body_shape[/code] the index of the [Shape3D] of the [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. - [code]local_shape[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D]. + [code]body_shape_index[/code] the index of the [Shape3D] of the [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code]. + [code]local_shape_index[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code]. </description> </signal> </signals> diff --git a/doc/classes/CharFXTransform.xml b/doc/classes/CharFXTransform.xml index 2d8e7817c1..b11d9c341a 100644 --- a/doc/classes/CharFXTransform.xml +++ b/doc/classes/CharFXTransform.xml @@ -15,7 +15,7 @@ The color the character will be drawn with. </member> <member name="elapsed_time" type="float" setter="set_elapsed_time" getter="get_elapsed_time" default="0.0"> - The time elapsed since the [RichTextLabel] was added to the scene tree (in seconds). Time stops when the project is paused depending on the value of the [RichTextLabel]'s [member Node.process_mode]. + The time elapsed since the [RichTextLabel] was added to the scene tree (in seconds). Time stops when the [RichTextLabel] is paused (see [member Node.process_mode]). Resets when the text in the [RichTextLabel] is changed. [b]Note:[/b] Time still passes while the [RichTextLabel] is hidden. </member> <member name="env" type="Dictionary" setter="set_environment" getter="get_environment" default="{}"> diff --git a/doc/classes/EditorImportPlugin.xml b/doc/classes/EditorImportPlugin.xml index f20f4adcdf..c5a44009d2 100644 --- a/doc/classes/EditorImportPlugin.xml +++ b/doc/classes/EditorImportPlugin.xml @@ -5,7 +5,7 @@ </brief_description> <description> EditorImportPlugins provide a way to extend the editor's resource import functionality. Use them to import resources from custom files or to provide alternatives to the editor's existing importers. Register your [EditorPlugin] with [method EditorPlugin.add_import_plugin]. - EditorImportPlugins work by associating with specific file extensions and a resource type. See [method _get_recognized_extensions] and [method _get_resource_type]. They may optionally specify some import presets that affect the import process. EditorImportPlugins are responsible for creating the resources and saving them in the [code].godot/imported[/code] directory. + EditorImportPlugins work by associating with specific file extensions and a resource type. See [method _get_recognized_extensions] and [method _get_resource_type]. They may optionally specify some import presets that affect the import process. EditorImportPlugins are responsible for creating the resources and saving them in the [code].godot/imported[/code] directory (see [member ProjectSettings.application/config/project_data_dir_name]). Below is an example EditorImportPlugin that imports a [Mesh] from a file with the extension ".special" or ".spec": [codeblocks] [gdscript] @@ -197,7 +197,7 @@ <method name="_get_save_extension" qualifiers="virtual const"> <return type="String" /> <description> - Gets the extension used to save this resource in the [code].godot/imported[/code] directory. + Gets the extension used to save this resource in the [code].godot/imported[/code] directory (see [member ProjectSettings.application/config/project_data_dir_name]). </description> </method> <method name="_get_visible_name" qualifiers="virtual const"> diff --git a/doc/classes/EditorNode3DGizmo.xml b/doc/classes/EditorNode3DGizmo.xml index a2eac01ae8..c804bb70e0 100644 --- a/doc/classes/EditorNode3DGizmo.xml +++ b/doc/classes/EditorNode3DGizmo.xml @@ -178,7 +178,7 @@ </method> <method name="is_subgizmo_selected" qualifiers="const"> <return type="bool" /> - <argument index="0" name="arg0" type="int" /> + <argument index="0" name="id" type="int" /> <description> Returns [code]true[/code] if the given subgizmo is currently selected. Can be used to highlight selected elements during [method _redraw]. </description> diff --git a/doc/classes/EditorPlugin.xml b/doc/classes/EditorPlugin.xml index 4aa6963f57..f2764865df 100644 --- a/doc/classes/EditorPlugin.xml +++ b/doc/classes/EditorPlugin.xml @@ -381,7 +381,7 @@ <argument index="0" name="importer" type="EditorImportPlugin" /> <description> Registers a new [EditorImportPlugin]. Import plugins are used to import custom and unsupported assets as a custom [Resource] type. - [b]Note:[/b] If you want to import custom 3D asset formats use [method add_scene_import_plugin] instead. + [b]Note:[/b] If you want to import custom 3D asset formats use [method add_scene_format_importer_plugin] instead. See [method add_inspector_plugin] for an example of how to register a plugin. </description> </method> @@ -405,11 +405,18 @@ [/codeblocks] </description> </method> - <method name="add_scene_import_plugin"> + <method name="add_scene_format_importer_plugin"> <return type="void" /> - <argument index="0" name="scene_importer" type="EditorSceneImporter" /> + <argument index="0" name="scene_format_importer" type="EditorSceneFormatImporter" /> <description> - Registers a new [EditorSceneImporter]. Scene importers are used to import custom 3D asset formats as scenes. + Registers a new [EditorSceneFormatImporter]. Scene importers are used to import custom 3D asset formats as scenes. + </description> + </method> + <method name="add_scene_post_import_plugin"> + <return type="void" /> + <argument index="0" name="scene_import_plugin" type="EditorScenePostImportPlugin" /> + <description> + Add a [EditorScenePostImportPlugin]. These plugins allow customizing the import process of 3D assets by adding new options to the import dialogs. </description> </method> <method name="add_spatial_gizmo_plugin"> @@ -553,11 +560,18 @@ Removes an inspector plugin registered by [method add_import_plugin] </description> </method> - <method name="remove_scene_import_plugin"> + <method name="remove_scene_format_importer_plugin"> + <return type="void" /> + <argument index="0" name="scene_format_importer" type="EditorSceneFormatImporter" /> + <description> + Removes a scene format importer registered by [method add_scene_format_importer_plugin]. + </description> + </method> + <method name="remove_scene_post_import_plugin"> <return type="void" /> - <argument index="0" name="scene_importer" type="EditorSceneImporter" /> + <argument index="0" name="scene_import_plugin" type="EditorScenePostImportPlugin" /> <description> - Removes a scene importer registered by [method add_scene_import_plugin]. + Remove the [EditorScenePostImportPlugin], added with [method add_scene_post_import_plugin]. </description> </method> <method name="remove_spatial_gizmo_plugin"> diff --git a/doc/classes/EditorSceneImporter.xml b/doc/classes/EditorSceneFormatImporter.xml index a400db551f..d890188092 100644 --- a/doc/classes/EditorSceneImporter.xml +++ b/doc/classes/EditorSceneFormatImporter.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorSceneImporter" inherits="RefCounted" version="4.0"> +<class name="EditorSceneFormatImporter" inherits="RefCounted" version="4.0"> <brief_description> Imports scenes from third-parties' 3D files. </brief_description> diff --git a/doc/classes/EditorSceneFormatImporterFBX.xml b/doc/classes/EditorSceneFormatImporterFBX.xml new file mode 100644 index 0000000000..117030dfd5 --- /dev/null +++ b/doc/classes/EditorSceneFormatImporterFBX.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="EditorSceneFormatImporterFBX" inherits="EditorSceneFormatImporter" version="4.0"> + <brief_description> + FBX 3D asset importer. + </brief_description> + <description> + This is an FBX 3D asset importer with full support for most FBX features. + If exporting a FBX scene from Autodesk Maya, use these FBX export settings: + [codeblock] + - Smoothing Groups + - Smooth Mesh + - Triangluate (for meshes with blend shapes) + - Bake Animation + - Resample All + - Deformed Models + - Skins + - Blend Shapes + - Curve Filters + - Constant Key Reducer + - Auto Tangents Only + - *Do not check* Constraints (as it will break the file) + - Can check Embed Media (embeds textures into the exported FBX file) + - Note that when importing embedded media, the texture and mesh will be a single immutable file. + - You will have to re-export then re-import the FBX if the texture has changed. + - Units: Centimeters + - Up Axis: Y + - Binary format in FBX 2017 + [/codeblock] + </description> + <tutorials> + </tutorials> +</class> diff --git a/doc/classes/EditorSceneFormatImporterGLTF.xml b/doc/classes/EditorSceneFormatImporterGLTF.xml new file mode 100644 index 0000000000..1476a22aef --- /dev/null +++ b/doc/classes/EditorSceneFormatImporterGLTF.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="EditorSceneFormatImporterGLTF" inherits="EditorSceneFormatImporter" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> +</class> diff --git a/doc/classes/EditorScenePostImportPlugin.xml b/doc/classes/EditorScenePostImportPlugin.xml new file mode 100644 index 0000000000..07d8fa28b9 --- /dev/null +++ b/doc/classes/EditorScenePostImportPlugin.xml @@ -0,0 +1,116 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="EditorScenePostImportPlugin" inherits="RefCounted" version="4.0"> + <brief_description> + Plugin to control and modifying the process of importing a scene. + </brief_description> + <description> + This plugin type exists to modify the process of importing scenes, allowing to change the content as well as add importer options at every stage of the process. + </description> + <tutorials> + </tutorials> + <methods> + <method name="_get_import_options" qualifiers="virtual"> + <return type="void" /> + <description> + Override to add general import options. These will appear in the main import dock on the editor. Add options via [method add_import_option] and [method add_import_option_advanced]. + </description> + </method> + <method name="_get_internal_import_options" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="category" type="int" /> + <description> + Override to add internal import options. These will appear in the 3D scene import dialog. Add options via [method add_import_option] and [method add_import_option_advanced]. + </description> + </method> + <method name="_get_internal_option_update_view_required" qualifiers="virtual const"> + <return type="Variant" /> + <argument index="0" name="category" type="int" /> + <argument index="1" name="option" type="String" /> + <description> + Return true whether updating the 3D view of the import dialog needs to be updated if an option has changed. + </description> + </method> + <method name="_get_internal_option_visibility" qualifiers="virtual const"> + <return type="Variant" /> + <argument index="0" name="category" type="int" /> + <argument index="1" name="option" type="String" /> + <description> + Return true or false whether a given option should be visible. Return null to ignore. + </description> + </method> + <method name="_get_option_visibility" qualifiers="virtual const"> + <return type="Variant" /> + <argument index="0" name="option" type="String" /> + <description> + Return true or false whether a given option should be visible. Return null to ignore. + </description> + </method> + <method name="_internal_process" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="category" type="int" /> + <argument index="1" name="base_node" type="Node" /> + <argument index="2" name="node" type="Node" /> + <argument index="3" name="resource" type="Resource" /> + <description> + Process a specific node or resource for a given category. + </description> + </method> + <method name="_post_process" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="scene" type="Node" /> + <description> + Post process the scene. This function is called after the final scene has been configured. + </description> + </method> + <method name="_pre_process" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="scene" type="Node" /> + <description> + Pre Process the scene. This function is called right after the scene format loader loaded the scene and no changes have been made. + </description> + </method> + <method name="add_import_option"> + <return type="void" /> + <argument index="0" name="name" type="String" /> + <argument index="1" name="value" type="Variant" /> + <description> + Add a specific import option (name and default value only). This function can only be called from [method _get_import_options] and [method _get_internal_import_options]. + </description> + </method> + <method name="add_import_option_advanced"> + <return type="void" /> + <argument index="0" name="type" type="int" enum="Variant.Type" /> + <argument index="1" name="name" type="String" /> + <argument index="2" name="default_value" type="Variant" /> + <argument index="3" name="hint" type="int" enum="PropertyHint" default="0" /> + <argument index="4" name="hint_string" type="String" default="""" /> + <argument index="5" name="usage_flags" type="int" default="7" /> + <description> + Add a specific import option. This function can only be called from [method _get_import_options] and [method _get_internal_import_options]. + </description> + </method> + <method name="get_option_value" qualifiers="const"> + <return type="Variant" /> + <argument index="0" name="name" type="StringName" /> + <description> + Query the value of an option. This function can only be called from those querying visibility, or processing. + </description> + </method> + </methods> + <constants> + <constant name="INTERNAL_IMPORT_CATEGORY_NODE" value="0" enum="InternalImportCategory"> + </constant> + <constant name="INTERNAL_IMPORT_CATEGORY_MESH_3D_NODE" value="1" enum="InternalImportCategory"> + </constant> + <constant name="INTERNAL_IMPORT_CATEGORY_MESH" value="2" enum="InternalImportCategory"> + </constant> + <constant name="INTERNAL_IMPORT_CATEGORY_MATERIAL" value="3" enum="InternalImportCategory"> + </constant> + <constant name="INTERNAL_IMPORT_CATEGORY_ANIMATION" value="4" enum="InternalImportCategory"> + </constant> + <constant name="INTERNAL_IMPORT_CATEGORY_ANIMATION_NODE" value="5" enum="InternalImportCategory"> + </constant> + <constant name="INTERNAL_IMPORT_CATEGORY_MAX" value="6" enum="InternalImportCategory"> + </constant> + </constants> +</class> diff --git a/doc/classes/EditorSyntaxHighlighter.xml b/doc/classes/EditorSyntaxHighlighter.xml index 8880ce4d44..462323a067 100644 --- a/doc/classes/EditorSyntaxHighlighter.xml +++ b/doc/classes/EditorSyntaxHighlighter.xml @@ -5,7 +5,7 @@ </brief_description> <description> Base syntax highlighter resource all editor syntax highlighters extend from, it is used in the [ScriptEditor]. - Add a syntax highlighter to an individual script by calling ScriptEditorBase._add_syntax_highlighter (currently not working). To apply to all scripts on open, call [method ScriptEditor.register_syntax_highlighter] + Add a syntax highlighter to an individual script by calling [method ScriptEditorBase.add_syntax_highlighter]. To apply to all scripts on open, call [method ScriptEditor.register_syntax_highlighter] </description> <tutorials> </tutorials> diff --git a/doc/classes/Environment.xml b/doc/classes/Environment.xml index 98b0de6ce1..80298a0319 100644 --- a/doc/classes/Environment.xml +++ b/doc/classes/Environment.xml @@ -101,8 +101,10 @@ If [code]true[/code], fog effects are enabled. </member> <member name="fog_height" type="float" setter="set_fog_height" getter="get_fog_height" default="0.0"> + The height at which the height fog effect begins. </member> <member name="fog_height_density" type="float" setter="set_fog_height_density" getter="get_fog_height_density" default="0.0"> + The density used to increase fog as height decreases. To make fog increase as height increases, use a negative value. </member> <member name="fog_light_color" type="Color" setter="set_fog_light_color" getter="get_fog_light_color" default="Color(0.5, 0.6, 0.7, 1)"> </member> diff --git a/doc/classes/FontData.xml b/doc/classes/FontData.xml index 7b1fc2ab42..04932ddd2d 100644 --- a/doc/classes/FontData.xml +++ b/doc/classes/FontData.xml @@ -105,9 +105,9 @@ </method> <method name="get_glyph_index" qualifiers="const"> <return type="int" /> - <argument index="0" name="char" type="int" /> - <argument index="1" name="variation_selector" type="int" /> - <argument index="2" name="arg2" type="int" /> + <argument index="0" name="size" type="int" /> + <argument index="1" name="char" type="int" /> + <argument index="2" name="variation_selector" type="int" /> <description> Returns the glyph index of a [code]char[/code], optionally modified by the [code]variation_selector[/code]. </description> @@ -242,7 +242,7 @@ <return type="int" /> <argument index="0" name="cache_index" type="int" /> <argument index="1" name="size" type="int" /> - <argument index="2" name="arg2" type="int" enum="TextServer.SpacingType" /> + <argument index="2" name="spacing_type" type="int" enum="TextServer.SpacingType" /> <description> Returns extra spacing added between glyphs in pixels. </description> @@ -596,8 +596,8 @@ <return type="void" /> <argument index="0" name="cache_index" type="int" /> <argument index="1" name="size" type="int" /> - <argument index="2" name="spacing" type="int" enum="TextServer.SpacingType" /> - <argument index="3" name="arg3" type="int" /> + <argument index="2" name="spacing_type" type="int" enum="TextServer.SpacingType" /> + <argument index="3" name="value" type="int" /> <description> Sets extra spacing added between glyphs in pixels. </description> diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml index 11c42fbd4a..843db8c174 100644 --- a/doc/classes/Node.xml +++ b/doc/classes/Node.xml @@ -551,6 +551,7 @@ <argument index="0" name="node" type="Node" /> <description> Removes a child node. The node is NOT deleted and must be deleted manually. + [b]Note:[/b] This function may set the [member owner] of the removed Node (or its descendants) to be [code]null[/code], if that [member owner] is no longer a parent or ancestor. </description> </method> <method name="remove_from_group"> @@ -587,8 +588,9 @@ <return type="int" /> <argument index="0" name="method" type="StringName" /> <argument index="1" name="rpc_mode" type="int" enum="RPCMode" /> - <argument index="2" name="transfer_mode" type="int" enum="TransferMode" default="2" /> - <argument index="3" name="channel" type="int" default="0" /> + <argument index="2" name="call_local" type="bool" default="false" /> + <argument index="3" name="transfer_mode" type="int" enum="TransferMode" default="2" /> + <argument index="4" name="channel" type="int" default="0" /> <description> Changes the RPC mode for the given [code]method[/code] to the given [code]rpc_mode[/code], optionally specifying the [code]transfer_mode[/code] and [code]channel[/code] (on supported peers). See [enum RPCMode] and [enum TransferMode]. An alternative is annotating methods and properties with the corresponding annotation ([code]@rpc(any)[/code], [code]@rpc(auth)[/code]). By default, methods are not exposed to networking (and RPCs). </description> diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml index b3872121bf..eec06d6f82 100644 --- a/doc/classes/ProjectSettings.xml +++ b/doc/classes/ProjectSettings.xml @@ -221,6 +221,11 @@ The project's name. It is used both by the Project Manager and by exporters. The project name can be translated by translating its value in localization files. The window title will be set to match the project name automatically on startup. [b]Note:[/b] Changing this value will also change the user data folder's path if [member application/config/use_custom_user_dir] is [code]false[/code]. After renaming the project, you will no longer be able to access existing data in [code]user://[/code] unless you rename the old folder to match the new project name. See [url=https://docs.godotengine.org/en/latest/tutorials/io/data_paths.html]Data paths[/url] in the documentation for more information. </member> + <member name="application/config/project_data_dir_name" type="String" setter="" getter="" default="".godot""> + The project data directory is used for storing project-specific data (metadata, shader cache, etc.). + [b]Note:[/b] Restart the application after changing this setting. + [b]Note:[/b] Changing this value can help on platforms or with third-party tools where specific directory patterns are disallowed. Only modify this setting if you know that your environment requires it, as changing the default can impact compatibility with some external tools or plugins which expect the default [code].godot[/code] folder. + </member> <member name="application/config/project_settings_override" type="String" setter="" getter="" default=""""> Specifies a file to override project settings. For example: [code]user://custom_settings.cfg[/code]. See "Overriding" in the [ProjectSettings] class description at the top for more information. [b]Note:[/b] Regardless of this setting's value, [code]res://override.cfg[/code] will still be read to override the project settings. @@ -1479,11 +1484,12 @@ </member> <member name="rendering/2d/snap/snap_2d_vertices_to_pixel" type="bool" setter="" getter="" default="false"> </member> - <member name="rendering/3d/viewport/scale" type="int" setter="" getter="" default="0"> - Scale the 3D render buffer based on the viewport size. The smaller the faster 3D rendering is performed but at the cost of quality. + <member name="rendering/3d/viewport/scale" type="float" setter="" getter="" default="1.0"> + Scales the 3D render buffer based on the viewport size and displays the result with linear filtering. Values lower than [code]1.0[/code] can be used to speed up 3D rendering at the cost of quality (undersampling). Values greater than [code]1.0[/code] can be used to improve 3D rendering quality at a high performance cost (supersampling). See also [member rendering/anti_aliasing/quality/msaa] for multi-sample antialiasing, which is significantly cheaper but only smoothens the edges of polygons. + [b]Note:[/b] This property is only read when the project starts. To change the 3D rendering resolution scale at runtime, set [member Viewport.scale_3d] instead. </member> <member name="rendering/anti_aliasing/quality/msaa" type="int" setter="" getter="" default="0"> - Sets the number of MSAA samples to use (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. + Sets the number of MSAA samples to use (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. See also [member rendering/3d/viewport/scale] for supersampling, which provides higher quality but is much more expensive. </member> <member name="rendering/anti_aliasing/quality/screen_space_aa" type="int" setter="" getter="" default="0"> Sets the screen-space antialiasing mode for the default screen [Viewport]. Screen-space antialiasing works by selectively blurring edges in a post-process shader. It differs from MSAA which takes multiple coverage samples while rendering objects. Screen-space AA methods are typically faster than MSAA and will smooth out specular aliasing, but tend to make scenes appear blurry. @@ -1744,23 +1750,23 @@ </member> <member name="rendering/textures/vram_compression/import_bptc" type="bool" setter="" getter="" default="false"> If [code]true[/code], the texture importer will import VRAM-compressed textures using the BPTC algorithm. This texture compression algorithm is only supported on desktop platforms, and only when using the Vulkan renderer. - [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor. + [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor (see [member application/config/project_data_dir_name]). </member> <member name="rendering/textures/vram_compression/import_etc" type="bool" setter="" getter="" default="false"> If [code]true[/code], the texture importer will import VRAM-compressed textures using the Ericsson Texture Compression algorithm. This algorithm doesn't support alpha channels in textures. - [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor. + [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor (see [member application/config/project_data_dir_name]). </member> <member name="rendering/textures/vram_compression/import_etc2" type="bool" setter="" getter="" default="true"> If [code]true[/code], the texture importer will import VRAM-compressed textures using the Ericsson Texture Compression 2 algorithm. This texture compression algorithm is only supported when using the Vulkan renderer. - [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor. + [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor (see [member application/config/project_data_dir_name]). </member> <member name="rendering/textures/vram_compression/import_pvrtc" type="bool" setter="" getter="" default="false"> If [code]true[/code], the texture importer will import VRAM-compressed textures using the PowerVR Texture Compression algorithm. This texture compression algorithm is only supported on iOS. - [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor. + [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor (see [member application/config/project_data_dir_name]). </member> <member name="rendering/textures/vram_compression/import_s3tc" type="bool" setter="" getter="" default="true"> If [code]true[/code], the texture importer will import VRAM-compressed textures using the S3 Texture Compression algorithm. This algorithm is only supported on desktop platforms and consoles. - [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor. + [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor (see [member application/config/project_data_dir_name]). </member> <member name="rendering/vulkan/descriptor_pools/max_descriptors_per_pool" type="int" setter="" getter="" default="64"> </member> diff --git a/doc/classes/RefCounted.xml b/doc/classes/RefCounted.xml index d965d2ea10..de314fbcb7 100644 --- a/doc/classes/RefCounted.xml +++ b/doc/classes/RefCounted.xml @@ -5,9 +5,9 @@ </brief_description> <description> Base class for any object that keeps a reference count. [Resource] and many other helper objects inherit this class. - Unlike other [Object] types, References keep an internal reference counter so that they are automatically released when no longer in use, and only then. References therefore do not need to be freed manually with [method Object.free]. + Unlike other [Object] types, [RefCounted]s keep an internal reference counter so that they are automatically released when no longer in use, and only then. [RefCounted]s therefore do not need to be freed manually with [method Object.free]. In the vast majority of use cases, instantiating and using [RefCounted]-derived types is all you need to do. The methods provided in this class are only for advanced users, and can cause issues if misused. - [b]Note:[/b] In C#, references will not be freed instantly after they are no longer in use. Instead, garbage collection will run periodically and will free references that are no longer in use. This means that unused references will linger on for a while before being removed. + [b]Note:[/b] In C#, reference-counted objects will not be freed instantly after they are no longer in use. Instead, garbage collection will run periodically and will free reference-counted objects that are no longer in use. This means that unused ones will linger on for a while before being removed. </description> <tutorials> <link title="When and how to avoid using nodes for everything">https://docs.godotengine.org/en/latest/tutorials/best_practices/node_alternatives.html</link> diff --git a/doc/classes/RenderingDevice.xml b/doc/classes/RenderingDevice.xml index 428fa2575c..442dcc7d18 100644 --- a/doc/classes/RenderingDevice.xml +++ b/doc/classes/RenderingDevice.xml @@ -374,7 +374,7 @@ </method> <method name="get_memory_usage" qualifiers="const"> <return type="int" /> - <argument index="0" name="arg0" type="int" enum="RenderingDevice.MemoryType" /> + <argument index="0" name="type" type="int" enum="RenderingDevice.MemoryType" /> <description> </description> </method> diff --git a/doc/classes/RenderingServer.xml b/doc/classes/RenderingServer.xml index 65b7e53ecd..6f19114c16 100644 --- a/doc/classes/RenderingServer.xml +++ b/doc/classes/RenderingServer.xml @@ -3102,7 +3102,7 @@ <method name="viewport_set_scale_3d"> <return type="void" /> <argument index="0" name="viewport" type="RID" /> - <argument index="1" name="scale" type="int" enum="RenderingServer.ViewportScale3D" /> + <argument index="1" name="scale" type="float" /> <description> Sets the scale at which we render 3D contents. </description> @@ -3918,16 +3918,6 @@ </constant> <constant name="VIEWPORT_DEBUG_DRAW_OCCLUDERS" value="23" enum="ViewportDebugDraw"> </constant> - <constant name="VIEWPORT_SCALE_3D_DISABLED" value="0" enum="ViewportScale3D"> - </constant> - <constant name="VIEWPORT_SCALE_3D_75_PERCENT" value="1" enum="ViewportScale3D"> - </constant> - <constant name="VIEWPORT_SCALE_3D_50_PERCENT" value="2" enum="ViewportScale3D"> - </constant> - <constant name="VIEWPORT_SCALE_3D_33_PERCENT" value="3" enum="ViewportScale3D"> - </constant> - <constant name="VIEWPORT_SCALE_3D_25_PERCENT" value="4" enum="ViewportScale3D"> - </constant> <constant name="SKY_MODE_AUTOMATIC" value="0" enum="SkyMode"> </constant> <constant name="SKY_MODE_QUALITY" value="1" enum="SkyMode"> diff --git a/doc/classes/RigidDynamicBody2D.xml b/doc/classes/RigidDynamicBody2D.xml index 9baed392eb..f503884192 100644 --- a/doc/classes/RigidDynamicBody2D.xml +++ b/doc/classes/RigidDynamicBody2D.xml @@ -174,27 +174,27 @@ <signal name="body_shape_entered"> <argument index="0" name="body_rid" type="RID" /> <argument index="1" name="body" type="Node" /> - <argument index="2" name="body_shape" type="int" /> - <argument index="3" name="local_shape" type="int" /> + <argument index="2" name="body_shape_index" type="int" /> + <argument index="3" name="local_shape_index" type="int" /> <description> Emitted when one of this RigidDynamicBody2D's [Shape2D]s collides with another [PhysicsBody2D] or [TileMap]'s [Shape2D]s. Requires [member contact_monitor] to be set to [code]true[/code] and [member contacts_reported] to be set high enough to detect all the collisions. [TileMap]s are detected if the [TileSet] has Collision [Shape2D]s. - [code]body_id[/code] the [RID] of the other [PhysicsBody2D] or [TileSet]'s [CollisionObject2D] used by the [PhysicsServer2D]. + [code]body_rid[/code] the [RID] of the other [PhysicsBody2D] or [TileSet]'s [CollisionObject2D] used by the [PhysicsServer2D]. [code]body[/code] the [Node], if it exists in the tree, of the other [PhysicsBody2D] or [TileMap]. - [code]body_shape[/code] the index of the [Shape2D] of the other [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D]. - [code]local_shape[/code] the index of the [Shape2D] of this RigidDynamicBody2D used by the [PhysicsServer2D]. + [code]body_shape_index[/code] the index of the [Shape2D] of the other [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code]. + [code]local_shape_index[/code] the index of the [Shape2D] of this RigidDynamicBody2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code]. </description> </signal> <signal name="body_shape_exited"> <argument index="0" name="body_rid" type="RID" /> <argument index="1" name="body" type="Node" /> - <argument index="2" name="body_shape" type="int" /> - <argument index="3" name="local_shape" type="int" /> + <argument index="2" name="body_shape_index" type="int" /> + <argument index="3" name="local_shape_index" type="int" /> <description> Emitted when the collision between one of this RigidDynamicBody2D's [Shape2D]s and another [PhysicsBody2D] or [TileMap]'s [Shape2D]s ends. Requires [member contact_monitor] to be set to [code]true[/code] and [member contacts_reported] to be set high enough to detect all the collisions. [TileMap]s are detected if the [TileSet] has Collision [Shape2D]s. - [code]body_id[/code] the [RID] of the other [PhysicsBody2D] or [TileSet]'s [CollisionObject2D] used by the [PhysicsServer2D]. + [code]body_rid[/code] the [RID] of the other [PhysicsBody2D] or [TileSet]'s [CollisionObject2D] used by the [PhysicsServer2D]. [code]body[/code] the [Node], if it exists in the tree, of the other [PhysicsBody2D] or [TileMap]. - [code]body_shape[/code] the index of the [Shape2D] of the other [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D]. - [code]local_shape[/code] the index of the [Shape2D] of this RigidDynamicBody2D used by the [PhysicsServer2D]. + [code]body_shape_index[/code] the index of the [Shape2D] of the other [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code]. + [code]local_shape_index[/code] the index of the [Shape2D] of this RigidDynamicBody2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code]. </description> </signal> <signal name="sleeping_state_changed"> diff --git a/doc/classes/RigidDynamicBody3D.xml b/doc/classes/RigidDynamicBody3D.xml index 7d1c7fecfa..6c8d190704 100644 --- a/doc/classes/RigidDynamicBody3D.xml +++ b/doc/classes/RigidDynamicBody3D.xml @@ -177,28 +177,28 @@ <signal name="body_shape_entered"> <argument index="0" name="body_rid" type="RID" /> <argument index="1" name="body" type="Node" /> - <argument index="2" name="body_shape" type="int" /> - <argument index="3" name="local_shape" type="int" /> + <argument index="2" name="body_shape_index" type="int" /> + <argument index="3" name="local_shape_index" type="int" /> <description> Emitted when one of this RigidDynamicBody3D's [Shape3D]s collides with another [PhysicsBody3D] or [GridMap]'s [Shape3D]s. Requires [member contact_monitor] to be set to [code]true[/code] and [member contacts_reported] to be set high enough to detect all the collisions. [GridMap]s are detected if the [MeshLibrary] has Collision [Shape3D]s. - [code]body_id[/code] the [RID] of the other [PhysicsBody3D] or [MeshLibrary]'s [CollisionObject3D] used by the [PhysicsServer3D]. + [code]body_rid[/code] the [RID] of the other [PhysicsBody3D] or [MeshLibrary]'s [CollisionObject3D] used by the [PhysicsServer3D]. [code]body[/code] the [Node], if it exists in the tree, of the other [PhysicsBody3D] or [GridMap]. - [code]body_shape[/code] the index of the [Shape3D] of the other [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. - [code]local_shape[/code] the index of the [Shape3D] of this RigidDynamicBody3D used by the [PhysicsServer3D]. + [code]body_shape_index[/code] the index of the [Shape3D] of the other [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code]. + [code]local_shape_index[/code] the index of the [Shape3D] of this RigidDynamicBody3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code]. [b]Note:[/b] Bullet physics cannot identify the shape index when using a [ConcavePolygonShape3D]. Don't use multiple [CollisionShape3D]s when using a [ConcavePolygonShape3D] with Bullet physics if you need shape indices. </description> </signal> <signal name="body_shape_exited"> <argument index="0" name="body_rid" type="RID" /> <argument index="1" name="body" type="Node" /> - <argument index="2" name="body_shape" type="int" /> - <argument index="3" name="local_shape" type="int" /> + <argument index="2" name="body_shape_index" type="int" /> + <argument index="3" name="local_shape_index" type="int" /> <description> Emitted when the collision between one of this RigidDynamicBody3D's [Shape3D]s and another [PhysicsBody3D] or [GridMap]'s [Shape3D]s ends. Requires [member contact_monitor] to be set to [code]true[/code] and [member contacts_reported] to be set high enough to detect all the collisions. [GridMap]s are detected if the [MeshLibrary] has Collision [Shape3D]s. - [code]body_id[/code] the [RID] of the other [PhysicsBody3D] or [MeshLibrary]'s [CollisionObject3D] used by the [PhysicsServer3D]. [GridMap]s are detected if the Meshes have [Shape3D]s. + [code]body_rid[/code] the [RID] of the other [PhysicsBody3D] or [MeshLibrary]'s [CollisionObject3D] used by the [PhysicsServer3D]. [GridMap]s are detected if the Meshes have [Shape3D]s. [code]body[/code] the [Node], if it exists in the tree, of the other [PhysicsBody3D] or [GridMap]. - [code]body_shape[/code] the index of the [Shape3D] of the other [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. - [code]local_shape[/code] the index of the [Shape3D] of this RigidDynamicBody3D used by the [PhysicsServer3D]. + [code]body_shape_index[/code] the index of the [Shape3D] of the other [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code]. + [code]local_shape_index[/code] the index of the [Shape3D] of this RigidDynamicBody3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code]. [b]Note:[/b] Bullet physics cannot identify the shape index when using a [ConcavePolygonShape3D]. Don't use multiple [CollisionShape3D]s when using a [ConcavePolygonShape3D] with Bullet physics if you need shape indices. </description> </signal> diff --git a/doc/classes/ScriptEditorBase.xml b/doc/classes/ScriptEditorBase.xml index 1e72fe9090..88adeaf12f 100644 --- a/doc/classes/ScriptEditorBase.xml +++ b/doc/classes/ScriptEditorBase.xml @@ -9,6 +9,13 @@ <tutorials> </tutorials> <methods> + <method name="add_syntax_highlighter"> + <return type="void" /> + <argument index="0" name="highlighter" type="EditorSyntaxHighlighter" /> + <description> + Adds a [EditorSyntaxHighlighter] to the open script. + </description> + </method> <method name="get_base_editor" qualifiers="const"> <return type="Control" /> <description> diff --git a/doc/classes/Skeleton3D.xml b/doc/classes/Skeleton3D.xml index 6ab5ed55a3..e804e7bf24 100644 --- a/doc/classes/Skeleton3D.xml +++ b/doc/classes/Skeleton3D.xml @@ -47,6 +47,11 @@ Removes the local pose override on all bones in the skeleton. </description> </method> + <method name="create_skin_from_rest_transforms"> + <return type="Skin" /> + <description> + </description> + </method> <method name="execute_modifications"> <return type="void" /> <argument index="0" name="delta" type="float" /> @@ -88,13 +93,6 @@ Returns the amount of bones in the skeleton. </description> </method> - <method name="get_bone_custom_pose" qualifiers="const"> - <return type="Transform3D" /> - <argument index="0" name="bone_idx" type="int" /> - <description> - Returns the custom pose of the specified bone. Custom pose is applied on top of the rest pose. - </description> - </method> <method name="get_bone_global_pose" qualifiers="const"> <return type="Transform3D" /> <argument index="0" name="bone_idx" type="int" /> @@ -144,6 +142,24 @@ Returns the pose transform of the specified bone. Pose is applied on top of the custom pose, which is applied on top the rest pose. </description> </method> + <method name="get_bone_pose_position" qualifiers="const"> + <return type="Vector3" /> + <argument index="0" name="bone_idx" type="int" /> + <description> + </description> + </method> + <method name="get_bone_pose_rotation" qualifiers="const"> + <return type="Quaternion" /> + <argument index="0" name="bone_idx" type="int" /> + <description> + </description> + </method> + <method name="get_bone_pose_scale" qualifiers="const"> + <return type="Vector3" /> + <argument index="0" name="bone_idx" type="int" /> + <description> + </description> + </method> <method name="get_bone_rest" qualifiers="const"> <return type="Transform3D" /> <argument index="0" name="bone_idx" type="int" /> @@ -196,13 +212,6 @@ Returns whether the bone pose for the bone at [code]bone_idx[/code] is enabled. </description> </method> - <method name="is_bone_rest_disabled" qualifiers="const"> - <return type="bool" /> - <argument index="0" name="bone_idx" type="int" /> - <description> - Returns whether the bone rest for the bone at [code]bone_idx[/code] is disabled. - </description> - </method> <method name="local_pose_to_global_pose"> <return type="Transform3D" /> <argument index="0" name="bone_idx" type="int" /> @@ -272,23 +281,6 @@ Sets the children for the passed in bone, [code]bone_idx[/code], to the passed-in array of bone indexes, [code]bone_children[/code]. </description> </method> - <method name="set_bone_custom_pose"> - <return type="void" /> - <argument index="0" name="bone_idx" type="int" /> - <argument index="1" name="custom_pose" type="Transform3D" /> - <description> - Sets the custom pose transform, [code]custom_pose[/code], for the bone at [code]bone_idx[/code]. This pose is an addition to the bone rest pose. - [b]Note:[/b] The pose transform needs to be in bone space. Use [method world_transform_to_global_pose] to convert a world transform, like one you can get from a [Node3D], to bone space. - </description> - </method> - <method name="set_bone_disable_rest"> - <return type="void" /> - <argument index="0" name="bone_idx" type="int" /> - <argument index="1" name="disable" type="bool" /> - <description> - Disables the rest pose for the bone at [code]bone_idx[/code] if [code]true[/code], enables the bone rest if [code]false[/code]. - </description> - </method> <method name="set_bone_enabled"> <return type="void" /> <argument index="0" name="bone_idx" type="int" /> @@ -337,13 +329,25 @@ [b]Note:[/b] [code]parent_idx[/code] must be less than [code]bone_idx[/code]. </description> </method> - <method name="set_bone_pose"> + <method name="set_bone_pose_position"> <return type="void" /> <argument index="0" name="bone_idx" type="int" /> - <argument index="1" name="pose" type="Transform3D" /> + <argument index="1" name="position" type="Vector3" /> + <description> + </description> + </method> + <method name="set_bone_pose_rotation"> + <return type="void" /> + <argument index="0" name="bone_idx" type="int" /> + <argument index="1" name="rotation" type="Quaternion" /> + <description> + </description> + </method> + <method name="set_bone_pose_scale"> + <return type="void" /> + <argument index="0" name="bone_idx" type="int" /> + <argument index="1" name="scale" type="Vector3" /> <description> - Sets the pose transform for bone [code]bone_idx[/code]. - [b]Note:[/b] The pose transform needs to be in bone space. Use [method world_transform_to_global_pose] to convert a world transform, like one you can get from a [Node3D], to bone space. </description> </method> <method name="set_bone_rest"> diff --git a/doc/classes/TextEdit.xml b/doc/classes/TextEdit.xml index 0e39381991..3667dbf578 100644 --- a/doc/classes/TextEdit.xml +++ b/doc/classes/TextEdit.xml @@ -936,7 +936,7 @@ <member name="language" type="String" setter="set_language" getter="get_language" default=""""> Language code used for line-breaking and text shaping algorithms, if left empty current locale is used instead. </member> - <member name="minimap_draw" type="bool" setter="draw_minimap" getter="is_drawing_minimap" default="false"> + <member name="minimap_draw" type="bool" setter="set_draw_minimap" getter="is_drawing_minimap" default="false"> If [code]true[/code], a minimap is shown, providing an outline of your source code. </member> <member name="minimap_width" type="int" setter="set_minimap_width" getter="get_minimap_width" default="80"> diff --git a/doc/classes/TileMap.xml b/doc/classes/TileMap.xml index 532c9a7128..d7108c3a2a 100644 --- a/doc/classes/TileMap.xml +++ b/doc/classes/TileMap.xml @@ -76,6 +76,13 @@ Returns the coodinates of the tile for given physics body RID. Such RID can be retrieved from [method KinematicCollision2D.get_collider_rid], when colliding with a tile. </description> </method> + <method name="get_layer_modulate" qualifiers="const"> + <return type="Color" /> + <argument index="0" name="layer" type="int" /> + <description> + Returns a TileMap layer's modulate. + </description> + </method> <method name="get_layer_name" qualifiers="const"> <return type="String" /> <argument index="0" name="layer" type="int" /> @@ -188,6 +195,14 @@ Enables or disables the layer [code]layer[/code]. A disabled layer is not processed at all (no rendering, no physics, etc...). </description> </method> + <method name="set_layer_modulate"> + <return type="void" /> + <argument index="0" name="layer" type="int" /> + <argument index="1" name="enabled" type="Color" /> + <description> + Sets a layer's color. It will be multiplied by tile's color and TileMap's modulate. + </description> + </method> <method name="set_layer_name"> <return type="void" /> <argument index="0" name="layer" type="int" /> diff --git a/doc/classes/TileSetAtlasSource.xml b/doc/classes/TileSetAtlasSource.xml index d12ac840f4..881a1c3d07 100644 --- a/doc/classes/TileSetAtlasSource.xml +++ b/doc/classes/TileSetAtlasSource.xml @@ -15,12 +15,6 @@ <tutorials> </tutorials> <methods> - <method name="clear_tiles_outside_texture"> - <return type="void" /> - <description> - Clears all tiles that are defined outside the texture boundaries. - </description> - </method> <method name="create_alternative_tile"> <return type="int" /> <argument index="0" name="atlas_coords" type="Vector2i" /> @@ -124,6 +118,16 @@ Returns a tile's texture region in the atlas texture. For animated tiles, a [code]frame[/code] argument might be provided for the different frames of the animation. </description> </method> + <method name="get_tiles_to_be_removed_on_change"> + <return type="PackedVector2Array" /> + <argument index="0" name="texture" type="Texture2D" /> + <argument index="1" name="margins" type="Vector2i" /> + <argument index="2" name="separation" type="Vector2i" /> + <argument index="3" name="texture_region_size" type="Vector2i" /> + <description> + Returns an array of tiles coordinates ID that will be automatically removed when modifying one or several of those properties: [code]texture[/code], [code]margins[/code], [code]separation[/code] or [code]texture_region_size[/code]. This can be used to undo changes that would have caused tiles data loss. + </description> + </method> <method name="has_room_for_tile" qualifiers="const"> <return type="bool" /> <argument index="0" name="atlas_coords" type="Vector2i" /> @@ -136,12 +140,6 @@ Returns whether there is enough room in an atlas to create/modify a tile with the given properties. If [code]ignored_tile[/code] is provided, act as is the given tile was not present in the atlas. This may be used when you want to modify a tile's properties. </description> </method> - <method name="has_tiles_outside_texture"> - <return type="bool" /> - <description> - Returns if this atlas has tiles outside of its texture. - </description> - </method> <method name="move_tile_in_atlas"> <return type="void" /> <argument index="0" name="atlas_coords" type="Vector2i" /> diff --git a/doc/classes/Timer.xml b/doc/classes/Timer.xml index a6ea5738d5..f360099f2b 100644 --- a/doc/classes/Timer.xml +++ b/doc/classes/Timer.xml @@ -51,7 +51,8 @@ [b]Note:[/b] You cannot set this value. To change the timer's remaining time, use [method start]. </member> <member name="wait_time" type="float" setter="set_wait_time" getter="get_wait_time" default="1.0"> - Wait time in seconds. + The wait time in seconds. + [b]Note:[/b] Timers can only emit once per rendered frame at most (or once per physics frame if [member process_callback] is [constant TIMER_PROCESS_PHYSICS]). This means very low wait times (lower than 0.05 seconds) will behave in significantly different ways depending on the rendered framerate. For very low wait times, it is recommended to use a process loop in a script instead of using a Timer node. </member> </members> <signals> diff --git a/doc/classes/UndoRedo.xml b/doc/classes/UndoRedo.xml index def6fe5d1f..044460f569 100644 --- a/doc/classes/UndoRedo.xml +++ b/doc/classes/UndoRedo.xml @@ -134,6 +134,12 @@ The way actions are merged is dictated by the [code]merge_mode[/code] argument. See [enum MergeMode] for details. </description> </method> + <method name="end_force_keep_in_merge_ends"> + <return type="void" /> + <description> + Stops marking operations as to be processed even if the action gets merged with another in the [constant MERGE_ENDS] mode. See [method start_force_keep_in_merge_ends]. + </description> + </method> <method name="get_action_name"> <return type="String" /> <argument index="0" name="id" type="int" /> @@ -190,6 +196,12 @@ Redo the last action. </description> </method> + <method name="start_force_keep_in_merge_ends"> + <return type="void" /> + <description> + Marks the next "do" and "undo" operations to be processed even if the action gets merged with another in the [constant MERGE_ENDS] mode. Return to normal operation using [method end_force_keep_in_merge_ends]. + </description> + </method> <method name="undo"> <return type="bool" /> <description> @@ -209,7 +221,7 @@ Makes "do"/"undo" operations stay in separate actions. </constant> <constant name="MERGE_ENDS" value="1" enum="MergeMode"> - Makes so that the action's "do" operation is from the first action created and the "undo" operation is from the last subsequent action with the same name. + Makes so that the action's "undo" operations are from the first action created and the "do" operations are from the last subsequent action with the same name. </constant> <constant name="MERGE_ALL" value="2" enum="MergeMode"> Makes subsequent actions with the same name be merged into one. diff --git a/doc/classes/VideoPlayer.xml b/doc/classes/VideoPlayer.xml index 4f60b9d567..c8590988f5 100644 --- a/doc/classes/VideoPlayer.xml +++ b/doc/classes/VideoPlayer.xml @@ -5,9 +5,9 @@ </brief_description> <description> Control node for playing video streams using [VideoStream] resources. - Supported video formats are [url=https://www.webmproject.org/]WebM[/url] ([code].webm[/code], [VideoStreamWebm]), [url=https://www.theora.org/]Ogg Theora[/url] ([code].ogv[/code], [VideoStreamTheora]), and any format exposed via a GDNative plugin using [VideoStreamGDNative]. + Supported video formats are [url=https://www.theora.org/]Ogg Theora[/url] ([code].ogv[/code], [VideoStreamTheora]) and any format exposed via a GDNative plugin using [VideoStreamGDNative]. [b]Note:[/b] Due to a bug, VideoPlayer does not support localization remapping yet. - [b]Warning:[/b] On HTML5, video playback [i]will[/i] perform poorly due to missing architecture-specific assembly optimizations, especially for VP8/VP9. + [b]Warning:[/b] On HTML5, video playback [i]will[/i] perform poorly due to missing architecture-specific assembly optimizations. </description> <tutorials> </tutorials> diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml index cdb9e7632b..e79cf0d233 100644 --- a/doc/classes/Viewport.xml +++ b/doc/classes/Viewport.xml @@ -204,7 +204,7 @@ <member name="lod_threshold" type="float" setter="set_lod_threshold" getter="get_lod_threshold" default="1.0"> </member> <member name="msaa" type="int" setter="set_msaa" getter="get_msaa" enum="Viewport.MSAA" default="0"> - The multisample anti-aliasing mode. A higher number results in smoother edges at the cost of significantly worse performance. A value of 4 is best unless targeting very high-end systems. + The multisample anti-aliasing mode. A higher number results in smoother edges at the cost of significantly worse performance. A value of 2 or 4 is best unless targeting very high-end systems. See also [member scale_3d] for supersampling, which provides higher quality but is much more expensive. </member> <member name="own_world_3d" type="bool" setter="set_use_own_world_3d" getter="is_using_own_world_3d" default="false"> If [code]true[/code], the viewport will use the [World3D] defined in [member world_3d]. @@ -212,8 +212,9 @@ <member name="physics_object_picking" type="bool" setter="set_physics_object_picking" getter="get_physics_object_picking" default="false"> If [code]true[/code], the objects rendered by viewport become subjects of mouse picking process. </member> - <member name="scale_3d" type="int" setter="set_scale_3d" getter="get_scale_3d" enum="Viewport.Scale3D" default="0"> - The scale at which 3D content is rendered. + <member name="scale_3d" type="float" setter="set_scale_3d" getter="get_scale_3d" default="1.0"> + Scales the 3D render buffer based on the viewport size and displays the result with linear filtering. Values lower than [code]1.0[/code] can be used to speed up 3D rendering at the cost of quality (undersampling). Values greater than [code]1.0[/code] can be used to improve 3D rendering quality at a high performance cost (supersampling). See also [member msaa] for multi-sample antialiasing, which is significantly cheaper but only smoothens the edges of polygons. + To control this property on the root viewport, set the [member ProjectSettings.rendering/3d/viewport/scale] project setting. </member> <member name="screen_space_aa" type="int" setter="set_screen_space_aa" getter="get_screen_space_aa" enum="Viewport.ScreenSpaceAA" default="0"> Sets the screen-space antialiasing method used. Screen-space antialiasing works by selectively blurring edges in a post-process shader. It differs from MSAA which takes multiple coverage samples while rendering objects. Screen-space AA methods are typically faster than MSAA and will smooth out specular aliasing, but tend to make scenes appear blurry. @@ -275,16 +276,6 @@ </signal> </signals> <constants> - <constant name="SCALE_3D_DISABLED" value="0" enum="Scale3D"> - </constant> - <constant name="SCALE_3D_75_PERCENT" value="1" enum="Scale3D"> - </constant> - <constant name="SCALE_3D_50_PERCENT" value="2" enum="Scale3D"> - </constant> - <constant name="SCALE_3D_33_PERCENT" value="3" enum="Scale3D"> - </constant> - <constant name="SCALE_3D_25_PERCENT" value="4" enum="Scale3D"> - </constant> <constant name="SHADOW_ATLAS_QUADRANT_SUBDIV_DISABLED" value="0" enum="ShadowAtlasQuadrantSubdiv"> This quadrant will not be used. </constant> |