summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/classes/@GlobalScope.xml4
-rw-r--r--doc/classes/AABB.xml2
-rw-r--r--doc/classes/AtlasTexture.xml2
-rw-r--r--doc/classes/CanvasItem.xml1
-rw-r--r--doc/classes/DisplayServer.xml1
-rw-r--r--doc/classes/EditorSettings.xml10
-rw-r--r--doc/classes/LightmapGI.xml6
-rw-r--r--doc/classes/Node.xml2
-rw-r--r--doc/classes/Parallax2D.xml1
-rw-r--r--doc/classes/PhysicsPointQueryParameters2D.xml1
-rw-r--r--doc/classes/PhysicsPointQueryParameters3D.xml1
-rw-r--r--doc/classes/PhysicsRayQueryParameters2D.xml1
-rw-r--r--doc/classes/PhysicsRayQueryParameters3D.xml1
-rw-r--r--doc/classes/PhysicsShapeQueryParameters2D.xml1
-rw-r--r--doc/classes/PhysicsShapeQueryParameters3D.xml1
-rw-r--r--doc/classes/ProjectSettings.xml6
-rw-r--r--doc/classes/RenderDataExtension.xml7
-rw-r--r--doc/classes/RenderingDevice.xml8
-rw-r--r--doc/classes/Resource.xml7
-rw-r--r--doc/classes/RichTextLabel.xml4
-rw-r--r--doc/classes/Skeleton3D.xml17
-rw-r--r--doc/classes/TileSetScenesCollectionSource.xml26
-rw-r--r--doc/classes/Transform2D.xml133
-rw-r--r--doc/classes/XRInterface.xml4
-rw-r--r--doc/classes/XRNode3D.xml4
25 files changed, 175 insertions, 76 deletions
diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml
index bcab80ea94..2cd3a51722 100644
--- a/doc/classes/@GlobalScope.xml
+++ b/doc/classes/@GlobalScope.xml
@@ -2939,10 +2939,10 @@
The property is not stored, and does not display in the editor. This is the default for non-exported properties.
</constant>
<constant name="PROPERTY_USAGE_STORAGE" value="2" enum="PropertyUsageFlags" is_bitfield="true">
- The property is serialized and saved in the scene file (default).
+ The property is serialized and saved in the scene file (default for exported properties).
</constant>
<constant name="PROPERTY_USAGE_EDITOR" value="4" enum="PropertyUsageFlags" is_bitfield="true">
- The property is shown in the [EditorInspector] (default).
+ The property is shown in the [EditorInspector] (default for exported properties).
</constant>
<constant name="PROPERTY_USAGE_INTERNAL" value="8" enum="PropertyUsageFlags" is_bitfield="true">
The property is excluded from the class reference.
diff --git a/doc/classes/AABB.xml b/doc/classes/AABB.xml
index 427d38d421..77c74e17da 100644
--- a/doc/classes/AABB.xml
+++ b/doc/classes/AABB.xml
@@ -170,7 +170,7 @@
<method name="get_shortest_axis" qualifiers="const">
<return type="Vector3" />
<description>
- Returns the shortest normaalized axis of this bounding box's [member size], as a [Vector3] ([constant Vector3.RIGHT], [constant Vector3.UP], or [constant Vector3.BACK]).
+ Returns the shortest normalized axis of this bounding box's [member size], as a [Vector3] ([constant Vector3.RIGHT], [constant Vector3.UP], or [constant Vector3.BACK]).
[codeblocks]
[gdscript]
var box = AABB(Vector3(0, 0, 0), Vector3(2, 4, 8))
diff --git a/doc/classes/AtlasTexture.xml b/doc/classes/AtlasTexture.xml
index cea8e13f4c..45877f4003 100644
--- a/doc/classes/AtlasTexture.xml
+++ b/doc/classes/AtlasTexture.xml
@@ -21,7 +21,7 @@
The margin around the [member region]. Useful for small adjustments. If the [member Rect2.size] of this property ("w" and "h" in the editor) is set, the drawn texture is resized to fit within the margin.
</member>
<member name="region" type="Rect2" setter="set_region" getter="get_region" default="Rect2(0, 0, 0, 0)">
- The region used to draw the [member atlas].
+ The region used to draw the [member atlas]. If either dimension of the region's size is [code]0[/code], the value from [member atlas] size will be used for that axis instead.
</member>
<member name="resource_local_to_scene" type="bool" setter="set_local_to_scene" getter="is_local_to_scene" overrides="Resource" default="false" />
</members>
diff --git a/doc/classes/CanvasItem.xml b/doc/classes/CanvasItem.xml
index 8bee6c3470..186ee1b9c4 100644
--- a/doc/classes/CanvasItem.xml
+++ b/doc/classes/CanvasItem.xml
@@ -525,6 +525,7 @@
<return type="bool" />
<description>
Returns [code]true[/code] if the node is present in the [SceneTree], its [member visible] property is [code]true[/code] and all its ancestors are also visible. If any ancestor is hidden, this node will not be visible in the scene tree, and is therefore not drawn (see [method _draw]).
+ Visibility is checked only in parent nodes that inherit from [CanvasItem], [CanvasLayer], and [Window]. If the parent is of any other type (such as [Node], [AnimationPlayer], or [Node3D]), it is assumed to be visible.
</description>
</method>
<method name="make_canvas_position_local" qualifiers="const">
diff --git a/doc/classes/DisplayServer.xml b/doc/classes/DisplayServer.xml
index 1a611bdbe7..0bed5288bd 100644
--- a/doc/classes/DisplayServer.xml
+++ b/doc/classes/DisplayServer.xml
@@ -20,6 +20,7 @@
<return type="Image" />
<description>
Returns the user's clipboard as an image if possible.
+ [b]Note:[/b] This method uses the copied pixel data, e.g. from a image editing software or a web browser, not an image file copied from file explorer.
</description>
</method>
<method name="clipboard_get_primary" qualifiers="const">
diff --git a/doc/classes/EditorSettings.xml b/doc/classes/EditorSettings.xml
index c7ff543b66..e4dab85038 100644
--- a/doc/classes/EditorSettings.xml
+++ b/doc/classes/EditorSettings.xml
@@ -596,6 +596,16 @@
The path to the directory containing the Open Image Denoise (OIDN) executable, used optionally for denoising lightmaps. It can be downloaded from [url=https://www.openimagedenoise.org/downloads.html]openimagedenoise.org[/url].
To enable this feature for your specific project, use [member ProjectSettings.rendering/lightmapping/denoising/denoiser].
</member>
+ <member name="input/buffering/agile_event_flushing" type="bool" setter="" getter="">
+ If [code]true[/code], input events will be flushed just before every idle and physics frame.
+ If [code]false[/code], these events will be flushed only once per process frame, between iterations of the engine.
+ Enabling this setting can greatly improve input responsiveness, especially in devices that struggle to run at the project's intended frame rate.
+ </member>
+ <member name="input/buffering/use_accumulated_input" type="bool" setter="" getter="">
+ If [code]true[/code], similar input events sent by the operating system are accumulated. When input accumulation is enabled, all input events generated during a frame will be merged and emitted when the frame is done rendering. Therefore, this limits the number of input method calls per second to the rendering FPS.
+ Input accumulation can be disabled to get slightly more precise/reactive input at the cost of increased CPU usage.
+ [b]Note:[/b] Input accumulation is [i]enabled[/i] by default.
+ </member>
<member name="interface/editor/accept_dialog_cancel_ok_buttons" type="int" setter="" getter="">
How to position the Cancel and OK buttons in the editor's [AcceptDialog]s. Different platforms have different standard behaviors for this, which can be overridden using this setting. This is useful if you use Godot both on Windows and macOS/Linux and your Godot muscle memory is stronger than your OS specific one.
- [b]Auto[/b] follows the platform convention: Cancel first on macOS and Linux, OK first on Windows.
diff --git a/doc/classes/LightmapGI.xml b/doc/classes/LightmapGI.xml
index 6fb15e4d21..e7d44411ef 100644
--- a/doc/classes/LightmapGI.xml
+++ b/doc/classes/LightmapGI.xml
@@ -137,6 +137,12 @@
<constant name="BAKE_ERROR_TEXTURE_SIZE_TOO_SMALL" value="9" enum="BakeError">
Lightmap baking failed as the maximum texture size is too small to fit some of the meshes marked for baking.
</constant>
+ <constant name="BAKE_ERROR_LIGHTMAP_TOO_SMALL" value="10" enum="BakeError">
+ Lightmap baking failed as the lightmap is too small.
+ </constant>
+ <constant name="BAKE_ERROR_ATLAS_TOO_SMALL" value="11" enum="BakeError">
+ Lightmap baking failed as the lightmap was unable to fit into an atlas.
+ </constant>
<constant name="ENVIRONMENT_MODE_DISABLED" value="0" enum="EnvironmentMode">
Ignore environment lighting when baking lightmaps.
</constant>
diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml
index 2662b34aec..c54219c056 100644
--- a/doc/classes/Node.xml
+++ b/doc/classes/Node.xml
@@ -1187,7 +1187,7 @@
</constant>
<constant name="NOTIFICATION_WM_GO_BACK_REQUEST" value="1007">
Notification received from the OS when a go back request is sent (e.g. pressing the "Back" button on Android).
- Implemented only on iOS.
+ Implemented only on Android.
</constant>
<constant name="NOTIFICATION_WM_SIZE_CHANGED" value="1008">
Notification received when the window is resized.
diff --git a/doc/classes/Parallax2D.xml b/doc/classes/Parallax2D.xml
index 472aeb0bd3..cfd282a723 100644
--- a/doc/classes/Parallax2D.xml
+++ b/doc/classes/Parallax2D.xml
@@ -8,6 +8,7 @@
[b]Note:[/b] Any changes to this node's position made after it enters the scene tree will be overridden if [member ignore_camera_scroll] is [code]false[/code] or [member screen_offset] is modified.
</description>
<tutorials>
+ <link title="2D Parallax">$DOCS_URL/tutorials/2d/2d_parallax.html</link>
</tutorials>
<members>
<member name="autoscroll" type="Vector2" setter="set_autoscroll" getter="get_autoscroll" default="Vector2(0, 0)">
diff --git a/doc/classes/PhysicsPointQueryParameters2D.xml b/doc/classes/PhysicsPointQueryParameters2D.xml
index 521e584173..642e87947a 100644
--- a/doc/classes/PhysicsPointQueryParameters2D.xml
+++ b/doc/classes/PhysicsPointQueryParameters2D.xml
@@ -24,6 +24,7 @@
</member>
<member name="exclude" type="RID[]" setter="set_exclude" getter="get_exclude" default="[]">
The list of object [RID]s that will be excluded from collisions. Use [method CollisionObject2D.get_rid] to get the [RID] associated with a [CollisionObject2D]-derived node.
+ [b]Note:[/b] The returned array is copied and any changes to it will not update the original property value. To update the value you need to modify the returned array, and then assign it to the property again.
</member>
<member name="position" type="Vector2" setter="set_position" getter="get_position" default="Vector2(0, 0)">
The position being queried for, in global coordinates.
diff --git a/doc/classes/PhysicsPointQueryParameters3D.xml b/doc/classes/PhysicsPointQueryParameters3D.xml
index 1cbc11bd03..a53300c78d 100644
--- a/doc/classes/PhysicsPointQueryParameters3D.xml
+++ b/doc/classes/PhysicsPointQueryParameters3D.xml
@@ -20,6 +20,7 @@
</member>
<member name="exclude" type="RID[]" setter="set_exclude" getter="get_exclude" default="[]">
The list of object [RID]s that will be excluded from collisions. Use [method CollisionObject3D.get_rid] to get the [RID] associated with a [CollisionObject3D]-derived node.
+ [b]Note:[/b] The returned array is copied and any changes to it will not update the original property value. To update the value you need to modify the returned array, and then assign it to the property again.
</member>
<member name="position" type="Vector3" setter="set_position" getter="get_position" default="Vector3(0, 0, 0)">
The position being queried for, in global coordinates.
diff --git a/doc/classes/PhysicsRayQueryParameters2D.xml b/doc/classes/PhysicsRayQueryParameters2D.xml
index 3d69e092f6..a9738b4690 100644
--- a/doc/classes/PhysicsRayQueryParameters2D.xml
+++ b/doc/classes/PhysicsRayQueryParameters2D.xml
@@ -36,6 +36,7 @@
</member>
<member name="exclude" type="RID[]" setter="set_exclude" getter="get_exclude" default="[]">
The list of object [RID]s that will be excluded from collisions. Use [method CollisionObject2D.get_rid] to get the [RID] associated with a [CollisionObject2D]-derived node.
+ [b]Note:[/b] The returned array is copied and any changes to it will not update the original property value. To update the value you need to modify the returned array, and then assign it to the property again.
</member>
<member name="from" type="Vector2" setter="set_from" getter="get_from" default="Vector2(0, 0)">
The starting point of the ray being queried for, in global coordinates.
diff --git a/doc/classes/PhysicsRayQueryParameters3D.xml b/doc/classes/PhysicsRayQueryParameters3D.xml
index b203b8f555..175b594fb0 100644
--- a/doc/classes/PhysicsRayQueryParameters3D.xml
+++ b/doc/classes/PhysicsRayQueryParameters3D.xml
@@ -36,6 +36,7 @@
</member>
<member name="exclude" type="RID[]" setter="set_exclude" getter="get_exclude" default="[]">
The list of object [RID]s that will be excluded from collisions. Use [method CollisionObject3D.get_rid] to get the [RID] associated with a [CollisionObject3D]-derived node.
+ [b]Note:[/b] The returned array is copied and any changes to it will not update the original property value. To update the value you need to modify the returned array, and then assign it to the property again.
</member>
<member name="from" type="Vector3" setter="set_from" getter="get_from" default="Vector3(0, 0, 0)">
The starting point of the ray being queried for, in global coordinates.
diff --git a/doc/classes/PhysicsShapeQueryParameters2D.xml b/doc/classes/PhysicsShapeQueryParameters2D.xml
index 915d94a54c..3687a4dc5a 100644
--- a/doc/classes/PhysicsShapeQueryParameters2D.xml
+++ b/doc/classes/PhysicsShapeQueryParameters2D.xml
@@ -20,6 +20,7 @@
</member>
<member name="exclude" type="RID[]" setter="set_exclude" getter="get_exclude" default="[]">
The list of object [RID]s that will be excluded from collisions. Use [method CollisionObject2D.get_rid] to get the [RID] associated with a [CollisionObject2D]-derived node.
+ [b]Note:[/b] The returned array is copied and any changes to it will not update the original property value. To update the value you need to modify the returned array, and then assign it to the property again.
</member>
<member name="margin" type="float" setter="set_margin" getter="get_margin" default="0.0">
The collision margin for the shape.
diff --git a/doc/classes/PhysicsShapeQueryParameters3D.xml b/doc/classes/PhysicsShapeQueryParameters3D.xml
index eba2b8287f..f05322f1ab 100644
--- a/doc/classes/PhysicsShapeQueryParameters3D.xml
+++ b/doc/classes/PhysicsShapeQueryParameters3D.xml
@@ -20,6 +20,7 @@
</member>
<member name="exclude" type="RID[]" setter="set_exclude" getter="get_exclude" default="[]">
The list of object [RID]s that will be excluded from collisions. Use [method CollisionObject3D.get_rid] to get the [RID] associated with a [CollisionObject3D]-derived node.
+ [b]Note:[/b] The returned array is copied and any changes to it will not update the original property value. To update the value you need to modify the returned array, and then assign it to the property again.
</member>
<member name="margin" type="float" setter="set_margin" getter="get_margin" default="0.0">
The collision margin for the shape.
diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml
index b0f421e932..4f7f372864 100644
--- a/doc/classes/ProjectSettings.xml
+++ b/doc/classes/ProjectSettings.xml
@@ -1395,12 +1395,6 @@
Enabling this can greatly improve the responsiveness to input, specially in devices that need to run multiple physics frames per visible (process) frame, because they can't run at the target frame rate.
[b]Note:[/b] Currently implemented only on Android.
</member>
- <member name="input_devices/buffering/android/use_accumulated_input" type="bool" setter="" getter="" default="true">
- If [code]true[/code], multiple input events will be accumulated into a single input event when possible.
- </member>
- <member name="input_devices/buffering/android/use_input_buffering" type="bool" setter="" getter="" default="true">
- If [code]true[/code], input events will be buffered prior to being dispatched.
- </member>
<member name="input_devices/compatibility/legacy_just_pressed_behavior" type="bool" setter="" getter="" default="false">
If [code]true[/code], [method Input.is_action_just_pressed] and [method Input.is_action_just_released] will only return [code]true[/code] if the action is still in the respective state, i.e. an action that is pressed [i]and[/i] released on the same frame will be missed.
If [code]false[/code], no input will be lost.
diff --git a/doc/classes/RenderDataExtension.xml b/doc/classes/RenderDataExtension.xml
index 9bdab8e101..5c2b75ed1b 100644
--- a/doc/classes/RenderDataExtension.xml
+++ b/doc/classes/RenderDataExtension.xml
@@ -12,24 +12,25 @@
<method name="_get_camera_attributes" qualifiers="virtual const">
<return type="RID" />
<description>
- Implement this in GDExtension to return the [RID] for the implementations camera attributes object.
+ Implement this in GDExtension to return the [RID] for the implementation's camera attributes object.
</description>
</method>
<method name="_get_environment" qualifiers="virtual const">
<return type="RID" />
<description>
+ Implement this in GDExtension to return the [RID] of the implementation's environment object.
</description>
</method>
<method name="_get_render_scene_buffers" qualifiers="virtual const">
<return type="RenderSceneBuffers" />
<description>
- Implement this in GDExtension to return the [RID] of the implementations environment object.
+ Implement this in GDExtension to return the implementation's [RenderSceneBuffers] object.
</description>
</method>
<method name="_get_render_scene_data" qualifiers="virtual const">
<return type="RenderSceneData" />
<description>
- Implement this in GDExtension to return the implementations [RenderSceneDataExtension] object.
+ Implement this in GDExtension to return the implementation's [RenderSceneDataExtension] object.
</description>
</method>
</methods>
diff --git a/doc/classes/RenderingDevice.xml b/doc/classes/RenderingDevice.xml
index 3c1061dee9..876f229d0c 100644
--- a/doc/classes/RenderingDevice.xml
+++ b/doc/classes/RenderingDevice.xml
@@ -1444,10 +1444,10 @@
VRAM-compressed signed red/green channel data format with normalized value. Values are in the [code][-1.0, 1.0][/code] range. The format's precision is 8 bits of red channel and 8 bits of green channel. Using BC5 texture compression (also known as S3TC RGTC).
</constant>
<constant name="DATA_FORMAT_BC6H_UFLOAT_BLOCK" value="142" enum="DataFormat">
- VRAM-compressed unsigned red/green/blue channel data format with the floating-point value stored as-is. The format's precision is 8 bits of red channel and 8 bits of green channel. Using BC6H texture compression (also known as BPTC HDR).
+ VRAM-compressed unsigned red/green/blue channel data format with the floating-point value stored as-is. The format's precision is between 10 and 13 bits for the red/green/blue channels. Using BC6H texture compression (also known as BPTC HDR).
</constant>
<constant name="DATA_FORMAT_BC6H_SFLOAT_BLOCK" value="143" enum="DataFormat">
- VRAM-compressed signed red/green/blue channel data format with the floating-point value stored as-is. The format's precision is between 4 and 7 bits for the red/green/blue channels and between 0 and 8 bits for the alpha channel. Using BC7 texture compression (also known as BPTC HDR).
+ VRAM-compressed signed red/green/blue channel data format with the floating-point value stored as-is. The format's precision is between 10 and 13 bits for the red/green/blue channels. Using BC6H texture compression (also known as BPTC HDR).
</constant>
<constant name="DATA_FORMAT_BC7_UNORM_BLOCK" value="144" enum="DataFormat">
VRAM-compressed unsigned red/green/blue/alpha channel data format with normalized value. Values are in the [code][0.0, 1.0][/code] range. The format's precision is between 4 and 7 bits for the red/green/blue channels and between 0 and 8 bits for the alpha channel. Also known as BPTC LDR.
@@ -1477,13 +1477,13 @@
11-bit VRAM-compressed unsigned red channel data format with normalized value. Values are in the [code][0.0, 1.0][/code] range. Using ETC2 texture compression.
</constant>
<constant name="DATA_FORMAT_EAC_R11_SNORM_BLOCK" value="153" enum="DataFormat">
- 11-bit VRAM-compressed signed red channel data format with normalized value. Values are in the [code][0.0, 1.0][/code] range. Using ETC2 texture compression.
+ 11-bit VRAM-compressed signed red channel data format with normalized value. Values are in the [code][-1.0, 1.0][/code] range. Using ETC2 texture compression.
</constant>
<constant name="DATA_FORMAT_EAC_R11G11_UNORM_BLOCK" value="154" enum="DataFormat">
11-bit VRAM-compressed unsigned red/green channel data format with normalized value. Values are in the [code][0.0, 1.0][/code] range. Using ETC2 texture compression.
</constant>
<constant name="DATA_FORMAT_EAC_R11G11_SNORM_BLOCK" value="155" enum="DataFormat">
- 11-bit VRAM-compressed signed red/green channel data format with normalized value. Values are in the [code][0.0, 1.0][/code] range. Using ETC2 texture compression.
+ 11-bit VRAM-compressed signed red/green channel data format with normalized value. Values are in the [code][-1.0, 1.0][/code] range. Using ETC2 texture compression.
</constant>
<constant name="DATA_FORMAT_ASTC_4x4_UNORM_BLOCK" value="156" enum="DataFormat">
VRAM-compressed unsigned floating-point data format with normalized value, packed in 4×4 blocks (highest quality). Values are in the [code][0.0, 1.0][/code] range. Using ASTC compression.
diff --git a/doc/classes/Resource.xml b/doc/classes/Resource.xml
index cec936ac3e..74d083594f 100644
--- a/doc/classes/Resource.xml
+++ b/doc/classes/Resource.xml
@@ -40,8 +40,11 @@
<param index="0" name="subresources" type="bool" default="false" />
<description>
Duplicates this resource, returning a new resource with its [code]export[/code]ed or [constant PROPERTY_USAGE_STORAGE] properties copied from the original.
- If [param subresources] is [code]false[/code], a shallow copy is returned; nested resources within subresources are not duplicated and are shared from the original resource. If [param subresources] is [code]true[/code], a deep copy is returned; nested subresources will be duplicated and are not shared.
- Subresource properties with the [constant PROPERTY_USAGE_ALWAYS_DUPLICATE] flag are always duplicated even with [param subresources] set to [code]false[/code], and properties with the [constant PROPERTY_USAGE_NEVER_DUPLICATE] flag are never duplicated even with [param subresources] set to [code]true[/code].
+ If [param subresources] is [code]false[/code], a shallow copy is returned; nested resources within subresources are not duplicated and are shared with the original resource (with one exception; see below). If [param subresources] is [code]true[/code], a deep copy is returned; nested subresources will be duplicated and are not shared (with two exceptions; see below).
+ [param subresources] is usually respected, with the following exceptions:
+ - Subresource properties with the [constant PROPERTY_USAGE_ALWAYS_DUPLICATE] flag are always duplicated.
+ - Subresource properties with the [constant PROPERTY_USAGE_NEVER_DUPLICATE] flag are never duplicated.
+ - Subresources inside [Array] and [Dictionary] properties are never duplicated.
[b]Note:[/b] For custom resources, this method will fail if [method Object._init] has been defined with required parameters.
</description>
</method>
diff --git a/doc/classes/RichTextLabel.xml b/doc/classes/RichTextLabel.xml
index 24d2d26beb..7e0c39ac7c 100644
--- a/doc/classes/RichTextLabel.xml
+++ b/doc/classes/RichTextLabel.xml
@@ -432,7 +432,7 @@
Adds [code skip-lint][ol][/code] or [code skip-lint][ul][/code] tag to the tag stack. Multiplies [param level] by current [member tab_size] to determine new margin length.
</description>
</method>
- <method name="push_meta">
+ <method name="push_meta" keywords="push_url">
<return type="void" />
<param index="0" name="data" type="Variant" />
<param index="1" name="underline_mode" type="int" enum="RichTextLabel.MetaUnderline" default="1" />
@@ -628,7 +628,7 @@
<member name="language" type="String" setter="set_language" getter="get_language" default="&quot;&quot;">
Language code used for line-breaking and text shaping algorithms, if left empty current locale is used instead.
</member>
- <member name="meta_underlined" type="bool" setter="set_meta_underline" getter="is_meta_underlined" default="true">
+ <member name="meta_underlined" type="bool" setter="set_meta_underline" getter="is_meta_underlined" default="true" keywords="url_underlined">
If [code]true[/code], the label underlines meta tags such as [code skip-lint][url]{text}[/url][/code]. These tags can call a function when clicked if [signal meta_clicked] is connected to a function.
</member>
<member name="progress_bar_delay" type="int" setter="set_progress_bar_delay" getter="get_progress_bar_delay" default="1000">
diff --git a/doc/classes/Skeleton3D.xml b/doc/classes/Skeleton3D.xml
index 5829a787a1..cc3f61e1b2 100644
--- a/doc/classes/Skeleton3D.xml
+++ b/doc/classes/Skeleton3D.xml
@@ -57,11 +57,6 @@
Force updates the bone transform for the bone at [param bone_idx] and all of its children.
</description>
</method>
- <method name="get_animate_physical_bones" qualifiers="const" deprecated="">
- <return type="bool" />
- <description>
- </description>
- </method>
<method name="get_bone_children" qualifiers="const">
<return type="PackedInt32Array" />
<param index="0" name="bone_idx" type="int" />
@@ -239,14 +234,6 @@
Sets all bone poses to rests.
</description>
</method>
- <method name="set_animate_physical_bones" deprecated="">
- <return type="void" />
- <param index="0" name="enabled" type="bool" />
- <description>
- This method exists for compatibility with old structures in which the [Skeleton3D] does not have a [PhysicalBoneSimulator3D] as a child, but directly has [PhysicalBone3D]s as children.
- In case you need to raycast to it without running [method physical_bones_start_simulation], call this method with [code]enabled == true[/code].
- </description>
- </method>
<method name="set_bone_enabled">
<return type="void" />
<param index="0" name="bone_idx" type="int" />
@@ -342,6 +329,10 @@
</method>
</methods>
<members>
+ <member name="animate_physical_bones" type="bool" setter="set_animate_physical_bones" getter="get_animate_physical_bones" default="true" deprecated="">
+ If you follow the recommended workflow and explicitly have [PhysicalBoneSimulator3D] as a child of [Skeleton3D], you can control whether it is affected by raycasting without running [method physical_bones_start_simulation], by its [member SkeletonModifier3D.active].
+ However, for old (deprecated) configurations, [Skeleton3D] has an internal virtual [PhysicalBoneSimulator3D] for compatibility. This property controls the internal virtual [PhysicalBoneSimulator3D]'s [member SkeletonModifier3D.active].
+ </member>
<member name="modifier_callback_mode_process" type="int" setter="set_modifier_callback_mode_process" getter="get_modifier_callback_mode_process" enum="Skeleton3D.ModifierCallbackModeProcess" default="1">
Sets the processing timing for the Modifier.
</member>
diff --git a/doc/classes/TileSetScenesCollectionSource.xml b/doc/classes/TileSetScenesCollectionSource.xml
index 9d2742b844..40ad269e83 100644
--- a/doc/classes/TileSetScenesCollectionSource.xml
+++ b/doc/classes/TileSetScenesCollectionSource.xml
@@ -6,6 +6,32 @@
<description>
When placed on a [TileMap], tiles from [TileSetScenesCollectionSource] will automatically instantiate an associated scene at the cell's position in the TileMap.
Scenes are instantiated as children of the [TileMap] when it enters the tree. If you add/remove a scene tile in the [TileMap] that is already inside the tree, the [TileMap] will automatically instantiate/free the scene accordingly.
+ [b]Note:[/b] Scene tiles all occupy one tile slot and instead use alternate tile ID to identify scene index. [method TileSetSource.get_tiles_count] will always return [code]1[/code]. Use [method get_scene_tiles_count] to get a number of scenes in a [TileSetScenesCollectionSource].
+ Use this code if you want to find the scene path at a given tile in [TileMapLayer]:
+ [codeblocks]
+ [gdscript]
+ var source_id = tile_map_layer.get_cell_source_id(Vector2i(x, y))
+ if source_id &gt; -1:
+ var scene_source = tile_map_layer.tile_set.get_source(source_id)
+ if scene_source is TileSetScenesCollectionSource:
+ var alt_id = tile_map_layer.get_cell_alternative_tile(Vector2i(x, y))
+ # The assigned PackedScene.
+ var scene = scene_source.get_scene_tile_scene(alt_id)
+ [/gdscript]
+ [csharp]
+ int sourceId = tileMapLayer.GetCellSourceId(new Vector2I(x, y));
+ if (sourceId &gt; -1)
+ {
+ TileSetSource source = tileMapLayer.TileSet.GetSource(sourceId);
+ if (source is TileSetScenesCollectionSource sceneSource)
+ {
+ int altId = tileMapLayer.GetCellAlternativeTile(new Vector2I(x, y));
+ // The assigned PackedScene.
+ PackedScene scene = sceneSource.GetSceneTileScene(altId);
+ }
+ }
+ [/csharp]
+ [/codeblocks]
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/Transform2D.xml b/doc/classes/Transform2D.xml
index 345d0512ff..4158fbe710 100644
--- a/doc/classes/Transform2D.xml
+++ b/doc/classes/Transform2D.xml
@@ -4,8 +4,10 @@
A 2×3 matrix representing a 2D transformation.
</brief_description>
<description>
- A 2×3 matrix (2 rows, 3 columns) used for 2D linear transformations. It can represent transformations such as translation, rotation, and scaling. It consists of three [Vector2] values: [member x], [member y], and the [member origin].
+ The [Transform2D] built-in [Variant] type is a 2×3 [url=https://en.wikipedia.org/wiki/Matrix_(mathematics)]matrix[/url] representing a transformation in 2D space. It contains three [Vector2] values: [member x], [member y], and [member origin]. Together, they can represent translation, rotation, scale, and skew.
+ The [member x] and [member y] axes form a 2×2 matrix, known as the transform's [b]basis[/b]. The length of each axis ([method Vector2.length]) influences the transform's scale, while the direction of all axes influence the rotation. Usually, both axes are perpendicular to one another. However, when you rotate one axis individually, the transform becomes skewed. Applying a skewed transform to a 2D sprite will make the sprite appear distorted.
For a general introduction, see the [url=$DOCS_URL/tutorials/math/matrices_and_transforms.html]Matrices and transforms[/url] tutorial.
+ [b]Note:[/b] Unlike [Transform3D], there is no 2D equivalent to the [Basis] type. All mentions of "basis" refer to the [member x] and [member y] components of [Transform2D].
</description>
<tutorials>
<link title="Math documentation index">$DOCS_URL/tutorials/math/index.html</link>
@@ -17,7 +19,7 @@
<constructor name="Transform2D">
<return type="Transform2D" />
<description>
- Constructs a default-initialized [Transform2D] set to [constant IDENTITY].
+ Constructs a [Transform2D] identical to [constant IDENTITY].
</description>
</constructor>
<constructor name="Transform2D">
@@ -32,7 +34,7 @@
<param index="0" name="rotation" type="float" />
<param index="1" name="position" type="Vector2" />
<description>
- Constructs the transform from a given angle (in radians) and position.
+ Constructs a [Transform2D] from a given angle (in radians) and position.
</description>
</constructor>
<constructor name="Transform2D">
@@ -42,7 +44,7 @@
<param index="2" name="skew" type="float" />
<param index="3" name="position" type="Vector2" />
<description>
- Constructs the transform from a given angle (in radians), scale, skew (in radians) and position.
+ Constructs a [Transform2D] from a given angle (in radians), scale, skew (in radians), and position.
</description>
</constructor>
<constructor name="Transform2D">
@@ -51,7 +53,7 @@
<param index="1" name="y_axis" type="Vector2" />
<param index="2" name="origin" type="Vector2" />
<description>
- Constructs the transform from 3 [Vector2] values representing [member x], [member y], and the [member origin] (the three column vectors).
+ Constructs a [Transform2D] from 3 [Vector2] values representing [member x], [member y], and the [member origin] (the three matrix columns).
</description>
</constructor>
</constructors>
@@ -59,56 +61,81 @@
<method name="affine_inverse" qualifiers="const">
<return type="Transform2D" />
<description>
- Returns the inverse of the transform, under the assumption that the basis is invertible (must have non-zero determinant).
+ Returns the inverted version of this transform. Unlike [method inverse], this method works with almost any basis, including non-uniform ones, but is slower. See also [method inverse].
+ [b]Note:[/b] For this method to return correctly, the transform's basis needs to have a determinant that is not exactly [code]0[/code] (see [method determinant]).
</description>
</method>
<method name="basis_xform" qualifiers="const">
<return type="Vector2" />
<param index="0" name="v" type="Vector2" />
<description>
- Returns a vector transformed (multiplied) by the basis matrix.
- This method does not account for translation (the [member origin] vector).
+ Returns a copy of the [param v] vector, transformed (multiplied) by the transform basis's matrix. Unlike the multiplication operator ([code]*[/code]), this method ignores the [member origin].
</description>
</method>
<method name="basis_xform_inv" qualifiers="const">
<return type="Vector2" />
<param index="0" name="v" type="Vector2" />
<description>
- Returns a vector transformed (multiplied) by the inverse basis matrix, under the assumption that the basis is orthonormal (i.e. rotation/reflection is fine, scaling/skew is not).
- This method does not account for translation (the [member origin] vector).
- [code]transform.basis_xform_inv(vector)[/code] is equivalent to [code]transform.inverse().basis_xform(vector)[/code]. See [method inverse].
- For non-orthonormal transforms (e.g. with scaling) [code]transform.affine_inverse().basis_xform(vector)[/code] can be used instead. See [method affine_inverse].
+ Returns a copy of the [param v] vector, transformed (multiplied) by the inverse transform basis's matrix (see [method inverse]). This method ignores the [member origin].
+ [b]Note:[/b] This method assumes that this transform's basis is [i]orthonormal[/i] (see [method orthonormalized]). If the basis is not orthonormal, [code]transform.affine_inverse().basis_xform(vector)[/code] should be used instead (see [method affine_inverse]).
</description>
</method>
<method name="determinant" qualifiers="const">
<return type="float" />
<description>
- Returns the determinant of the basis matrix. If the basis is uniformly scaled, then its determinant equals the square of the scale factor.
- A negative determinant means the basis was flipped, so one part of the scale is negative. A zero determinant means the basis isn't invertible, and is usually considered invalid.
+ Returns the [url=https://en.wikipedia.org/wiki/Determinant]determinant[/url] of this transform basis's matrix. For advanced math, this number can be used to determine a few attributes:
+ - If the determinant is exactly [code]0[/code], the basis is not invertible (see [method inverse]).
+ - If the determinant is a negative number, the basis represents a negative scale.
+ [b]Note:[/b] If the basis's scale is the same for every axis, its determinant is always that scale by the power of 2.
</description>
</method>
<method name="get_origin" qualifiers="const">
<return type="Vector2" />
<description>
- Returns the transform's origin (translation).
+ Returns this transform's translation. Equivalent to [member origin].
</description>
</method>
<method name="get_rotation" qualifiers="const">
<return type="float" />
<description>
- Returns the transform's rotation (in radians).
+ Returns this transform's rotation (in radians). This is equivalent to [member x]'s angle (see [method Vector2.angle]).
</description>
</method>
<method name="get_scale" qualifiers="const">
<return type="Vector2" />
<description>
- Returns the scale.
+ Returns the length of both [member x] and [member y], as a [Vector2]. If this transform's basis is not skewed, this value is the scaling factor. It is not affected by rotation.
+ [codeblocks]
+ [gdscript]
+ var my_transform = Transform2D(
+ Vector2(2, 0),
+ Vector2(0, 4),
+ Vector2(0, 0)
+ )
+ # Rotating the Transform2D in any way preserves its scale.
+ my_transform = my_transform.rotated(TAU / 2)
+
+ print(my_transform.get_scale()) # Prints (2, 4).
+ [/gdscript]
+ [csharp]
+ var myTransform = new Transform2D(
+ Vector3(2.0f, 0.0f),
+ Vector3(0.0f, 4.0f),
+ Vector3(0.0f, 0.0f)
+ );
+ // Rotating the Transform2D in any way preserves its scale.
+ myTransform = myTransform.Rotated(Mathf.Tau / 2.0f);
+
+ GD.Print(myTransform.GetScale()); // Prints (2, 4, 8).
+ [/csharp]
+ [/codeblocks]
+ [b]Note:[/b] If the value returned by [method determinant] is negative, the scale is also negative.
</description>
</method>
<method name="get_skew" qualifiers="const">
<return type="float" />
<description>
- Returns the transform's skew (in radians).
+ Returns this transform's skew (in radians).
</description>
</method>
<method name="interpolate_with" qualifiers="const">
@@ -116,19 +143,21 @@
<param index="0" name="xform" type="Transform2D" />
<param index="1" name="weight" type="float" />
<description>
- Returns a transform interpolated between this transform and another by a given [param weight] (on the range of 0.0 to 1.0).
+ Returns the result of the linear interpolation between this transform and [param xform] by the given [param weight].
+ The [param weight] should be between [code]0.0[/code] and [code]1.0[/code] (inclusive). Values outside this range are allowed and can be used to perform [i]extrapolation[/i] instead.
</description>
</method>
<method name="inverse" qualifiers="const">
<return type="Transform2D" />
<description>
- Returns the inverse of the transform, under the assumption that the transformation basis is orthonormal (i.e. rotation/reflection is fine, scaling/skew is not). Use [method affine_inverse] for non-orthonormal transforms (e.g. with scaling).
+ Returns the [url=https://en.wikipedia.org/wiki/Invertible_matrix]inverted version of this transform[/url].
+ [b]Note:[/b] For this method to return correctly, the transform's basis needs to be [i]orthonormal[/i] (see [method orthonormalized]). That means, the basis should only represent a rotation. If it does not, use [method affine_inverse] instead.
</description>
</method>
<method name="is_conformal" qualifiers="const">
<return type="bool" />
<description>
- Returns [code]true[/code] if the transform's basis is conformal, meaning it preserves angles and distance ratios, and may only be composed of rotation and uniform scale. Returns [code]false[/code] if the transform's basis has non-uniform scale or shear/skew. This can be used to validate if the transform is non-distorted, which is important for physics and other use cases.
+ Returns [code]true[/code] if this transform's basis is conformal. A conformal basis is both [i]orthogonal[/i] (the axes are perpendicular to each other) and [i]uniform[/i] (the axes share the same length). This method can be especially useful during physics calculations.
</description>
</method>
<method name="is_equal_approx" qualifiers="const">
@@ -148,14 +177,13 @@
<return type="Transform2D" />
<param index="0" name="target" type="Vector2" default="Vector2(0, 0)" />
<description>
- Returns a copy of the transform rotated such that the rotated X-axis points towards the [param target] position.
- Operations take place in global space.
+ Returns a copy of the transform rotated such that the rotated X-axis points towards the [param target] position, in global space.
</description>
</method>
<method name="orthonormalized" qualifiers="const">
<return type="Transform2D" />
<description>
- Returns the transform with the basis orthogonal (90 degrees), and normalized axis vectors (scale of 1 or -1).
+ Returns a copy of this transform with its basis orthonormalized. An orthonormal basis is both [i]orthogonal[/i] (the axes are perpendicular to each other) and [i]normalized[/i] (the axes have a length of [code]1[/code]), which also means it can only represent rotation.
</description>
</method>
<method name="rotated" qualifiers="const">
@@ -215,24 +243,41 @@
</methods>
<members>
<member name="origin" type="Vector2" setter="" getter="" default="Vector2(0, 0)">
- The origin vector (column 2, the third column). Equivalent to array index [code]2[/code]. The origin vector represents translation.
+ The translation offset of this transform, and the column [code]2[/code] of the matrix. In 2D space, this can be seen as the position.
</member>
<member name="x" type="Vector2" setter="" getter="" default="Vector2(1, 0)">
- The basis matrix's X vector (column 0). Equivalent to array index [code]0[/code].
+ The transform basis's X axis, and the column [code]0[/code] of the matrix. Combined with [member y], this represents the transform's rotation, scale, and skew.
+ On the identity transform, this vector points right ([constant Vector2.RIGHT]).
</member>
<member name="y" type="Vector2" setter="" getter="" default="Vector2(0, 1)">
- The basis matrix's Y vector (column 1). Equivalent to array index [code]1[/code].
+ The transform basis's Y axis, and the column [code]1[/code] of the matrix. Combined with [member x], this represents the transform's rotation, scale, and skew.
+ On the identity transform, this vector points up ([constant Vector2.UP]).
</member>
</members>
<constants>
<constant name="IDENTITY" value="Transform2D(1, 0, 0, 1, 0, 0)">
- The identity [Transform2D] with no translation, rotation or scaling applied. When applied to other data structures, [constant IDENTITY] performs no transformation.
+ The identity [Transform2D]. A transform with no translation, no rotation, and its scale being [code]1[/code]. When multiplied by another [Variant] such as [Rect2] or another [Transform2D], no transformation occurs. This means that:
+ - The [member x] points right ([constant Vector2.RIGHT]);
+ - The [member y] points up ([constant Vector2.UP]).
+ [codeblock]
+ var transform = Transform2D.IDENTITY
+ print("| X | Y | Origin")
+ print("| %s | %s | %s" % [transform.x.x, transform.y.x, transform.origin.x])
+ print("| %s | %s | %s" % [transform.x.y, transform.y.y, transform.origin.y])
+ # Prints:
+ # | X | Y | Origin
+ # | 1 | 0 | 0
+ # | 0 | 1 | 0
+ [/codeblock]
+ This is identical to creating [constructor Transform2D] without any parameters. This constant can be used to make your code clearer, and for consistency with C#.
</constant>
<constant name="FLIP_X" value="Transform2D(-1, 0, 0, 1, 0, 0)">
- The [Transform2D] that will flip something along the X axis.
+ When any transform is multiplied by [constant FLIP_X], it negates all components of the [member x] axis (the X column).
+ When [constant FLIP_X] is multiplied by any basis, it negates the [member Vector2.x] component of all axes (the X row).
</constant>
<constant name="FLIP_Y" value="Transform2D(1, 0, 0, -1, 0, 0)">
- The [Transform2D] that will flip something along the Y axis.
+ When any transform is multiplied by [constant FLIP_Y], it negates all components of the [member y] axis (the Y column).
+ When [constant FLIP_Y] is multiplied by any basis, it negates the [member Vector2.y] component of all axes (the Y row).
</constant>
</constants>
<operators>
@@ -240,7 +285,7 @@
<return type="bool" />
<param index="0" name="right" type="Transform2D" />
<description>
- Returns [code]true[/code] if the transforms are not equal.
+ Returns [code]true[/code] if the components of both transforms are not equal.
[b]Note:[/b] Due to floating-point precision errors, consider using [method is_equal_approx] instead, which is more reliable.
</description>
</operator>
@@ -248,63 +293,69 @@
<return type="PackedVector2Array" />
<param index="0" name="right" type="PackedVector2Array" />
<description>
- Transforms (multiplies) each element of the [Vector2] array by the given [Transform2D] matrix.
+ Transforms (multiplies) every [Vector2] element of the given [PackedVector2Array] by this transformation matrix.
+ On larger arrays, this operation is much faster than transforming each [Vector2] individually.
</description>
</operator>
<operator name="operator *">
<return type="Rect2" />
<param index="0" name="right" type="Rect2" />
<description>
- Transforms (multiplies) the [Rect2] by the given [Transform2D] matrix.
+ Transforms (multiplies) the [Rect2] by this transformation matrix.
</description>
</operator>
<operator name="operator *">
<return type="Transform2D" />
<param index="0" name="right" type="Transform2D" />
<description>
- Composes these two transformation matrices by multiplying them together. This has the effect of transforming the second transform (the child) by the first transform (the parent).
+ Transforms (multiplies) this transform by the [param right] transform.
+ This is the operation performed between parent and child [CanvasItem] nodes.
+ [b]Note:[/b] If you need to only modify one attribute of this transform, consider using one of the following methods, instead:
+ - For translation, see [method translated] or [method translated_local].
+ - For rotation, see [method rotated] or [method rotated_local].
+ - For scale, see [method scaled] or [method scaled_local].
</description>
</operator>
<operator name="operator *">
<return type="Vector2" />
<param index="0" name="right" type="Vector2" />
<description>
- Transforms (multiplies) the [Vector2] by the given [Transform2D] matrix.
+ Transforms (multiplies) the [Vector2] by this transformation matrix.
</description>
</operator>
<operator name="operator *">
<return type="Transform2D" />
<param index="0" name="right" type="float" />
<description>
- This operator multiplies all components of the [Transform2D], including the [member origin] vector, which scales it uniformly.
+ Multiplies all components of the [Transform2D] by the given [float], including the [member origin]. This affects the transform's scale uniformly.
</description>
</operator>
<operator name="operator *">
<return type="Transform2D" />
<param index="0" name="right" type="int" />
<description>
- This operator multiplies all components of the [Transform2D], including the [member origin] vector, which scales it uniformly.
+ Multiplies all components of the [Transform2D] by the given [int], including the [member origin]. This affects the transform's scale uniformly.
</description>
</operator>
<operator name="operator /">
<return type="Transform2D" />
<param index="0" name="right" type="float" />
<description>
- This operator divides all components of the [Transform2D], including the [member origin] vector, which inversely scales it uniformly.
+ Divides all components of the [Transform2D] by the given [float], including the [member origin]. This affects the transform's scale uniformly.
</description>
</operator>
<operator name="operator /">
<return type="Transform2D" />
<param index="0" name="right" type="int" />
<description>
- This operator divides all components of the [Transform2D], including the [member origin] vector, which inversely scales it uniformly.
+ Divides all components of the [Transform2D] by the given [int], including the [member origin]. This affects the transform's scale uniformly.
</description>
</operator>
<operator name="operator ==">
<return type="bool" />
<param index="0" name="right" type="Transform2D" />
<description>
- Returns [code]true[/code] if the transforms are exactly equal.
+ Returns [code]true[/code] if the components of both transforms are exactly equal.
[b]Note:[/b] Due to floating-point precision errors, consider using [method is_equal_approx] instead, which is more reliable.
</description>
</operator>
@@ -312,7 +363,7 @@
<return type="Vector2" />
<param index="0" name="index" type="int" />
<description>
- Access transform components using their index. [code]t[0][/code] is equivalent to [code]t.x[/code], [code]t[1][/code] is equivalent to [code]t.y[/code], and [code]t[2][/code] is equivalent to [code]t.origin[/code].
+ Accesses each axis (column) of this transform by their index. Index [code]0[/code] is the same as [member x], index [code]1[/code] is the same as [member y], and index [code]2[/code] is the same as [member origin].
</description>
</operator>
</operators>
diff --git a/doc/classes/XRInterface.xml b/doc/classes/XRInterface.xml
index 175caca598..68d055ad8d 100644
--- a/doc/classes/XRInterface.xml
+++ b/doc/classes/XRInterface.xml
@@ -176,6 +176,10 @@
Triggers a haptic pulse on a device associated with this interface.
[param action_name] is the name of the action for this pulse.
[param tracker_name] is optional and can be used to direct the pulse to a specific device provided that device is bound to this haptic.
+ [param frequency] is the frequency of the pulse, set to [code]0.0[/code] to have the system use a default frequency.
+ [param amplitude] is the amplitude of the pulse between [code]0.0[/code] and [code]1.0[/code].
+ [param duration_sec] is the duration of the pulse in seconds.
+ [param delay_sec] is a delay in seconds before the pulse is given.
</description>
</method>
<method name="uninitialize">
diff --git a/doc/classes/XRNode3D.xml b/doc/classes/XRNode3D.xml
index dfe5600fcc..82f4fa4ab9 100644
--- a/doc/classes/XRNode3D.xml
+++ b/doc/classes/XRNode3D.xml
@@ -38,6 +38,10 @@
<description>
Triggers a haptic pulse on a device associated with this interface.
[param action_name] is the name of the action for this pulse.
+ [param frequency] is the frequency of the pulse, set to [code]0.0[/code] to have the system use a default frequency.
+ [param amplitude] is the amplitude of the pulse between [code]0.0[/code] and [code]1.0[/code].
+ [param duration_sec] is the duration of the pulse in seconds.
+ [param delay_sec] is a delay in seconds before the pulse is given.
</description>
</method>
</methods>