From 0764bbb321aec4f648bc67b9d336ceab3b880258 Mon Sep 17 00:00:00 2001 From: Redot Organization Date: Sat, 6 Jun 2026 06:36:05 +0000 Subject: [PATCH] classref: Sync with current master branch (69c73e8) --- docs/Classes/@GlobalScope.md | 130 +++- docs/Classes/AimModifier3D.md | 32 + docs/Classes/Animation.md | 16 +- docs/Classes/AudioStreamGeneratorPlayback.md | 2 +- docs/Classes/BaseMaterial3D.md | 4 +- docs/Classes/BoneConstraint3D.md | 86 +++ docs/Classes/BoneTwistDisperser3D.md | 563 ++++++++++++++++++ docs/Classes/CCDIK3D.md | 25 + docs/Classes/CameraAttributes.md | 2 + docs/Classes/CameraAttributesPhysical.md | 2 + docs/Classes/CameraAttributesPractical.md | 4 + docs/Classes/CameraFeed.md | 2 +- docs/Classes/CameraServer.md | 2 +- docs/Classes/ChainIK3D.md | 280 +++++++++ docs/Classes/Color.md | 20 +- docs/Classes/ColorPicker.md | 22 + docs/Classes/ConvertTransformModifier3D.md | 4 + docs/Classes/CopyTransformModifier3D.md | 2 + docs/Classes/Dictionary.md | 10 + docs/Classes/DirAccess.md | 4 +- docs/Classes/EditorExportPlatformAndroid.md | 16 +- docs/Classes/EditorExportPlatformIOS.md | 8 +- docs/Classes/EditorExportPlatformMacOS.md | 16 +- docs/Classes/EditorExportPlatformVisionOS.md | 8 +- docs/Classes/EditorExportPlatformWeb.md | 6 +- docs/Classes/EditorExportPlatformWindows.md | 6 +- docs/Classes/EditorExportPlugin.md | 2 +- docs/Classes/EditorImportPlugin.md | 4 +- docs/Classes/EditorPaths.md | 2 +- docs/Classes/EditorScenePostImport.md | 2 +- docs/Classes/EditorSettings.md | 38 +- docs/Classes/Engine.md | 26 +- docs/Classes/Environment.md | 2 +- docs/Classes/FABRIK3D.md | 31 + docs/Classes/FileAccess.md | 2 +- docs/Classes/FoldableContainer.md | 2 +- docs/Classes/GDExtension.md | 2 +- docs/Classes/GDExtensionManager.md | 2 +- docs/Classes/GLTFDocument.md | 6 +- docs/Classes/GLTFDocumentExtension.md | 6 +- docs/Classes/GLTFObjectModelProperty.md | 20 +- docs/Classes/GLTFSkeleton.md | 18 +- docs/Classes/GLTFSkin.md | 10 +- docs/Classes/GLTFState.md | 6 +- docs/Classes/GridMap.md | 16 +- docs/Classes/HeightMapShape3D.md | 2 +- docs/Classes/IKModifier3D.md | 137 +++++ docs/Classes/IterateIK3D.md | 379 ++++++++++++ docs/Classes/JacobianIK3D.md | 25 + docs/Classes/JavaScriptBridge.md | 2 +- docs/Classes/JointLimitation3D.md | 23 + docs/Classes/JointLimitationCone3D.md | 58 ++ .../Classes/LimitAngularVelocityModifier3D.md | 272 +++++++++ docs/Classes/LinkButton.md | 4 +- docs/Classes/LookAtModifier3D.md | 20 + docs/Classes/Node.md | 4 +- docs/Classes/Node3D.md | 2 +- docs/Classes/Object.md | 10 +- .../PhysicsServer3DRenderingServerHandler.md | 4 +- docs/Classes/PlaneMesh.md | 4 +- docs/Classes/ProjectSettings.md | 52 +- docs/Classes/Quaternion.md | 30 + docs/Classes/RefCounted.md | 2 +- docs/Classes/RenderingDevice.md | 2 +- docs/Classes/Resource.md | 6 +- docs/Classes/ResourceImporterShaderFile.md | 2 +- docs/Classes/ResourceImporterTexture.md | 2 +- docs/Classes/SceneMultiplayer.md | 2 +- docs/Classes/Signal.md | 6 +- docs/Classes/SkeletonModifier3D.md | 150 ++++- docs/Classes/SoftBody3D.md | 2 +- .../Classes/{SignalSmith.md => SoundSmith.md} | 66 +- docs/Classes/SplineIK3D.md | 199 +++++++ docs/Classes/SpringBoneSimulator3D.md | 160 ++--- docs/Classes/SpriteBase3D.md | 2 +- docs/Classes/String.md | 12 +- docs/Classes/TranslationServer.md | 2 +- docs/Classes/Tree.md | 6 + docs/Classes/TwoBoneIK3D.md | 481 +++++++++++++++ docs/Classes/Variant.md | 6 +- docs/Classes/Vector2.md | 30 + docs/Classes/Vector3.md | 30 + docs/Classes/Vector4.md | 30 + docs/Classes/VisualShaderNodeFloatFunc.md | 56 +- docs/Classes/VisualShaderNodeIntFunc.md | 6 +- docs/Classes/VisualShaderNodeIntOp.md | 14 +- docs/Classes/VisualShaderNodeUIntFunc.md | 2 +- docs/Classes/VisualShaderNodeUIntOp.md | 14 +- docs/Classes/WebRTCDataChannel.md | 4 +- docs/Classes/WebXRInterface.md | 2 +- docs/Classes/index.md | 14 +- 91 files changed, 3439 insertions(+), 368 deletions(-) create mode 100644 docs/Classes/BoneTwistDisperser3D.md create mode 100644 docs/Classes/CCDIK3D.md create mode 100644 docs/Classes/ChainIK3D.md create mode 100644 docs/Classes/FABRIK3D.md create mode 100644 docs/Classes/IKModifier3D.md create mode 100644 docs/Classes/IterateIK3D.md create mode 100644 docs/Classes/JacobianIK3D.md create mode 100644 docs/Classes/JointLimitation3D.md create mode 100644 docs/Classes/JointLimitationCone3D.md create mode 100644 docs/Classes/LimitAngularVelocityModifier3D.md rename docs/Classes/{SignalSmith.md => SoundSmith.md} (62%) create mode 100644 docs/Classes/SplineIK3D.md create mode 100644 docs/Classes/TwoBoneIK3D.md diff --git a/docs/Classes/@GlobalScope.md b/docs/Classes/@GlobalScope.md index 9d6518e4..6565f223 100644 --- a/docs/Classes/@GlobalScope.md +++ b/docs/Classes/@GlobalScope.md @@ -401,7 +401,7 @@ There are notable differences when using this API with C#. See the C# difference [Variant](Variant.md) - [lerp](#@GlobalScope_method_lerp)\ (\ from\: [Variant](Variant.md), to\: [Variant](Variant.md), weight\: [Variant](Variant.md)\ ) + [lerp](#@GlobalScope_method_lerp)\ (\ from\: [Variant](Variant.md), to\: [Variant](Variant.md), weight\: [float](float.md)\ ) [float](float.md) @@ -443,6 +443,22 @@ There are notable differences when using this API with C#. See the C# difference [int](int.md) [mini](#@GlobalScope_method_mini)\ (\ a\: [int](int.md), b\: [int](int.md)\ ) + + [float](float.md) + [monotonic_cubic_interpolate](#@GlobalScope_method_monotonic_cubic_interpolate)\ (\ from\: [float](float.md), to\: [float](float.md), pre\: [float](float.md), post\: [float](float.md), weight\: [float](float.md)\ ) + + + [float](float.md) + [monotonic_cubic_interpolate_angle](#@GlobalScope_method_monotonic_cubic_interpolate_angle)\ (\ from\: [float](float.md), to\: [float](float.md), pre\: [float](float.md), post\: [float](float.md), weight\: [float](float.md)\ ) + + + [float](float.md) + [monotonic_cubic_interpolate_angle_in_time](#@GlobalScope_method_monotonic_cubic_interpolate_angle_in_time)\ (\ from\: [float](float.md), to\: [float](float.md), pre\: [float](float.md), post\: [float](float.md), weight\: [float](float.md), to_t\: [float](float.md), pre_t\: [float](float.md), post_t\: [float](float.md)\ ) + + + [float](float.md) + [monotonic_cubic_interpolate_in_time](#@GlobalScope_method_monotonic_cubic_interpolate_in_time)\ (\ from\: [float](float.md), to\: [float](float.md), pre\: [float](float.md), post\: [float](float.md), weight\: [float](float.md), to_t\: [float](float.md), pre_t\: [float](float.md), post_t\: [float](float.md)\ ) + [float](float.md) [move_toward](#@GlobalScope_method_move_toward)\ (\ from\: [float](float.md), to\: [float](float.md), delta\: [float](float.md)\ ) @@ -535,6 +551,10 @@ There are notable differences when using this API with C#. See the C# difference [float](float.md) [remap](#@GlobalScope_method_remap)\ (\ value\: [float](float.md), istart\: [float](float.md), istop\: [float](float.md), ostart\: [float](float.md), ostop\: [float](float.md)\ ) + + [float](float.md) + [remap_default](#@GlobalScope_method_remap_default)\ (\ value\: [float](float.md), istart\: [float](float.md), istop\: [float](float.md), ostart\: [float](float.md), ostop\: [float](float.md), default_value\: [float](float.md)\ ) + [int](int.md) [rid_allocate_id](#@GlobalScope_method_rid_allocate_id)\ (\ ) @@ -5308,7 +5328,7 @@ This function is faster than using [is_equal_approx()](@GlobalScope.md#@GlobalSc -[Variant](Variant.md) **lerp**\ (\ from\: [Variant](Variant.md), to\: [Variant](Variant.md), weight\: [Variant](Variant.md)\ ) [🔗](#@GlobalScope_method_lerp) +[Variant](Variant.md) **lerp**\ (\ from\: [Variant](Variant.md), to\: [Variant](Variant.md), weight\: [float](float.md)\ ) [🔗](#@GlobalScope_method_lerp) Linearly interpolates between two values by the factor defined in `weight`. To perform interpolation, `weight` should be between ``0.0`` and ``1.0`` (inclusive). However, values outside this range are allowed and can be used to perform *extrapolation*. If this is not desired, use [clampf()](@GlobalScope.md#@GlobalScope_method_clampf) to limit `weight`. @@ -5499,6 +5519,92 @@ Returns the minimum of two [int](int.md) values. ``` +
+ + + + + +[float](float.md) **monotonic_cubic_interpolate**\ (\ from\: [float](float.md), to\: [float](float.md), pre\: [float](float.md), post\: [float](float.md), weight\: [float](float.md)\ ) [🔗](#@GlobalScope_method_monotonic_cubic_interpolate) + +Performs monotonic cubic interpolation between `from` and `to`\\ + +using neighboring values `pre` and `post`. + +The interpolation factor `weight` is typically between 0.0 and 1.0. + + + +Unlike [cubic_interpolate()](@GlobalScope.md#@GlobalScope_method_cubic_interpolate), this method preserves monotonicity + +by automatically limiting tangents to prevent overshoot between key values. + +This makes it suitable for animation tracks and other data where values + +should not exceed surrounding keyframes. + +
+ + + + + +[float](float.md) **monotonic_cubic_interpolate_angle**\ (\ from\: [float](float.md), to\: [float](float.md), pre\: [float](float.md), post\: [float](float.md), weight\: [float](float.md)\ ) [🔗](#@GlobalScope_method_monotonic_cubic_interpolate_angle) + +Performs monotonic cubic interpolation between angular values, rotating + +along the shortest path between `from` and `to`. + + + +The neighboring angles `pre` and `post` are used to compute + +shape-preserving tangents while accounting for angle wrapping. + +This prevents overshoot while maintaining continuous rotation. + +See also [lerp_angle()](@GlobalScope.md#@GlobalScope_method_lerp_angle). + +
+ + + + + +[float](float.md) **monotonic_cubic_interpolate_angle_in_time**\ (\ from\: [float](float.md), to\: [float](float.md), pre\: [float](float.md), post\: [float](float.md), weight\: [float](float.md), to_t\: [float](float.md), pre_t\: [float](float.md), post_t\: [float](float.md)\ ) [🔗](#@GlobalScope_method_monotonic_cubic_interpolate_angle_in_time) + +Time-aware version of [monotonic_cubic_interpolate_angle()](@GlobalScope.md#@GlobalScope_method_monotonic_cubic_interpolate_angle). + + + +The interpolation factor is derived from the provided keyframe times, + +allowing unevenly spaced keyframes to influence tangent calculation. + +This produces consistent motion when animation keys are not uniformly + +distributed in time while still preventing overshoot. + +
+ + + + + +[float](float.md) **monotonic_cubic_interpolate_in_time**\ (\ from\: [float](float.md), to\: [float](float.md), pre\: [float](float.md), post\: [float](float.md), weight\: [float](float.md), to_t\: [float](float.md), pre_t\: [float](float.md), post_t\: [float](float.md)\ ) [🔗](#@GlobalScope_method_monotonic_cubic_interpolate_in_time) + +Time-aware version of [monotonic_cubic_interpolate()](@GlobalScope.md#@GlobalScope_method_monotonic_cubic_interpolate). + + + +The interpolation parameter is normalized using the supplied keyframe + +times, allowing interpolation to account for non-uniform spacing between + +values. Tangents are computed in a way that preserves monotonicity and + +prevents overshoot between keyframes. +
@@ -6036,7 +6142,25 @@ Maps a `value` from range ``[istart, istop]`` to ``[ostart, ostop]``. See also [ For complex use cases where multiple ranges are needed, consider using [Curve](Curve.md) or [Gradient](Gradient.md) instead. -\ **Note:** If ``istart == istop``, the return value is undefined (most likely NaN, INF, or -INF). +\ **Note:** If ``istart == istop``, the return value is undefined (most likely NaN, INF, or -INF). See also [remap_default()](@GlobalScope.md#@GlobalScope_method_remap_default). + +
+ + + + + +[float](float.md) **remap_default**\ (\ value\: [float](float.md), istart\: [float](float.md), istop\: [float](float.md), ostart\: [float](float.md), ostop\: [float](float.md), default_value\: [float](float.md)\ ) [🔗](#@GlobalScope_method_remap_default) + +Maps a `value` from range ``[istart, istop]`` to ``[ostart, ostop]`` and returns `default_value` if [remap()](@GlobalScope.md#@GlobalScope_method_remap) would've returned ``INF`` or ``NAN``. See also [remap()](@GlobalScope.md#@GlobalScope_method_remap), [lerp()](@GlobalScope.md#@GlobalScope_method_lerp) and [inverse_lerp()](@GlobalScope.md#@GlobalScope_method_inverse_lerp). If `value` is outside ``[istart, istop]``, then the resulting value will also be outside ``[ostart, ostop]``. If this is not desired, use [clamp()](@GlobalScope.md#@GlobalScope_method_clamp) on the result of this function. + +``` + remap_default(75, 0, 100, -1, 1, 3) # Returns 0.5 + remap_default(75, 0, 0, -1, 1, 3) # Returns 3.0 +``` + + +For complex use cases where multiple ranges are needed, consider using [Curve](Curve.md) or [Gradient](Gradient.md) instead.
diff --git a/docs/Classes/AimModifier3D.md b/docs/Classes/AimModifier3D.md index 266982ef..58289657 100644 --- a/docs/Classes/AimModifier3D.md +++ b/docs/Classes/AimModifier3D.md @@ -53,6 +53,10 @@ The feature is simplified, but instead it is implemented with smooth tracking wi [Axis](Vector3.md#enum_Vector3_Axis) [get_primary_rotation_axis](#AimModifier3D_method_get_primary_rotation_axis)\ (\ index\: [int](int.md)\ ) const + + [bool](bool.md) + [is_relative](#AimModifier3D_method_is_relative)\ (\ index\: [int](int.md)\ ) const + [bool](bool.md) [is_using_euler](#AimModifier3D_method_is_using_euler)\ (\ index\: [int](int.md)\ ) const @@ -69,6 +73,10 @@ The feature is simplified, but instead it is implemented with smooth tracking wi `void` [set_primary_rotation_axis](#AimModifier3D_method_set_primary_rotation_axis)\ (\ index\: [int](int.md), axis\: [Axis](Vector3.md#enum_Vector3_Axis)\ ) + + `void` + [set_relative](#AimModifier3D_method_set_relative)\ (\ index\: [int](int.md), enabled\: [bool](bool.md)\ ) + `void` [set_use_euler](#AimModifier3D_method_set_use_euler)\ (\ index\: [int](int.md), enabled\: [bool](bool.md)\ ) @@ -125,6 +133,16 @@ Returns the axis of the first rotation. It is enabled only if [is_using_euler()]
+ + + + +[bool](bool.md) **is_relative**\ (\ index\: [int](int.md)\ ) const [🔗](#AimModifier3D_method_is_relative) + +Returns ``true`` if the relative option is enabled in the setting at `index`. + +
+ @@ -165,6 +183,20 @@ Sets the axis of the first rotation. It is enabled only if [is_using_euler()](Ai
+ + + + +`void` **set_relative**\ (\ index\: [int](int.md), enabled\: [bool](bool.md)\ ) [🔗](#AimModifier3D_method_set_relative) + +Sets relative option in the setting at `index` to `enabled`. + +If sets `enabled` to ``true``, the rotation is applied relative to the pose. + +If sets `enabled` to ``false``, the rotation is applied relative to the rest. It means to replace the current pose with the **AimModifier3D**'s result. + +
+ diff --git a/docs/Classes/Animation.md b/docs/Classes/Animation.md index 644ba05c..bc50f1ea 100644 --- a/docs/Classes/Animation.md +++ b/docs/Classes/Animation.md @@ -504,7 +504,13 @@ Linear interpolation. [InterpolationType](Animation.md#enum_Animation_InterpolationType) **INTERPOLATION_CUBIC** = `2` -Cubic interpolation. This looks smoother than linear interpolation, but is more expensive to interpolate. Stick to [INTERPOLATION_LINEAR](Animation.md#Animation_constant_INTERPOLATION_LINEAR) for complex 3D animations imported from external software, even if it requires using a higher animation framerate in return. +Cubic interpolation. This looks smoother than linear interpolation, but is more expensive to interpolate. Stick to [INTERPOLATION_LINEAR](Animation.md#Animation_constant_INTERPOLATION_LINEAR) for complex 3D animations imported from external software, even if it requires using a higher animation framerate in return. + + + +[InterpolationType](Animation.md#enum_Animation_InterpolationType) **INTERPOLATION_CUBIC_MONOTONIC** = `5` + +Monotonic Cubic interpolation. This is an alternate version of [INTERPOLATION_CUBIC](Animation.md#Animation_constant_INTERPOLATION_CUBIC) that ensures no overshooting of key points. @@ -520,7 +526,13 @@ Linear interpolation with shortest path rotation. Cubic interpolation with shortest path rotation. -\ **Note:** The result value is always normalized and may not match the key value.
+\ **Note:** The result value is always normalized and may not match the key value. + + + +[InterpolationType](Animation.md#enum_Animation_InterpolationType) **INTERPOLATION_CUBIC_MONOTONIC_ANGLE** = `6` + +Monotonic Cubic interpolation with shortest path rotation.
diff --git a/docs/Classes/AudioStreamGeneratorPlayback.md b/docs/Classes/AudioStreamGeneratorPlayback.md index a3f78e4e..92b17478 100644 --- a/docs/Classes/AudioStreamGeneratorPlayback.md +++ b/docs/Classes/AudioStreamGeneratorPlayback.md @@ -25,7 +25,7 @@ This class is meant to be used with [AudioStreamGenerator](AudioStreamGenerator. - [Audio Generator Demo](https://godotengine.org/asset-library/asset/2759) -- [Redot 3.2 will get new audio features](https://godotengine.org/article/godot-32-will-get-new-audio-features) +- [Godot 3.2 will get new audio features](https://godotengine.org/article/godot-32-will-get-new-audio-features) diff --git a/docs/Classes/BaseMaterial3D.md b/docs/Classes/BaseMaterial3D.md index 79d7696f..27862378 100644 --- a/docs/Classes/BaseMaterial3D.md +++ b/docs/Classes/BaseMaterial3D.md @@ -2067,7 +2067,7 @@ If ``true``, the shader will keep the scale set for the mesh. Otherwise, the sca Controls how the object faces the camera. -\ **Note:** Billboard mode is not suitable for VR because the left-right vector of the camera is not horizontal when the screen is attached to your head instead of on the table. See [GitHub issue #41567](https://github.com/redot-engine/redot-engine/issues/41567) for details. +\ **Note:** Billboard mode is not suitable for VR because the left-right vector of the camera is not horizontal when the screen is attached to your head instead of on the table. See [GitHub issue #41567](https://github.com/godotengine/godot/issues/41567) for details.
@@ -2661,7 +2661,7 @@ If ``true``, flips the mesh's tangent vectors when interpreting the height map. If ``true``, interprets the height map texture as a depth map, with brighter values appearing to be "lower" in altitude compared to darker values. -This can be enabled for compatibility with some materials authored for Redot 3.x. This is not necessary if the Invert import option was used to invert the depth map in Redot 3.x, in which case [heightmap_flip_texture](BaseMaterial3D.md#BaseMaterial3D_property_heightmap_flip_texture) should remain ``false``. +This can be enabled for compatibility with some materials authored for Godot 3.x. This is not necessary if the Invert import option was used to invert the depth map in Godot 3.x, in which case [heightmap_flip_texture](BaseMaterial3D.md#BaseMaterial3D_property_heightmap_flip_texture) should remain ``false``.
diff --git a/docs/Classes/BoneConstraint3D.md b/docs/Classes/BoneConstraint3D.md index 62e3b5f8..376c1477 100644 --- a/docs/Classes/BoneConstraint3D.md +++ b/docs/Classes/BoneConstraint3D.md @@ -53,6 +53,14 @@ Base class of [SkeletonModifier3D](SkeletonModifier3D.md) that modifies the bone [String](String.md) [get_reference_bone_name](#BoneConstraint3D_method_get_reference_bone_name)\ (\ index\: [int](int.md)\ ) const + + [NodePath](NodePath.md) + [get_reference_node](#BoneConstraint3D_method_get_reference_node)\ (\ index\: [int](int.md)\ ) const + + + [ReferenceType](BoneConstraint3D.md#enum_BoneConstraint3D_ReferenceType) + [get_reference_type](#BoneConstraint3D_method_get_reference_type)\ (\ index\: [int](int.md)\ ) const + [int](int.md) [get_setting_count](#BoneConstraint3D_method_get_setting_count)\ (\ ) const @@ -77,6 +85,14 @@ Base class of [SkeletonModifier3D](SkeletonModifier3D.md) that modifies the bone `void` [set_reference_bone_name](#BoneConstraint3D_method_set_reference_bone_name)\ (\ index\: [int](int.md), bone_name\: [String](String.md)\ ) + + `void` + [set_reference_node](#BoneConstraint3D_method_set_reference_node)\ (\ index\: [int](int.md), node\: [NodePath](NodePath.md)\ ) + + + `void` + [set_reference_type](#BoneConstraint3D_method_set_reference_type)\ (\ index\: [int](int.md), type\: [ReferenceType](BoneConstraint3D.md#enum_BoneConstraint3D_ReferenceType)\ ) + `void` [set_setting_count](#BoneConstraint3D_method_set_setting_count)\ (\ count\: [int](int.md)\ ) @@ -88,6 +104,32 @@ Base class of [SkeletonModifier3D](SkeletonModifier3D.md) that modifies the bone +## Enumerations + + + + + +enum **ReferenceType**: [🔗](#enum_BoneConstraint3D_ReferenceType) + + + + + +[ReferenceType](BoneConstraint3D.md#enum_BoneConstraint3D_ReferenceType) **REFERENCE_TYPE_BONE** = `0` + +The reference target is a bone. In this case, the reference target spaces is local space. + + + +[ReferenceType](BoneConstraint3D.md#enum_BoneConstraint3D_ReferenceType) **REFERENCE_TYPE_NODE** = `1` + +The reference target is a [Node3D](Node3D.md). In this case, the reference target spaces is model space. + +In other words, the reference target's coordinates are treated as if it were placed directly under [Skeleton3D](Skeleton3D.md) which parent of the **BoneConstraint3D**.
+ + + ## Method Descriptions @@ -154,6 +196,28 @@ This bone will be only referenced and not modified by this modifier.
+ + + + +[NodePath](NodePath.md) **get_reference_node**\ (\ index\: [int](int.md)\ ) const [🔗](#BoneConstraint3D_method_get_reference_node) + +Returns the reference node path of the setting at `index`. + +This node will be only referenced and not modified by this modifier. + +
+ + + + + +[ReferenceType](BoneConstraint3D.md#enum_BoneConstraint3D_ReferenceType) **get_reference_type**\ (\ index\: [int](int.md)\ ) const [🔗](#BoneConstraint3D_method_get_reference_type) + +Returns the reference target type of the setting at `index`. See also [ReferenceType](BoneConstraint3D.md#enum_BoneConstraint3D_ReferenceType). + +
+ @@ -218,6 +282,28 @@ This bone will be only referenced and not modified by this modifier.
+ + + + +`void` **set_reference_node**\ (\ index\: [int](int.md), node\: [NodePath](NodePath.md)\ ) [🔗](#BoneConstraint3D_method_set_reference_node) + +Sets the reference node path of the setting at `index` to `node`. + +This node will be only referenced and not modified by this modifier. + +
+ + + + + +`void` **set_reference_type**\ (\ index\: [int](int.md), type\: [ReferenceType](BoneConstraint3D.md#enum_BoneConstraint3D_ReferenceType)\ ) [🔗](#BoneConstraint3D_method_set_reference_type) + +Sets the reference target type of the setting at `index` to `type`. See also [ReferenceType](BoneConstraint3D.md#enum_BoneConstraint3D_ReferenceType). + +
+ diff --git a/docs/Classes/BoneTwistDisperser3D.md b/docs/Classes/BoneTwistDisperser3D.md new file mode 100644 index 00000000..37729f35 --- /dev/null +++ b/docs/Classes/BoneTwistDisperser3D.md @@ -0,0 +1,563 @@ + + + + + + + + + +# BoneTwistDisperser3D + +**Inherits:** [SkeletonModifier3D](SkeletonModifier3D.md) **\<** [Node3D](Node3D.md) **\<** [Node](Node.md) **\<** [Object](Object.md) + +A node that propagates and disperses the child bone's twist to the parent bones. + + + +## Description + +This **BoneTwistDisperser3D** allows for smooth twist interpolation between multiple bones by dispersing the end bone's twist to the parents. This only changes the twist without changing the global position of each joint. + +This is useful for smoothly twisting bones in combination with [CopyTransformModifier3D](CopyTransformModifier3D.md) and IK. + +\ **Note:** If an extracted twist is greater than 180 degrees, flipping occurs. This is similar to [ConvertTransformModifier3D](ConvertTransformModifier3D.md). + + + +## Properties + + + + + + + + + + + + + + + + +
[bool](bool.md)[mutable_bone_axes](#BoneTwistDisperser3D_property_mutable_bone_axes)`true`
[int](int.md)[setting_count](#BoneTwistDisperser3D_property_setting_count)`0`
+ + + +## Methods + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
`void`[clear_settings](#BoneTwistDisperser3D_method_clear_settings)\ (\ )
[Curve](Curve.md)[get_damping_curve](#BoneTwistDisperser3D_method_get_damping_curve)\ (\ index\: [int](int.md)\ ) const
[DisperseMode](BoneTwistDisperser3D.md#enum_BoneTwistDisperser3D_DisperseMode)[get_disperse_mode](#BoneTwistDisperser3D_method_get_disperse_mode)\ (\ index\: [int](int.md)\ ) const
[int](int.md)[get_end_bone](#BoneTwistDisperser3D_method_get_end_bone)\ (\ index\: [int](int.md)\ ) const
[BoneDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_BoneDirection)[get_end_bone_direction](#BoneTwistDisperser3D_method_get_end_bone_direction)\ (\ index\: [int](int.md)\ ) const
[String](String.md)[get_end_bone_name](#BoneTwistDisperser3D_method_get_end_bone_name)\ (\ index\: [int](int.md)\ ) const
[int](int.md)[get_joint_bone](#BoneTwistDisperser3D_method_get_joint_bone)\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const
[String](String.md)[get_joint_bone_name](#BoneTwistDisperser3D_method_get_joint_bone_name)\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const
[int](int.md)[get_joint_count](#BoneTwistDisperser3D_method_get_joint_count)\ (\ index\: [int](int.md)\ ) const
[float](float.md)[get_joint_twist_amount](#BoneTwistDisperser3D_method_get_joint_twist_amount)\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const
[int](int.md)[get_reference_bone](#BoneTwistDisperser3D_method_get_reference_bone)\ (\ index\: [int](int.md)\ ) const
[String](String.md)[get_reference_bone_name](#BoneTwistDisperser3D_method_get_reference_bone_name)\ (\ index\: [int](int.md)\ ) const
[int](int.md)[get_root_bone](#BoneTwistDisperser3D_method_get_root_bone)\ (\ index\: [int](int.md)\ ) const
[String](String.md)[get_root_bone_name](#BoneTwistDisperser3D_method_get_root_bone_name)\ (\ index\: [int](int.md)\ ) const
[Quaternion](Quaternion.md)[get_twist_from](#BoneTwistDisperser3D_method_get_twist_from)\ (\ index\: [int](int.md)\ ) const
[float](float.md)[get_weight_position](#BoneTwistDisperser3D_method_get_weight_position)\ (\ index\: [int](int.md)\ ) const
[bool](bool.md)[is_end_bone_extended](#BoneTwistDisperser3D_method_is_end_bone_extended)\ (\ index\: [int](int.md)\ ) const
[bool](bool.md)[is_twist_from_rest](#BoneTwistDisperser3D_method_is_twist_from_rest)\ (\ index\: [int](int.md)\ ) const
`void`[set_damping_curve](#BoneTwistDisperser3D_method_set_damping_curve)\ (\ index\: [int](int.md), curve\: [Curve](Curve.md)\ )
`void`[set_disperse_mode](#BoneTwistDisperser3D_method_set_disperse_mode)\ (\ index\: [int](int.md), disperse_mode\: [DisperseMode](BoneTwistDisperser3D.md#enum_BoneTwistDisperser3D_DisperseMode)\ )
`void`[set_end_bone](#BoneTwistDisperser3D_method_set_end_bone)\ (\ index\: [int](int.md), bone\: [int](int.md)\ )
`void`[set_end_bone_direction](#BoneTwistDisperser3D_method_set_end_bone_direction)\ (\ index\: [int](int.md), bone_direction\: [BoneDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_BoneDirection)\ )
`void`[set_end_bone_name](#BoneTwistDisperser3D_method_set_end_bone_name)\ (\ index\: [int](int.md), bone_name\: [String](String.md)\ )
`void`[set_extend_end_bone](#BoneTwistDisperser3D_method_set_extend_end_bone)\ (\ index\: [int](int.md), enabled\: [bool](bool.md)\ )
`void`[set_joint_twist_amount](#BoneTwistDisperser3D_method_set_joint_twist_amount)\ (\ index\: [int](int.md), joint\: [int](int.md), twist_amount\: [float](float.md)\ )
`void`[set_root_bone](#BoneTwistDisperser3D_method_set_root_bone)\ (\ index\: [int](int.md), bone\: [int](int.md)\ )
`void`[set_root_bone_name](#BoneTwistDisperser3D_method_set_root_bone_name)\ (\ index\: [int](int.md), bone_name\: [String](String.md)\ )
`void`[set_twist_from](#BoneTwistDisperser3D_method_set_twist_from)\ (\ index\: [int](int.md), from\: [Quaternion](Quaternion.md)\ )
`void`[set_twist_from_rest](#BoneTwistDisperser3D_method_set_twist_from_rest)\ (\ index\: [int](int.md), enabled\: [bool](bool.md)\ )
`void`[set_weight_position](#BoneTwistDisperser3D_method_set_weight_position)\ (\ index\: [int](int.md), weight_position\: [float](float.md)\ )
+ +
+ + + +## Enumerations + + + + + +enum **DisperseMode**: [🔗](#enum_BoneTwistDisperser3D_DisperseMode) + + + + + +[DisperseMode](BoneTwistDisperser3D.md#enum_BoneTwistDisperser3D_DisperseMode) **DISPERSE_MODE_EVEN** = `0` + +Assign amounts so that they monotonically increase from ``0.0`` to ``1.0``, ensuring all weights are equal. For example, with five joints, the amounts would be ``0.2``, ``0.4``, ``0.6``, ``0.8``, and ``1.0`` starting from the root bone. + + + +[DisperseMode](BoneTwistDisperser3D.md#enum_BoneTwistDisperser3D_DisperseMode) **DISPERSE_MODE_WEIGHTED** = `1` + +Assign amounts so that they monotonically increase from ``0.0`` to ``1.0``, based on the length of the bones between joint segments. See also [set_weight_position()](BoneTwistDisperser3D.md#BoneTwistDisperser3D_method_set_weight_position). + + + +[DisperseMode](BoneTwistDisperser3D.md#enum_BoneTwistDisperser3D_DisperseMode) **DISPERSE_MODE_CUSTOM** = `2` + +You can assign arbitrary amounts to the joint list. See also [set_joint_twist_amount()](BoneTwistDisperser3D.md#BoneTwistDisperser3D_method_set_joint_twist_amount). + +When [is_end_bone_extended()](BoneTwistDisperser3D.md#BoneTwistDisperser3D_method_is_end_bone_extended) is ``false``, a child of the reference bone exists solely to determine the twist axis, so its custom amount has absolutely no effect at all.
+ + + +## Property Descriptions + + + + + +[bool](bool.md) **mutable_bone_axes** = `true` [🔗](#BoneTwistDisperser3D_property_mutable_bone_axes) + + + +- `void` **set_mutable_bone_axes**\ (\ value\: [bool](bool.md)\ ) +- [bool](bool.md) **are_bone_axes_mutable**\ (\ ) + +If ``true``, the solver retrieves the bone axis from the bone pose every frame. + +If ``false``, the solver retrieves the bone axis from the bone rest and caches it. + +
+ + + + + +[int](int.md) **setting_count** = `0` [🔗](#BoneTwistDisperser3D_property_setting_count) + + + +- `void` **set_setting_count**\ (\ value\: [int](int.md)\ ) +- [int](int.md) **get_setting_count**\ (\ ) + +The number of settings. + +
+ + + +## Method Descriptions + + + + + +`void` **clear_settings**\ (\ ) [🔗](#BoneTwistDisperser3D_method_clear_settings) + +Clears all settings. + +
+ + + + + +[Curve](Curve.md) **get_damping_curve**\ (\ index\: [int](int.md)\ ) const [🔗](#BoneTwistDisperser3D_method_get_damping_curve) + +Returns the damping curve when [get_disperse_mode()](BoneTwistDisperser3D.md#BoneTwistDisperser3D_method_get_disperse_mode) is [DISPERSE_MODE_CUSTOM](BoneTwistDisperser3D.md#BoneTwistDisperser3D_constant_DISPERSE_MODE_CUSTOM). + +
+ + + + + +[DisperseMode](BoneTwistDisperser3D.md#enum_BoneTwistDisperser3D_DisperseMode) **get_disperse_mode**\ (\ index\: [int](int.md)\ ) const [🔗](#BoneTwistDisperser3D_method_get_disperse_mode) + +Returns whether to use automatic amount assignment or to allow manual assignment. + +
+ + + + + +[int](int.md) **get_end_bone**\ (\ index\: [int](int.md)\ ) const [🔗](#BoneTwistDisperser3D_method_get_end_bone) + +Returns the end bone index of the bone chain. + +
+ + + + + +[BoneDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_BoneDirection) **get_end_bone_direction**\ (\ index\: [int](int.md)\ ) const [🔗](#BoneTwistDisperser3D_method_get_end_bone_direction) + +Returns the tail direction of the end bone of the bone chain when [is_end_bone_extended()](BoneTwistDisperser3D.md#BoneTwistDisperser3D_method_is_end_bone_extended) is ``true``. + +
+ + + + + +[String](String.md) **get_end_bone_name**\ (\ index\: [int](int.md)\ ) const [🔗](#BoneTwistDisperser3D_method_get_end_bone_name) + +Returns the end bone name of the bone chain. + +
+ + + + + +[int](int.md) **get_joint_bone**\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const [🔗](#BoneTwistDisperser3D_method_get_joint_bone) + +Returns the bone index at `joint` in the bone chain's joint list. + +
+ + + + + +[String](String.md) **get_joint_bone_name**\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const [🔗](#BoneTwistDisperser3D_method_get_joint_bone_name) + +Returns the bone name at `joint` in the bone chain's joint list. + +
+ + + + + +[int](int.md) **get_joint_count**\ (\ index\: [int](int.md)\ ) const [🔗](#BoneTwistDisperser3D_method_get_joint_count) + +Returns the joint count of the bone chain's joint list. + +
+ + + + + +[float](float.md) **get_joint_twist_amount**\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const [🔗](#BoneTwistDisperser3D_method_get_joint_twist_amount) + +Returns the twist amount at `joint` in the bone chain's joint list when [get_disperse_mode()](BoneTwistDisperser3D.md#BoneTwistDisperser3D_method_get_disperse_mode) is [DISPERSE_MODE_CUSTOM](BoneTwistDisperser3D.md#BoneTwistDisperser3D_constant_DISPERSE_MODE_CUSTOM). + +
+ + + + + +[int](int.md) **get_reference_bone**\ (\ index\: [int](int.md)\ ) const [🔗](#BoneTwistDisperser3D_method_get_reference_bone) + +Returns the reference bone to extract twist of the setting at `index`. + +This bone is either the end of the chain or its parent, depending on [is_end_bone_extended()](BoneTwistDisperser3D.md#BoneTwistDisperser3D_method_is_end_bone_extended). + +
+ + + + + +[String](String.md) **get_reference_bone_name**\ (\ index\: [int](int.md)\ ) const [🔗](#BoneTwistDisperser3D_method_get_reference_bone_name) + +Returns the reference bone name to extract twist of the setting at `index`. + +This bone is either the end of the chain or its parent, depending on [is_end_bone_extended()](BoneTwistDisperser3D.md#BoneTwistDisperser3D_method_is_end_bone_extended). + +
+ + + + + +[int](int.md) **get_root_bone**\ (\ index\: [int](int.md)\ ) const [🔗](#BoneTwistDisperser3D_method_get_root_bone) + +Returns the root bone index of the bone chain. + +
+ + + + + +[String](String.md) **get_root_bone_name**\ (\ index\: [int](int.md)\ ) const [🔗](#BoneTwistDisperser3D_method_get_root_bone_name) + +Returns the root bone name of the bone chain. + +
+ + + + + +[Quaternion](Quaternion.md) **get_twist_from**\ (\ index\: [int](int.md)\ ) const [🔗](#BoneTwistDisperser3D_method_get_twist_from) + +Returns the rotation to an arbitrary state before twisting for the current bone pose to extract the twist when [is_twist_from_rest()](BoneTwistDisperser3D.md#BoneTwistDisperser3D_method_is_twist_from_rest) is ``false``. + +
+ + + + + +[float](float.md) **get_weight_position**\ (\ index\: [int](int.md)\ ) const [🔗](#BoneTwistDisperser3D_method_get_weight_position) + +Returns the position at which to divide the segment between joints for weight assignment when [get_disperse_mode()](BoneTwistDisperser3D.md#BoneTwistDisperser3D_method_get_disperse_mode) is [DISPERSE_MODE_WEIGHTED](BoneTwistDisperser3D.md#BoneTwistDisperser3D_constant_DISPERSE_MODE_WEIGHTED). + +
+ + + + + +[bool](bool.md) **is_end_bone_extended**\ (\ index\: [int](int.md)\ ) const [🔗](#BoneTwistDisperser3D_method_is_end_bone_extended) + +Returns ``true`` if the end bone is extended to have a tail. + +
+ + + + + +[bool](bool.md) **is_twist_from_rest**\ (\ index\: [int](int.md)\ ) const [🔗](#BoneTwistDisperser3D_method_is_twist_from_rest) + +Returns ``true`` if extracting the twist amount from the difference between the bone rest and the current bone pose. + +
+ + + + + +`void` **set_damping_curve**\ (\ index\: [int](int.md), curve\: [Curve](Curve.md)\ ) [🔗](#BoneTwistDisperser3D_method_set_damping_curve) + +Sets the damping curve when [get_disperse_mode()](BoneTwistDisperser3D.md#BoneTwistDisperser3D_method_get_disperse_mode) is [DISPERSE_MODE_CUSTOM](BoneTwistDisperser3D.md#BoneTwistDisperser3D_constant_DISPERSE_MODE_CUSTOM). + +
+ + + + + +`void` **set_disperse_mode**\ (\ index\: [int](int.md), disperse_mode\: [DisperseMode](BoneTwistDisperser3D.md#enum_BoneTwistDisperser3D_DisperseMode)\ ) [🔗](#BoneTwistDisperser3D_method_set_disperse_mode) + +Sets whether to use automatic amount assignment or to allow manual assignment. + +
+ + + + + +`void` **set_end_bone**\ (\ index\: [int](int.md), bone\: [int](int.md)\ ) [🔗](#BoneTwistDisperser3D_method_set_end_bone) + +Sets the end bone index of the bone chain. + +
+ + + + + +`void` **set_end_bone_direction**\ (\ index\: [int](int.md), bone_direction\: [BoneDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_BoneDirection)\ ) [🔗](#BoneTwistDisperser3D_method_set_end_bone_direction) + +Sets the end bone tail direction of the bone chain when [is_end_bone_extended()](BoneTwistDisperser3D.md#BoneTwistDisperser3D_method_is_end_bone_extended) is ``true``. + +
+ + + + + +`void` **set_end_bone_name**\ (\ index\: [int](int.md), bone_name\: [String](String.md)\ ) [🔗](#BoneTwistDisperser3D_method_set_end_bone_name) + +Sets the end bone name of the bone chain. + +\ **Note:** The end bone must be a child of the root bone. + +
+ + + + + +`void` **set_extend_end_bone**\ (\ index\: [int](int.md), enabled\: [bool](bool.md)\ ) [🔗](#BoneTwistDisperser3D_method_set_extend_end_bone) + +If `enabled` is ``true``, the end bone is extended to have a tail. + +If `enabled` is ``false``, [get_reference_bone()](BoneTwistDisperser3D.md#BoneTwistDisperser3D_method_get_reference_bone) becomes a parent of the end bone and it uses the vector to the end bone as a twist axis. + +
+ + + + + +`void` **set_joint_twist_amount**\ (\ index\: [int](int.md), joint\: [int](int.md), twist_amount\: [float](float.md)\ ) [🔗](#BoneTwistDisperser3D_method_set_joint_twist_amount) + +Sets the twist amount at `joint` in the bone chain's joint list when [get_disperse_mode()](BoneTwistDisperser3D.md#BoneTwistDisperser3D_method_get_disperse_mode) is [DISPERSE_MODE_CUSTOM](BoneTwistDisperser3D.md#BoneTwistDisperser3D_constant_DISPERSE_MODE_CUSTOM). + +
+ + + + + +`void` **set_root_bone**\ (\ index\: [int](int.md), bone\: [int](int.md)\ ) [🔗](#BoneTwistDisperser3D_method_set_root_bone) + +Sets the root bone index of the bone chain. + +
+ + + + + +`void` **set_root_bone_name**\ (\ index\: [int](int.md), bone_name\: [String](String.md)\ ) [🔗](#BoneTwistDisperser3D_method_set_root_bone_name) + +Sets the root bone name of the bone chain. + +
+ + + + + +`void` **set_twist_from**\ (\ index\: [int](int.md), from\: [Quaternion](Quaternion.md)\ ) [🔗](#BoneTwistDisperser3D_method_set_twist_from) + +Sets the rotation to an arbitrary state before twisting for the current bone pose to extract the twist when [is_twist_from_rest()](BoneTwistDisperser3D.md#BoneTwistDisperser3D_method_is_twist_from_rest) is ``false``. + +In other words, by calling [set_twist_from()](BoneTwistDisperser3D.md#BoneTwistDisperser3D_method_set_twist_from) by [SkeletonModifier3D.modification_processed](SkeletonModifier3D.md#SkeletonModifier3D_signal_modification_processed) of a specific [SkeletonModifier3D](SkeletonModifier3D.md), you can extract only the twists generated by modifiers processed after that but before this **BoneTwistDisperser3D**. + +
+ + + + + +`void` **set_twist_from_rest**\ (\ index\: [int](int.md), enabled\: [bool](bool.md)\ ) [🔗](#BoneTwistDisperser3D_method_set_twist_from_rest) + +If `enabled` is ``true``, it extracts the twist amount from the difference between the bone rest and the current bone pose. + +If `enabled` is ``false``, it extracts the twist amount from the difference between [get_twist_from()](BoneTwistDisperser3D.md#BoneTwistDisperser3D_method_get_twist_from) and the current bone pose. See also [set_twist_from()](BoneTwistDisperser3D.md#BoneTwistDisperser3D_method_set_twist_from). + +
+ + + + + +`void` **set_weight_position**\ (\ index\: [int](int.md), weight_position\: [float](float.md)\ ) [🔗](#BoneTwistDisperser3D_method_set_weight_position) + +Sets the position at which to divide the segment between joints for weight assignment when [get_disperse_mode()](BoneTwistDisperser3D.md#BoneTwistDisperser3D_method_get_disperse_mode) is [DISPERSE_MODE_WEIGHTED](BoneTwistDisperser3D.md#BoneTwistDisperser3D_constant_DISPERSE_MODE_WEIGHTED). + +For example, when `weight_position` is ``0.5``, if two bone segments with a length of ``1.0`` exist between three joints, weights are assigned to each joint from root to end at ratios of ``0.5``, ``1.0``, and ``0.5``. Then amounts become ``0.25``, ``0.75``, and ``1.0`` respectively. + diff --git a/docs/Classes/CCDIK3D.md b/docs/Classes/CCDIK3D.md new file mode 100644 index 00000000..cb40f070 --- /dev/null +++ b/docs/Classes/CCDIK3D.md @@ -0,0 +1,25 @@ + + + + + + + + + +# CCDIK3D + +**Inherits:** [IterateIK3D](IterateIK3D.md) **\<** [ChainIK3D](ChainIK3D.md) **\<** [IKModifier3D](IKModifier3D.md) **\<** [SkeletonModifier3D](SkeletonModifier3D.md) **\<** [Node3D](Node3D.md) **\<** [Node](Node.md) **\<** [Object](Object.md) + +Rotation based cyclic coordinate descent inverse kinematics solver. + + + +## Description + +**CCDIK3D** is rotation based IK, enabling fast and effective tracking even with large joint rotations. It's especially suitable for chains with limitations, providing smoother and more stable target tracking compared to [FABRIK3D](FABRIK3D.md). + +The resulting twist around the forward vector will always be kept from the previous pose. + +\ **Note:** When the target is close to the root, it can cause unnatural movement, including joint flips and oscillations. + diff --git a/docs/Classes/CameraAttributes.md b/docs/Classes/CameraAttributes.md index 437dee4e..be2ea030 100644 --- a/docs/Classes/CameraAttributes.md +++ b/docs/Classes/CameraAttributes.md @@ -82,6 +82,8 @@ This is a pure virtual class that is inherited by [CameraAttributesPhysical](Cam If ``true``, enables the tonemapping auto exposure mode of the scene renderer. If ``true``, the renderer will automatically determine the exposure setting to adapt to the scene's illumination and the observed light. +\ **Note:** Auto-exposure is only supported in the Forward+ rendering method, not Mobile or Compatibility. +
diff --git a/docs/Classes/CameraAttributesPhysical.md b/docs/Classes/CameraAttributesPhysical.md index 6aaf0dc2..729a4842 100644 --- a/docs/Classes/CameraAttributesPhysical.md +++ b/docs/Classes/CameraAttributesPhysical.md @@ -25,6 +25,8 @@ The default settings are intended for use in an outdoor environment, tips for se \ **Note:** Depth of field blur is only supported in the Forward+ and Mobile rendering methods, not Compatibility. +\ **Note:** Auto-exposure is only supported in the Forward+ rendering method, not Mobile or Compatibility. + ## Tutorials diff --git a/docs/Classes/CameraAttributesPractical.md b/docs/Classes/CameraAttributesPractical.md index f7b2e471..4b53db8a 100644 --- a/docs/Classes/CameraAttributesPractical.md +++ b/docs/Classes/CameraAttributesPractical.md @@ -21,6 +21,10 @@ Controls camera-specific attributes such as auto-exposure, depth of field, and e When used in a [WorldEnvironment](WorldEnvironment.md) it provides default settings for exposure, auto-exposure, and depth of field that will be used by all cameras without their own [CameraAttributes](CameraAttributes.md), including the editor camera. When used in a [Camera3D](Camera3D.md) it will override any [CameraAttributes](CameraAttributes.md) set in the [WorldEnvironment](WorldEnvironment.md). When used in [VoxelGI](VoxelGI.md) or [LightmapGI](LightmapGI.md), only the exposure settings will be used. +\ **Note:** Depth of field blur is only supported in the Forward+ and Mobile rendering methods, not Compatibility. + +\ **Note:** Auto-exposure is only supported in the Forward+ rendering method, not Mobile or Compatibility. + ## Properties diff --git a/docs/Classes/CameraFeed.md b/docs/Classes/CameraFeed.md index 80706984..0dd4a3d6 100644 --- a/docs/Classes/CameraFeed.md +++ b/docs/Classes/CameraFeed.md @@ -21,7 +21,7 @@ A camera feed gives you access to a single physical camera attached to your devi \ **Note:** Many cameras will return YCbCr images which are split into two textures and need to be combined in a shader. Redot does this automatically for you if you set the environment to show the camera image in the background. -\ **Note:** This class is currently only implemented on Linux, Android, macOS, and iOS. On other platforms no **CameraFeed**\\ s will be available. To get a **CameraFeed** on iOS, the camera plugin from [Redot-ios-plugins](https://github.com/redot-engine/redot-ios-plugins) is required. +\ **Note:** This class is currently only implemented on Linux, Android, macOS, and iOS. On other platforms no **CameraFeed**\\ s will be available. To get a **CameraFeed** on iOS, the camera plugin from [godot-ios-plugins](https://github.com/godotengine/godot-ios-plugins) is required. diff --git a/docs/Classes/CameraServer.md b/docs/Classes/CameraServer.md index 20fb2556..25b02c7e 100644 --- a/docs/Classes/CameraServer.md +++ b/docs/Classes/CameraServer.md @@ -21,7 +21,7 @@ The **CameraServer** keeps track of different cameras accessible in Redot. These It is notably used to provide AR modules with a video feed from the camera. -\ **Note:** This class is currently only implemented on Linux, Android, macOS, and iOS. On other platforms no [CameraFeed](CameraFeed.md)\\ s will be available. To get a [CameraFeed](CameraFeed.md) on iOS, the camera plugin from [Redot-ios-plugins](https://github.com/redot-engine/redot-ios-plugins) is required. +\ **Note:** This class is currently only implemented on Linux, Android, macOS, and iOS. On other platforms no [CameraFeed](CameraFeed.md)\\ s will be available. To get a [CameraFeed](CameraFeed.md) on iOS, the camera plugin from [godot-ios-plugins](https://github.com/godotengine/godot-ios-plugins) is required. diff --git a/docs/Classes/ChainIK3D.md b/docs/Classes/ChainIK3D.md new file mode 100644 index 00000000..3fc78818 --- /dev/null +++ b/docs/Classes/ChainIK3D.md @@ -0,0 +1,280 @@ + + + + + + + + + +# ChainIK3D + +**Inherits:** [IKModifier3D](IKModifier3D.md) **\<** [SkeletonModifier3D](SkeletonModifier3D.md) **\<** [Node3D](Node3D.md) **\<** [Node](Node.md) **\<** [Object](Object.md) + +**Inherited By:** [IterateIK3D](IterateIK3D.md), [SplineIK3D](SplineIK3D.md) + +A [SkeletonModifier3D](SkeletonModifier3D.md) to apply inverse kinematics to bone chains containing an arbitrary number of bones. + + + +## Description + +Base class of [SkeletonModifier3D](SkeletonModifier3D.md) that automatically generates a joint list from the bones between the root bone and the end bone. + + + +## Methods + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
[int](int.md)[get_end_bone](#ChainIK3D_method_get_end_bone)\ (\ index\: [int](int.md)\ ) const
[BoneDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_BoneDirection)[get_end_bone_direction](#ChainIK3D_method_get_end_bone_direction)\ (\ index\: [int](int.md)\ ) const
[float](float.md)[get_end_bone_length](#ChainIK3D_method_get_end_bone_length)\ (\ index\: [int](int.md)\ ) const
[String](String.md)[get_end_bone_name](#ChainIK3D_method_get_end_bone_name)\ (\ index\: [int](int.md)\ ) const
[int](int.md)[get_joint_bone](#ChainIK3D_method_get_joint_bone)\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const
[String](String.md)[get_joint_bone_name](#ChainIK3D_method_get_joint_bone_name)\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const
[int](int.md)[get_joint_count](#ChainIK3D_method_get_joint_count)\ (\ index\: [int](int.md)\ ) const
[int](int.md)[get_root_bone](#ChainIK3D_method_get_root_bone)\ (\ index\: [int](int.md)\ ) const
[String](String.md)[get_root_bone_name](#ChainIK3D_method_get_root_bone_name)\ (\ index\: [int](int.md)\ ) const
[bool](bool.md)[is_end_bone_extended](#ChainIK3D_method_is_end_bone_extended)\ (\ index\: [int](int.md)\ ) const
`void`[set_end_bone](#ChainIK3D_method_set_end_bone)\ (\ index\: [int](int.md), bone\: [int](int.md)\ )
`void`[set_end_bone_direction](#ChainIK3D_method_set_end_bone_direction)\ (\ index\: [int](int.md), bone_direction\: [BoneDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_BoneDirection)\ )
`void`[set_end_bone_length](#ChainIK3D_method_set_end_bone_length)\ (\ index\: [int](int.md), length\: [float](float.md)\ )
`void`[set_end_bone_name](#ChainIK3D_method_set_end_bone_name)\ (\ index\: [int](int.md), bone_name\: [String](String.md)\ )
`void`[set_extend_end_bone](#ChainIK3D_method_set_extend_end_bone)\ (\ index\: [int](int.md), enabled\: [bool](bool.md)\ )
`void`[set_root_bone](#ChainIK3D_method_set_root_bone)\ (\ index\: [int](int.md), bone\: [int](int.md)\ )
`void`[set_root_bone_name](#ChainIK3D_method_set_root_bone_name)\ (\ index\: [int](int.md), bone_name\: [String](String.md)\ )
+ +
+ + + +## Method Descriptions + + + + + +[int](int.md) **get_end_bone**\ (\ index\: [int](int.md)\ ) const [🔗](#ChainIK3D_method_get_end_bone) + +Returns the end bone index of the bone chain. + +
+ + + + + +[BoneDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_BoneDirection) **get_end_bone_direction**\ (\ index\: [int](int.md)\ ) const [🔗](#ChainIK3D_method_get_end_bone_direction) + +Returns the tail direction of the end bone of the bone chain when [is_end_bone_extended()](ChainIK3D.md#ChainIK3D_method_is_end_bone_extended) is ``true``. + +
+ + + + + +[float](float.md) **get_end_bone_length**\ (\ index\: [int](int.md)\ ) const [🔗](#ChainIK3D_method_get_end_bone_length) + +Returns the end bone tail length of the bone chain when [is_end_bone_extended()](ChainIK3D.md#ChainIK3D_method_is_end_bone_extended) is ``true``. + +
+ + + + + +[String](String.md) **get_end_bone_name**\ (\ index\: [int](int.md)\ ) const [🔗](#ChainIK3D_method_get_end_bone_name) + +Returns the end bone name of the bone chain. + +
+ + + + + +[int](int.md) **get_joint_bone**\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const [🔗](#ChainIK3D_method_get_joint_bone) + +Returns the bone index at `joint` in the bone chain's joint list. + +
+ + + + + +[String](String.md) **get_joint_bone_name**\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const [🔗](#ChainIK3D_method_get_joint_bone_name) + +Returns the bone name at `joint` in the bone chain's joint list. + +
+ + + + + +[int](int.md) **get_joint_count**\ (\ index\: [int](int.md)\ ) const [🔗](#ChainIK3D_method_get_joint_count) + +Returns the joint count of the bone chain's joint list. + +
+ + + + + +[int](int.md) **get_root_bone**\ (\ index\: [int](int.md)\ ) const [🔗](#ChainIK3D_method_get_root_bone) + +Returns the root bone index of the bone chain. + +
+ + + + + +[String](String.md) **get_root_bone_name**\ (\ index\: [int](int.md)\ ) const [🔗](#ChainIK3D_method_get_root_bone_name) + +Returns the root bone name of the bone chain. + +
+ + + + + +[bool](bool.md) **is_end_bone_extended**\ (\ index\: [int](int.md)\ ) const [🔗](#ChainIK3D_method_is_end_bone_extended) + +Returns ``true`` if the end bone is extended to have a tail. + +
+ + + + + +`void` **set_end_bone**\ (\ index\: [int](int.md), bone\: [int](int.md)\ ) [🔗](#ChainIK3D_method_set_end_bone) + +Sets the end bone index of the bone chain. + +
+ + + + + +`void` **set_end_bone_direction**\ (\ index\: [int](int.md), bone_direction\: [BoneDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_BoneDirection)\ ) [🔗](#ChainIK3D_method_set_end_bone_direction) + +Sets the end bone tail direction of the bone chain when [is_end_bone_extended()](ChainIK3D.md#ChainIK3D_method_is_end_bone_extended) is ``true``. + +
+ + + + + +`void` **set_end_bone_length**\ (\ index\: [int](int.md), length\: [float](float.md)\ ) [🔗](#ChainIK3D_method_set_end_bone_length) + +Sets the end bone tail length of the bone chain when [is_end_bone_extended()](ChainIK3D.md#ChainIK3D_method_is_end_bone_extended) is ``true``. + +
+ + + + + +`void` **set_end_bone_name**\ (\ index\: [int](int.md), bone_name\: [String](String.md)\ ) [🔗](#ChainIK3D_method_set_end_bone_name) + +Sets the end bone name of the bone chain. + +\ **Note:** The end bone must be the root bone or a child of the root bone. If they are the same, the tail must be extended by [set_extend_end_bone()](ChainIK3D.md#ChainIK3D_method_set_extend_end_bone) to modify the bone. + +
+ + + + + +`void` **set_extend_end_bone**\ (\ index\: [int](int.md), enabled\: [bool](bool.md)\ ) [🔗](#ChainIK3D_method_set_extend_end_bone) + +If `enabled` is ``true``, the end bone is extended to have a tail. + +The extended tail config is allocated to the last element in the joint list. In other words, if you set `enabled` to ``false``, the config of the last element in the joint list has no effect in the simulated result. + +
+ + + + + +`void` **set_root_bone**\ (\ index\: [int](int.md), bone\: [int](int.md)\ ) [🔗](#ChainIK3D_method_set_root_bone) + +Sets the root bone index of the bone chain. + +
+ + + + + +`void` **set_root_bone_name**\ (\ index\: [int](int.md), bone_name\: [String](String.md)\ ) [🔗](#ChainIK3D_method_set_root_bone_name) + +Sets the root bone name of the bone chain. + diff --git a/docs/Classes/Color.md b/docs/Classes/Color.md index dd621aac..a15afad4 100644 --- a/docs/Classes/Color.md +++ b/docs/Classes/Color.md @@ -168,10 +168,14 @@ There are notable differences when using this API with C#. See the C# difference [Color](Color.md) - [blend](#Color_method_blend)\ (\ over\: [Color](Color.md)\ ) const + [apply_intensity](#Color_method_apply_intensity)\ (\ intensity\: [float](float.md)\ ) const + + [Color](Color.md) + [blend](#Color_method_blend)\ (\ over\: [Color](Color.md)\ ) const + [Color](Color.md) [clamp](#Color_method_clamp)\ (\ min\: [Color](Color.md) = Color(0, 0, 0, 0), max\: [Color](Color.md) = Color(1, 1, 1, 1)\ ) const @@ -1773,6 +1777,20 @@ Constructs a **Color** from RGBA values, typically between 0.0 and 1.0. ## Method Descriptions + + + + +[Color](Color.md) **apply_intensity**\ (\ intensity\: [float](float.md)\ ) const [🔗](#Color_method_apply_intensity) + +Adjusts the color's intensity by multiplying the RGB components with a factor derived from the given intensity. + +The factor is calculated as 2 raised to the power of the provided intensity value. + +The adjusted RGB values are clamped to the range ``0.0`` and ``1.0``. + +
+ diff --git a/docs/Classes/ColorPicker.md b/docs/Classes/ColorPicker.md index 59ecf302..688d268f 100644 --- a/docs/Classes/ColorPicker.md +++ b/docs/Classes/ColorPicker.md @@ -80,6 +80,11 @@ A widget that provides an interface for selecting or modifying a color. It can o [hex_visible](#ColorPicker_property_hex_visible) `true` + + [float](float.md) + [intensity](#ColorPicker_property_intensity) + `0.0` + [Color](Color.md) [old_color](#ColorPicker_property_old_color) @@ -562,6 +567,23 @@ If ``true``, the hex color code input field is visible.
+ + + + +[float](float.md) **intensity** = `0.0` [🔗](#ColorPicker_property_intensity) + + + +- `void` **set_intensity**\ (\ value\: [float](float.md)\ ) +- [float](float.md) **get_intensity**\ (\ ) + +The currently selected intensity. + +Note: ``set_intensity`` clamps the value in the range ``[-10.0, 10.0]`` + +
+ diff --git a/docs/Classes/ConvertTransformModifier3D.md b/docs/Classes/ConvertTransformModifier3D.md index 5c1e01ab..421084bf 100644 --- a/docs/Classes/ConvertTransformModifier3D.md +++ b/docs/Classes/ConvertTransformModifier3D.md @@ -37,6 +37,10 @@ There are 4 ways to apply the transform, depending on the combination of [set_re - Extract reference pose absolutely and the apply bone's pose is replaced with it. +\ **Note:** Relative option is available only in the case [BoneConstraint3D.get_reference_type()](BoneConstraint3D.md#BoneConstraint3D_method_get_reference_type) is [BoneConstraint3D.REFERENCE_TYPE_BONE](BoneConstraint3D.md#BoneConstraint3D_constant_REFERENCE_TYPE_BONE). See also [ReferenceType](BoneConstraint3D.md#enum_BoneConstraint3D_ReferenceType). + +\ **Note:** If there is a rotation greater than ``180`` degrees with constrained axes, flipping may occur. + ## Properties diff --git a/docs/Classes/CopyTransformModifier3D.md b/docs/Classes/CopyTransformModifier3D.md index e4b67e24..c9899c64 100644 --- a/docs/Classes/CopyTransformModifier3D.md +++ b/docs/Classes/CopyTransformModifier3D.md @@ -37,6 +37,8 @@ There are 4 ways to apply the transform, depending on the combination of [set_re - Extract reference pose absolutely and the apply bone's pose is replaced with it. +\ **Note:** Relative option is available only in the case [BoneConstraint3D.get_reference_type()](BoneConstraint3D.md#BoneConstraint3D_method_get_reference_type) is [BoneConstraint3D.REFERENCE_TYPE_BONE](BoneConstraint3D.md#BoneConstraint3D_constant_REFERENCE_TYPE_BONE). See also [ReferenceType](BoneConstraint3D.md#enum_BoneConstraint3D_ReferenceType). + ## Properties diff --git a/docs/Classes/Dictionary.md b/docs/Classes/Dictionary.md index acd5996e..d336f80b 100644 --- a/docs/Classes/Dictionary.md +++ b/docs/Classes/Dictionary.md @@ -562,6 +562,16 @@ Finds and returns the first key whose associated value is equal to `value`, or ` Returns the corresponding value for the given `key` in the dictionary. If the `key` does not exist, returns `default`, or ``null`` if the parameter is omitted. +\ **Note:** If the `default` argument is computationally expensive or has unwanted side effects, consider using the [has()](Dictionary.md#Dictionary_method_has) method instead: + +``` + # Always calls `expensive_function()`. + dict.get("key", expensive_function()) + # Calls `expensive_function()` only if the key does not exist. + dict.get("key") if dict.has("key") else expensive_function() +``` + +
diff --git a/docs/Classes/DirAccess.md b/docs/Classes/DirAccess.md index 6ef879c6..08213c96 100644 --- a/docs/Classes/DirAccess.md +++ b/docs/Classes/DirAccess.md @@ -527,7 +527,7 @@ Returns a [PackedStringArray](PackedStringArray.md) containing filenames of the Affected by [include_hidden](DirAccess.md#DirAccess_property_include_hidden). -\ **Note:** When used on a ``res://`` path in an exported project, only the files actually included in the PCK at the given folder level are returned. In practice, this means that since imported resources are stored in a top-level ``.Redot/`` folder, only paths to ``*.gd`` and ``*.import`` files are returned (plus a few files such as ``project.Redot`` or ``project.binary`` and the project icon). In an exported project, the list of returned files will also vary depending on whether [ProjectSettings.editor/export/convert_text_resources_to_binary](ProjectSettings.md#ProjectSettings_property_editor/export/convert_text_resources_to_binary) is ``true``. +\ **Note:** When used on a ``res://`` path in an exported project, only the files actually included in the PCK at the given folder level are returned. In practice, this means that since imported resources are stored in a top-level ``.godot/`` folder, only paths to ``*.gd`` and ``*.import`` files are returned (plus a few files such as ``project.godot`` or ``project.binary`` and the project icon). In an exported project, the list of returned files will also vary depending on whether [ProjectSettings.editor/export/convert_text_resources_to_binary](ProjectSettings.md#ProjectSettings_property_editor/export/convert_text_resources_to_binary) is ``true``.
@@ -541,7 +541,7 @@ Returns a [PackedStringArray](PackedStringArray.md) containing filenames of the Use [get_files()](DirAccess.md#DirAccess_method_get_files) if you want more control of what gets included. -\ **Note:** When used on a ``res://`` path in an exported project, only the files included in the PCK at the given folder level are returned. In practice, this means that since imported resources are stored in a top-level ``.Redot/`` folder, only paths to ``.gd`` and ``.import`` files are returned (plus a few other files, such as ``project.Redot`` or ``project.binary`` and the project icon). In an exported project, the list of returned files will also vary depending on [ProjectSettings.editor/export/convert_text_resources_to_binary](ProjectSettings.md#ProjectSettings_property_editor/export/convert_text_resources_to_binary). +\ **Note:** When used on a ``res://`` path in an exported project, only the files included in the PCK at the given folder level are returned. In practice, this means that since imported resources are stored in a top-level ``.godot/`` folder, only paths to ``.gd`` and ``.import`` files are returned (plus a few other files, such as ``project.godot`` or ``project.binary`` and the project icon). In an exported project, the list of returned files will also vary depending on [ProjectSettings.editor/export/convert_text_resources_to_binary](ProjectSettings.md#ProjectSettings_property_editor/export/convert_text_resources_to_binary).
diff --git a/docs/Classes/EditorExportPlatformAndroid.md b/docs/Classes/EditorExportPlatformAndroid.md index 7f4f32df..5aa16f64 100644 --- a/docs/Classes/EditorExportPlatformAndroid.md +++ b/docs/Classes/EditorExportPlatformAndroid.md @@ -1006,11 +1006,11 @@ If you're distributing your app via the Play Store, it's generally recommended t [Dictionary](Dictionary.md) **gradle_build/custom_theme_attributes** [🔗](#EditorExportPlatformAndroid_property_gradle_build/custom_theme_attributes) -A dictionary of custom theme attributes to include in the exported Android project. Each entry defines a theme attribute name and its value, and will be added to the **RedotAppMainTheme**. +A dictionary of custom theme attributes to include in the exported Android project. Each entry defines a theme attribute name and its value, and will be added to the **GodotAppMainTheme**. For example, the key ``android:windowSwipeToDismiss`` with the value ``false`` is resolved to ``<item name="android:windowSwipeToDismiss">false</item>``. -\ **Note:** To add a custom attribute to the **RedotAppSplashTheme**, prefix the attribute name with ``[splash]``. +\ **Note:** To add a custom attribute to the **GodotAppSplashTheme**, prefix the attribute name with ``[splash]``. \ **Note:** Reserved attributes configured via other export options or project settings cannot be overridden by ``custom_theme_attributes`` and are skipped during export. @@ -1084,7 +1084,7 @@ If ``true``, OpenGL ES debug context will be created (additional runtime checkin Path of the debug keystore file. -Can be overridden with the environment variable ``Redot_ANDROID_KEYSTORE_DEBUG_PATH``. +Can be overridden with the environment variable ``GODOT_ANDROID_KEYSTORE_DEBUG_PATH``. Fallbacks to ``EditorSettings.export/android/debug_keystore`` if empty. @@ -1098,7 +1098,7 @@ Fallbacks to ``EditorSettings.export/android/debug_keystore`` if empty. Password for the debug keystore file. -Can be overridden with the environment variable ``Redot_ANDROID_KEYSTORE_DEBUG_PASSWORD``. +Can be overridden with the environment variable ``GODOT_ANDROID_KEYSTORE_DEBUG_PASSWORD``. Fallbacks to ``EditorSettings.export/android/debug_keystore_pass`` if both it and [keystore/debug](EditorExportPlatformAndroid.md#EditorExportPlatformAndroid_property_keystore/debug) are empty. @@ -1112,7 +1112,7 @@ Fallbacks to ``EditorSettings.export/android/debug_keystore_pass`` if both it an User name for the debug keystore file. -Can be overridden with the environment variable ``Redot_ANDROID_KEYSTORE_DEBUG_USER``. +Can be overridden with the environment variable ``GODOT_ANDROID_KEYSTORE_DEBUG_USER``. Fallbacks to ``EditorSettings.export/android/debug_keystore_user`` if both it and [keystore/debug](EditorExportPlatformAndroid.md#EditorExportPlatformAndroid_property_keystore/debug) are empty. @@ -1126,7 +1126,7 @@ Fallbacks to ``EditorSettings.export/android/debug_keystore_user`` if both it an Path of the release keystore file. -Can be overridden with the environment variable ``Redot_ANDROID_KEYSTORE_RELEASE_PATH``. +Can be overridden with the environment variable ``GODOT_ANDROID_KEYSTORE_RELEASE_PATH``.
@@ -1138,7 +1138,7 @@ Can be overridden with the environment variable ``Redot_ANDROID_KEYSTORE_RELEASE Password for the release keystore file. -Can be overridden with the environment variable ``Redot_ANDROID_KEYSTORE_RELEASE_PASSWORD``. +Can be overridden with the environment variable ``GODOT_ANDROID_KEYSTORE_RELEASE_PASSWORD``.
@@ -1150,7 +1150,7 @@ Can be overridden with the environment variable ``Redot_ANDROID_KEYSTORE_RELEASE User name for the release keystore file. -Can be overridden with the environment variable ``Redot_ANDROID_KEYSTORE_RELEASE_USER``. +Can be overridden with the environment variable ``GODOT_ANDROID_KEYSTORE_RELEASE_USER``.
diff --git a/docs/Classes/EditorExportPlatformIOS.md b/docs/Classes/EditorExportPlatformIOS.md index a4f9ff8e..12afb6b4 100644 --- a/docs/Classes/EditorExportPlatformIOS.md +++ b/docs/Classes/EditorExportPlatformIOS.md @@ -1130,7 +1130,7 @@ Minimum version of iOS required for this application to run in the ``major.minor Name of the provisioning profile. Sets Xcode PROVISIONING_PROFILE_SPECIFIER for debug. [Used for manual provisioning](https://developer.apple.com/documentation/xcode/build-settings-reference#Provisioning-Profile). -Can be overridden with the environment variable ``Redot_APPLE_PLATFORM_PROFILE_SPECIFIER_DEBUG``. +Can be overridden with the environment variable ``GODOT_APPLE_PLATFORM_PROFILE_SPECIFIER_DEBUG``.
@@ -1142,7 +1142,7 @@ Can be overridden with the environment variable ``Redot_APPLE_PLATFORM_PROFILE_S Name of the provisioning profile. Sets Xcode PROVISIONING_PROFILE_SPECIFIER for release. [Used for manual provisioning](https://developer.apple.com/documentation/xcode/build-settings-reference#Provisioning-Profile). -Can be overridden with the environment variable ``Redot_APPLE_PLATFORM_PROFILE_SPECIFIER_RELEASE``. +Can be overridden with the environment variable ``GODOT_APPLE_PLATFORM_PROFILE_SPECIFIER_RELEASE``.
@@ -1154,7 +1154,7 @@ Can be overridden with the environment variable ``Redot_APPLE_PLATFORM_PROFILE_S UUID of the provisioning profile. If left empty, Xcode will download or create a provisioning profile automatically. See [Edit, download, or delete provisioning profiles](https://developer.apple.com/help/account/manage-profiles/edit-download-or-delete-profiles). -Can be overridden with the environment variable ``Redot_APPLE_PLATFORM_PROVISIONING_PROFILE_UUID_DEBUG``. +Can be overridden with the environment variable ``GODOT_APPLE_PLATFORM_PROVISIONING_PROFILE_UUID_DEBUG``.
@@ -1166,7 +1166,7 @@ Can be overridden with the environment variable ``Redot_APPLE_PLATFORM_PROVISION UUID of the provisioning profile. If left empty, Xcode will download or create a provisioning profile automatically. See [Edit, download, or delete provisioning profiles](https://developer.apple.com/help/account/manage-profiles/edit-download-or-delete-profiles). -Can be overridden with the environment variable ``Redot_APPLE_PLATFORM_PROVISIONING_PROFILE_UUID_RELEASE``. +Can be overridden with the environment variable ``GODOT_APPLE_PLATFORM_PROVISIONING_PROFILE_UUID_RELEASE``.
diff --git a/docs/Classes/EditorExportPlatformMacOS.md b/docs/Classes/EditorExportPlatformMacOS.md index c84b4b28..84655543 100644 --- a/docs/Classes/EditorExportPlatformMacOS.md +++ b/docs/Classes/EditorExportPlatformMacOS.md @@ -1154,7 +1154,7 @@ Apple Team ID, unique 10-character string. To locate your Team ID check "Members PKCS #12 certificate file used to sign ``.app`` bundle. -Can be overridden with the environment variable ``Redot_MACOS_CODESIGN_CERTIFICATE_FILE``. +Can be overridden with the environment variable ``GODOT_MACOS_CODESIGN_CERTIFICATE_FILE``.
@@ -1166,7 +1166,7 @@ Can be overridden with the environment variable ``Redot_MACOS_CODESIGN_CERTIFICA Password for the certificate file used to sign ``.app`` bundle. -Can be overridden with the environment variable ``Redot_MACOS_CODESIGN_CERTIFICATE_PASSWORD``. +Can be overridden with the environment variable ``GODOT_MACOS_CODESIGN_CERTIFICATE_PASSWORD``.
@@ -1478,7 +1478,7 @@ The "Full Name", "Common Name" or SHA-1 hash of the signing identity used to sig Provisioning profile file downloaded from Apple developer account dashboard. See [Edit, download, or delete provisioning profiles](https://developer.apple.com/help/account/manage-profiles/edit-download-or-delete-profiles). -Can be overridden with the environment variable ``Redot_MACOS_CODESIGN_PROVISIONING_PROFILE``. +Can be overridden with the environment variable ``GODOT_MACOS_CODESIGN_PROVISIONING_PROFILE``.
@@ -1540,7 +1540,7 @@ Application distribution target. Apple App Store Connect API issuer key file. -Can be overridden with the environment variable ``Redot_MACOS_NOTARIZATION_API_KEY``. +Can be overridden with the environment variable ``GODOT_MACOS_NOTARIZATION_API_KEY``.
@@ -1552,7 +1552,7 @@ Can be overridden with the environment variable ``Redot_MACOS_NOTARIZATION_API_K Apple App Store Connect API issuer key ID. -Can be overridden with the environment variable ``Redot_MACOS_NOTARIZATION_API_KEY_ID``. +Can be overridden with the environment variable ``GODOT_MACOS_NOTARIZATION_API_KEY_ID``.
@@ -1564,7 +1564,7 @@ Can be overridden with the environment variable ``Redot_MACOS_NOTARIZATION_API_K Apple App Store Connect API issuer UUID. -Can be overridden with the environment variable ``Redot_MACOS_NOTARIZATION_API_UUID``. +Can be overridden with the environment variable ``GODOT_MACOS_NOTARIZATION_API_UUID``.
@@ -1576,7 +1576,7 @@ Can be overridden with the environment variable ``Redot_MACOS_NOTARIZATION_API_U Apple ID account name (email address). -Can be overridden with the environment variable ``Redot_MACOS_NOTARIZATION_APPLE_ID_NAME``. +Can be overridden with the environment variable ``GODOT_MACOS_NOTARIZATION_APPLE_ID_NAME``.
@@ -1588,7 +1588,7 @@ Can be overridden with the environment variable ``Redot_MACOS_NOTARIZATION_APPLE Apple ID app-specific password. -Can be overridden with the environment variable ``Redot_MACOS_NOTARIZATION_APPLE_ID_PASSWORD``. +Can be overridden with the environment variable ``GODOT_MACOS_NOTARIZATION_APPLE_ID_PASSWORD``.
diff --git a/docs/Classes/EditorExportPlatformVisionOS.md b/docs/Classes/EditorExportPlatformVisionOS.md index ba89e94d..47a31575 100644 --- a/docs/Classes/EditorExportPlatformVisionOS.md +++ b/docs/Classes/EditorExportPlatformVisionOS.md @@ -917,7 +917,7 @@ There is currently no description for this property. Please help us by contribut Name of the provisioning profile. Sets XCode PROVISIONING_PROFILE_SPECIFIER for debug. [Used for manual provisioning](https://developer.apple.com/documentation/xcode/build-settings-reference#Provisioning-Profile). -Can be overridden with the environment variable ``Redot_APPLE_PLATFORM_PROFILE_SPECIFIER_DEBUG``. +Can be overridden with the environment variable ``GODOT_APPLE_PLATFORM_PROFILE_SPECIFIER_DEBUG``.
@@ -929,7 +929,7 @@ Can be overridden with the environment variable ``Redot_APPLE_PLATFORM_PROFILE_S Name of the provisioning profile. Sets XCode PROVISIONING_PROFILE_SPECIFIER for release. [Used for manual provisioning](https://developer.apple.com/documentation/xcode/build-settings-reference#Provisioning-Profile). -Can be overridden with the environment variable ``Redot_APPLE_PLATFORM_PROFILE_SPECIFIER_RELEASE``. +Can be overridden with the environment variable ``GODOT_APPLE_PLATFORM_PROFILE_SPECIFIER_RELEASE``.
@@ -941,7 +941,7 @@ Can be overridden with the environment variable ``Redot_APPLE_PLATFORM_PROFILE_S UUID of the provisioning profile. If left empty, Xcode will download or create a provisioning profile automatically. See [Edit, download, or delete provisioning profiles](https://developer.apple.com/help/account/manage-profiles/edit-download-or-delete-profiles). -Can be overridden with the environment variable ``Redot_APPLE_PLATFORM_PROVISIONING_PROFILE_UUID_DEBUG``. +Can be overridden with the environment variable ``GODOT_APPLE_PLATFORM_PROVISIONING_PROFILE_UUID_DEBUG``.
@@ -953,7 +953,7 @@ Can be overridden with the environment variable ``Redot_APPLE_PLATFORM_PROVISION UUID of the provisioning profile. If left empty, Xcode will download or create a provisioning profile automatically. See [Edit, download, or delete provisioning profiles](https://developer.apple.com/help/account/manage-profiles/edit-download-or-delete-profiles). -Can be overridden with the environment variable ``Redot_APPLE_PLATFORM_PROVISIONING_PROFILE_UUID_RELEASE``. +Can be overridden with the environment variable ``GODOT_APPLE_PLATFORM_PROVISIONING_PROFILE_UUID_RELEASE``.
diff --git a/docs/Classes/EditorExportPlatformWeb.md b/docs/Classes/EditorExportPlatformWeb.md index 89ec24ba..358dd736 100644 --- a/docs/Classes/EditorExportPlatformWeb.md +++ b/docs/Classes/EditorExportPlatformWeb.md @@ -111,7 +111,7 @@ The Web exporter customizes how a web build is handled. In the editor's "Export" [int](int.md) - [threads/Redot_pool_size](#EditorExportPlatformWeb_property_threads/Redot_pool_size) + [threads/godot_pool_size](#EditorExportPlatformWeb_property_threads/godot_pool_size) [bool](bool.md) @@ -354,11 +354,11 @@ The number of threads that emscripten will allocate at startup. A smaller value
- + -[int](int.md) **threads/Redot_pool_size** [🔗](#EditorExportPlatformWeb_property_threads/Redot_pool_size) +[int](int.md) **threads/godot_pool_size** [🔗](#EditorExportPlatformWeb_property_threads/godot_pool_size) Override for the default size of the [WorkerThreadPool](WorkerThreadPool.md). This setting is used when [ProjectSettings.threading/worker_pool/max_threads](ProjectSettings.md#ProjectSettings_property_threading/worker_pool/max_threads) size is set to -1 (which it is by default). This size must be smaller than [threads/emscripten_pool_size](EditorExportPlatformWeb.md#EditorExportPlatformWeb_property_threads/emscripten_pool_size) otherwise deadlocks may occur. diff --git a/docs/Classes/EditorExportPlatformWindows.md b/docs/Classes/EditorExportPlatformWindows.md index 7957fe92..48418253 100644 --- a/docs/Classes/EditorExportPlatformWindows.md +++ b/docs/Classes/EditorExportPlatformWindows.md @@ -406,7 +406,7 @@ If ``true``, executable signing is enabled. PKCS #12 certificate file used to sign executable or certificate SHA-1 hash (if [codesign/identity_type](EditorExportPlatformWindows.md#EditorExportPlatformWindows_property_codesign/identity_type) is set to "Use certificate store"). See [Sign Tool](https://learn.microsoft.com/en-us/dotnet/framework/tools/signtool-exe). -Can be overridden with the environment variable ``Redot_WINDOWS_CODESIGN_IDENTITY``. +Can be overridden with the environment variable ``GODOT_WINDOWS_CODESIGN_IDENTITY``.
@@ -418,7 +418,7 @@ Can be overridden with the environment variable ``Redot_WINDOWS_CODESIGN_IDENTIT Type of identity to use. See [Sign Tool](https://learn.microsoft.com/en-us/dotnet/framework/tools/signtool-exe). -Can be overridden with the environment variable ``Redot_WINDOWS_CODESIGN_IDENTITY_TYPE``. +Can be overridden with the environment variable ``GODOT_WINDOWS_CODESIGN_IDENTITY_TYPE``.
@@ -430,7 +430,7 @@ Can be overridden with the environment variable ``Redot_WINDOWS_CODESIGN_IDENTIT Password for the certificate file used to sign executable. See [Sign Tool](https://learn.microsoft.com/en-us/dotnet/framework/tools/signtool-exe). -Can be overridden with the environment variable ``Redot_WINDOWS_CODESIGN_PASSWORD``. +Can be overridden with the environment variable ``GODOT_WINDOWS_CODESIGN_PASSWORD``.
diff --git a/docs/Classes/EditorExportPlugin.md b/docs/Classes/EditorExportPlugin.md index 75717a04..6906749e 100644 --- a/docs/Classes/EditorExportPlugin.md +++ b/docs/Classes/EditorExportPlugin.md @@ -352,7 +352,7 @@ Calling [skip()](EditorExportPlugin.md#EditorExportPlugin_method_skip) inside th [PackedStringArray](PackedStringArray.md) **_get_android_dependencies**\ (\ platform\: [EditorExportPlatform](EditorExportPlatform.md), debug\: [bool](bool.md)\ ) virtual const [🔗](#EditorExportPlugin_private_method__get_android_dependencies) -Virtual method to be overridden by the user. This is called to retrieve the set of Android dependencies provided by this plugin. Each returned Android dependency should have the format of an Android remote binary dependency: ``org.Redot.example:my-plugin:0.0.0``\\ +Virtual method to be overridden by the user. This is called to retrieve the set of Android dependencies provided by this plugin. Each returned Android dependency should have the format of an Android remote binary dependency: ``org.godot.example:my-plugin:0.0.0``\\ For more information see [Android documentation on dependencies](https://developer.android.com/build/dependencies?agpversion=4.1#dependency-types). diff --git a/docs/Classes/EditorImportPlugin.md b/docs/Classes/EditorImportPlugin.md index 080060dc..6ab830cb 100644 --- a/docs/Classes/EditorImportPlugin.md +++ b/docs/Classes/EditorImportPlugin.md @@ -19,7 +19,7 @@ Registers a custom resource importer in the editor. Use the class to parse any f **EditorImportPlugin**\\ s 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. -EditorImportPlugins work by associating with specific file extensions and a resource type. See [_get_recognized_extensions()](EditorImportPlugin.md#EditorImportPlugin_private_method__get_recognized_extensions) and [_get_resource_type()](EditorImportPlugin.md#EditorImportPlugin_private_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 ``.Redot/imported`` directory (see [ProjectSettings.application/config/use_hidden_project_data_directory](ProjectSettings.md#ProjectSettings_property_application/config/use_hidden_project_data_directory)). +EditorImportPlugins work by associating with specific file extensions and a resource type. See [_get_recognized_extensions()](EditorImportPlugin.md#EditorImportPlugin_private_method__get_recognized_extensions) and [_get_resource_type()](EditorImportPlugin.md#EditorImportPlugin_private_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 ``.godot/imported`` directory (see [ProjectSettings.application/config/use_hidden_project_data_directory](ProjectSettings.md#ProjectSettings_property_application/config/use_hidden_project_data_directory)). Below is an example EditorImportPlugin that imports a [Mesh](Mesh.md) from a file with the extension ".special" or ".spec": @@ -371,7 +371,7 @@ Gets the Redot resource type associated with this loader. e.g. ``"Mesh"`` or ``" [String](String.md) **_get_save_extension**\ (\ ) virtual const [🔗](#EditorImportPlugin_private_method__get_save_extension) -Gets the extension used to save this resource in the ``.Redot/imported`` directory (see [ProjectSettings.application/config/use_hidden_project_data_directory](ProjectSettings.md#ProjectSettings_property_application/config/use_hidden_project_data_directory)). +Gets the extension used to save this resource in the ``.godot/imported`` directory (see [ProjectSettings.application/config/use_hidden_project_data_directory](ProjectSettings.md#ProjectSettings_property_application/config/use_hidden_project_data_directory)).
diff --git a/docs/Classes/EditorPaths.md b/docs/Classes/EditorPaths.md index 899827da..d2196e38 100644 --- a/docs/Classes/EditorPaths.md +++ b/docs/Classes/EditorPaths.md @@ -157,7 +157,7 @@ Returns ``true`` if the editor is marked as self-contained, ``false`` otherwise. Self-contained mode can be enabled by creating a file named ``._sc_`` or ``_sc_`` in the same folder as the editor binary or macOS .app bundle while the editor is not running. See also [get_self_contained_file()](EditorPaths.md#EditorPaths_method_get_self_contained_file). -\ **Note:** On macOS, quarantine flag should be manually removed before using self-contained mode, see [Running on macOS](https://docs.redotengine.org/en/stable/tutorials/export/running_on_macos.html). +\ **Note:** On macOS, quarantine flag should be manually removed before using self-contained mode, see [Running on macOS](https://docs.godotengine.org/en/stable/tutorials/export/running_on_macos.html). \ **Note:** On macOS, placing ``_sc_`` or any other file inside .app bundle will break digital signature and make it non-portable, consider placing it in the same folder as the .app bundle instead. diff --git a/docs/Classes/EditorScenePostImport.md b/docs/Classes/EditorScenePostImport.md index ea2ae1e9..204e0f34 100644 --- a/docs/Classes/EditorScenePostImport.md +++ b/docs/Classes/EditorScenePostImport.md @@ -51,7 +51,7 @@ The [_post_import()](EditorScenePostImport.md#EditorScenePostImport_private_meth [Tool] public partial class NodeRenamer : EditorScenePostImport { - public override RedotObject _PostImport(Node scene) + public override GodotObject _PostImport(Node scene) { // Change all node names to "modified_[oldnodename]" Iterate(scene); diff --git a/docs/Classes/EditorSettings.md b/docs/Classes/EditorSettings.md index 19e51c90..3eafd1b0 100644 --- a/docs/Classes/EditorSettings.md +++ b/docs/Classes/EditorSettings.md @@ -392,6 +392,10 @@ Accessing the settings can be done using the following methods, such as: [Color](Color.md) [editors/3d_gizmos/gizmo_colors/gridmap_grid](#EditorSettings_property_editors/3d_gizmos/gizmo_colors/gridmap_grid) + + [Color](Color.md) + [editors/3d_gizmos/gizmo_colors/ik_chain](#EditorSettings_property_editors/3d_gizmos/gizmo_colors/ik_chain) + [Color](Color.md) [editors/3d_gizmos/gizmo_colors/instantiated](#EditorSettings_property_editors/3d_gizmos/gizmo_colors/instantiated) @@ -1508,6 +1512,10 @@ Accessing the settings can be done using the following methods, such as: [String](String.md) [text_editor/external/exec_path](#EditorSettings_property_text_editor/external/exec_path) + + [bool](bool.md) + [text_editor/external/prefer_tabs_in_external_editor](#EditorSettings_property_text_editor/external/prefer_tabs_in_external_editor) + [bool](bool.md) [text_editor/external/use_external_editor](#EditorSettings_property_text_editor/external/use_external_editor) @@ -2774,6 +2782,16 @@ The 3D editor gizmo color for the [GridMap](GridMap.md) grid.
+ + + + +[Color](Color.md) **editors/3d_gizmos/gizmo_colors/ik_chain** [🔗](#EditorSettings_property_editors/3d_gizmos/gizmo_colors/ik_chain) + +The 3D editor gizmo color for the [IKModifier3D](IKModifier3D.md) guides. + +
+ @@ -4100,7 +4118,7 @@ Tab style of editor docks. The language to use for the editor interface. -Translations are provided by the community. If you spot a mistake, [contribute to editor translations on Weblate!](https://contributing.redotengine.org/en/latest/documentation/translation/index.html) +Translations are provided by the community. If you spot a mistake, [contribute to editor translations on Weblate!](https://contributing.godotengine.org/en/latest/documentation/translation/index.html)
@@ -4852,7 +4870,7 @@ The icon and font color scheme to use in the editor. The saturation to use for editor icons. Higher values result in more vibrant colors. -\ **Note:** The default editor icon saturation was increased by 30% in Redot 4.0 and later. To get Redot 3.x's icon saturation back, set [interface/theme/icon_saturation](EditorSettings.md#EditorSettings_property_interface/theme/icon_saturation) to ``0.77``. +\ **Note:** The default editor icon saturation was increased by 30% in Godot 4.0 and later. To get Godot 3.x's icon saturation back, set [interface/theme/icon_saturation](EditorSettings.md#EditorSettings_property_interface/theme/icon_saturation) to ``0.77``.
@@ -5676,7 +5694,7 @@ If ``true``, uses the characters in [text_editor/behavior/navigation/custom_word [bool](bool.md) **text_editor/behavior/navigation/use_default_word_separators** [🔗](#EditorSettings_property_text_editor/behavior/navigation/use_default_word_separators) -If ``true``, uses the characters in `` `!"#$%&'()*+,-./:;<=>?@[\]^`{|}~ ``, the Unicode General Punctuation table, and the Unicode CJK Punctuation table as word separators for word navigation and operations. If ``false``, a subset of these characters are used and does not include the characters ``<>$~^=+|``. This is in addition to custom characters if [text_editor/behavior/navigation/use_custom_word_separators](EditorSettings.md#EditorSettings_property_text_editor/behavior/navigation/use_custom_word_separators) is also enabled. These characters are used to determine where a word stops. Word navigation and operations include double-clicking on a word or holding :kbd:`Ctrl` (:kbd:`Cmd` on macOS) while pressing :kbd:`left`, :kbd:`right`, :kbd:`backspace`, or :kbd:`delete`. +If ``true``, uses the characters in ```!"#$%&'()*+,-./:;<=>?@[\]^`{|}~``, the Unicode General Punctuation table, and the Unicode CJK Punctuation table as word separators for word navigation and operations. If ``false``, a subset of these characters are used and does not include the characters ``<>$~^=+|``. This is in addition to custom characters if [text_editor/behavior/navigation/use_custom_word_separators](EditorSettings.md#EditorSettings_property_text_editor/behavior/navigation/use_custom_word_separators) is also enabled. These characters are used to determine where a word stops. Word navigation and operations include double-clicking on a word or holding :kbd:`Ctrl` (:kbd:`Cmd` on macOS) while pressing :kbd:`left`, :kbd:`right`, :kbd:`backspace`, or :kbd:`delete`.
@@ -5840,6 +5858,18 @@ The path to the text editor executable used to edit text files if [text_editor/e
+ + + + +[bool](bool.md) **text_editor/external/prefer_tabs_in_external_editor** [🔗](#EditorSettings_property_text_editor/external/prefer_tabs_in_external_editor) + +If set, this will instruct the editor to attempt to reopen previously open scripts as tabs in a single instance of the external editor, + +by passing them in as command line args instead of trying to launch a single instance for each script file. + +
+ @@ -6002,7 +6032,7 @@ The syntax theme to use in the script editor. You can save your own syntax theme from your current settings by using **File > Theme > Save As...** at the top of the script editor. The syntax theme will then be available locally in the list of color themes. -You can find additional syntax themes to install in the [Redot-syntax-themes](https://github.com/redot-engine/redot-syntax-themes) repository. +You can find additional syntax themes to install in the [godot-syntax-themes](https://github.com/godotengine/godot-syntax-themes) repository.
diff --git a/docs/Classes/Engine.md b/docs/Classes/Engine.md index f5237f01..15a36f76 100644 --- a/docs/Classes/Engine.md +++ b/docs/Classes/Engine.md @@ -103,11 +103,11 @@ The **Engine** singleton allows you to query and modify the project's run-time p [Dictionary](Dictionary.md) - [get_Redot_author_info](#Engine_method_get_Redot_author_info)\ (\ ) const + [get_godot_author_info](#Engine_method_get_godot_author_info)\ (\ ) const [Dictionary](Dictionary.md) - [get_Redot_compatible_version_info](#Engine_method_get_Redot_compatible_version_info)\ (\ ) const + [get_godot_compatible_version_info](#Engine_method_get_godot_compatible_version_info)\ (\ ) const [Dictionary](Dictionary.md) @@ -379,7 +379,7 @@ To detect whether the current build is 64-bit, or the type of architecture, don' Returns the engine author information as a [Dictionary](Dictionary.md), where each entry is an [Array](Array.md) of strings with the names of notable contributors to the Redot Engine: ``lead_developers``, ``founders``, ``project_managers``, and ``developers``. -See also [get_Redot_author_info()](Engine.md#Engine_method_get_Redot_author_info) for Redot's author info. +See also [get_godot_author_info()](Engine.md#Engine_method_get_godot_author_info) for Godot's author info.
@@ -435,11 +435,11 @@ Returns the average frames rendered every second (FPS), also known as the framer
- + -[Dictionary](Dictionary.md) **get_Redot_author_info**\ (\ ) const [🔗](#Engine_method_get_Redot_author_info) +[Dictionary](Dictionary.md) **get_godot_author_info**\ (\ ) const [🔗](#Engine_method_get_godot_author_info) Returns the engine author information for Redot as a [Dictionary](Dictionary.md), where each entry is an [Array](Array.md) of strings with the names of notable contributors to the Redot Engine: ``lead_developers``, ``founders``, ``project_managers``, and ``developers``. @@ -447,13 +447,13 @@ See also [get_author_info()](Engine.md#Engine_method_get_author_info) for Redot'
- + -[Dictionary](Dictionary.md) **get_Redot_compatible_version_info**\ (\ ) const [🔗](#Engine_method_get_Redot_compatible_version_info) +[Dictionary](Dictionary.md) **get_godot_compatible_version_info**\ (\ ) const [🔗](#Engine_method_get_godot_compatible_version_info) -Returns the current engine minimal version compatibility info in relation to Redot as a [Dictionary](Dictionary.md) containing the following entries: +Returns the current engine minimal version compatibility info in relation to Godot as a [Dictionary](Dictionary.md) containing the following entries: - ``major`` - Major version number as an int; @@ -477,17 +477,17 @@ The ``hex`` value is encoded as follows, from left to right: one byte for the ma ```gdscript - if Engine.get_Redot_compatible_version_info().hex >= 0x040100: - pass # Do things specifically based on Redot version 4.1 compatibility or later. + if Engine.get_godot_compatible_version_info().hex >= 0x040100: + pass # Do things specifically based on Godot version 4.1 compatibility or later. else: pass # Do things specific to versions before 4.1. ``` ```csharp - if ((int)Engine.GetRedotCompatibleVersionInfo()["hex"] >= 0x040100) + if ((int)Engine.GetGodotCompatibleVersionInfo()["hex"] >= 0x040100) { - // Do things specifically based on Redot version 4.1 compatibility or later. + // Do things specifically based on Godot version 4.1 compatibility or later. } else { @@ -717,7 +717,7 @@ The ``hex`` value is encoded as follows, from left to right: one byte for the ma -See also [get_Redot_compatible_version_info()](Engine.md#Engine_method_get_Redot_compatible_version_info) for Redot's minimal compatibility version info. +See also [get_godot_compatible_version_info()](Engine.md#Engine_method_get_godot_compatible_version_info) for Redot's minimal compatibility version info.
diff --git a/docs/Classes/Environment.md b/docs/Classes/Environment.md index 35ed09e6..19fe217d 100644 --- a/docs/Classes/Environment.md +++ b/docs/Classes/Environment.md @@ -707,7 +707,7 @@ Uses a film-like tonemapping curve to prevent clipping of bright values and prov Uses a high-contrast film-like tonemapping curve and desaturates bright values for a more realistic appearance. Slightly slower than [TONE_MAPPER_FILMIC](Environment.md#Environment_constant_TONE_MAPPER_FILMIC). -\ **Note:** This tonemapping operator is called "ACES Fitted" in Redot 3.x. +\ **Note:** This tonemapping operator is called "ACES Fitted" in Godot 3.x. diff --git a/docs/Classes/FABRIK3D.md b/docs/Classes/FABRIK3D.md new file mode 100644 index 00000000..bbf79565 --- /dev/null +++ b/docs/Classes/FABRIK3D.md @@ -0,0 +1,31 @@ + + + + + + + + + +# FABRIK3D + +**Inherits:** [IterateIK3D](IterateIK3D.md) **\<** [ChainIK3D](ChainIK3D.md) **\<** [IKModifier3D](IKModifier3D.md) **\<** [SkeletonModifier3D](SkeletonModifier3D.md) **\<** [Node3D](Node3D.md) **\<** [Node](Node.md) **\<** [Object](Object.md) + +Position based forward and backward reaching inverse kinematics solver. + + + +## Description + +**FABRIK3D** is position based IK, allowing precise and accurate tracking of targets. It's ideal for simple chains without limitations. + +The resulting twist around the forward vector will always be kept from the previous pose. + +\ **Note:** When the target is close to the root, it tends to produce zig-zag patterns, resulting in unnatural visual movement. + + + +## Tutorials + +- [Inverse Kinematics Returns to Godot 4.6 - IKModifier3D](https://godotengine.org/article/inverse-kinematics-returns-to-godot-4-6/#ikmodifier3d-and-7-child-classes) + diff --git a/docs/Classes/FileAccess.md b/docs/Classes/FileAccess.md index a25c494e..0ff4413a 100644 --- a/docs/Classes/FileAccess.md +++ b/docs/Classes/FileAccess.md @@ -977,7 +977,7 @@ Returns ``null`` if opening the file failed. You can use [get_open_error()](File Creates a new **FileAccess** object and opens a compressed file for reading or writing. -\ **Note:** [open_compressed()](FileAccess.md#FileAccess_method_open_compressed) can only read files that were saved by Redot, not third-party compression formats. See [GitHub issue #28999](https://github.com/redot-engine/redot-engine/issues/28999) for a workaround. +\ **Note:** [open_compressed()](FileAccess.md#FileAccess_method_open_compressed) can only read files that were saved by Redot, not third-party compression formats. See [GitHub issue #28999](https://github.com/godotengine/godot/issues/28999) for a workaround. Returns ``null`` if opening the file failed. You can use [get_open_error()](FileAccess.md#FileAccess_method_get_open_error) to check the error that occurred. diff --git a/docs/Classes/FoldableContainer.md b/docs/Classes/FoldableContainer.md index b699c96b..8ef4ac7e 100644 --- a/docs/Classes/FoldableContainer.md +++ b/docs/Classes/FoldableContainer.md @@ -288,7 +288,7 @@ The [FoldableGroup](FoldableGroup.md) associated with the container. When multip - `void` **set_folded**\ (\ value\: [bool](bool.md)\ ) - [bool](bool.md) **is_folded**\ (\ ) -If ``true``, the container will becomes folded and will hide all its children. +If ``true``, the container will become folded and will hide all its children.
diff --git a/docs/Classes/GDExtension.md b/docs/Classes/GDExtension.md index 0d0ac941..ba4f147d 100644 --- a/docs/Classes/GDExtension.md +++ b/docs/Classes/GDExtension.md @@ -27,7 +27,7 @@ The **GDExtension** resource type represents a [shared library](https://en.wikip - [GDExtension overview](../tutorials/scripting/gdextension/what_is_gdextension.md) -- [GDExtension example in C++](../tutorials/scripting/gdextension/gdextension_cpp_example.md) +- [GDExtension example in C++](../tutorials/scripting/cpp/gdextension_cpp_example.md) diff --git a/docs/Classes/GDExtensionManager.md b/docs/Classes/GDExtensionManager.md index c7b5d72d..30aa9918 100644 --- a/docs/Classes/GDExtensionManager.md +++ b/docs/Classes/GDExtensionManager.md @@ -27,7 +27,7 @@ The GDExtensionManager loads, initializes, and keeps track of all available [GDE - [GDExtension overview](../tutorials/scripting/gdextension/what_is_gdextension.md) -- [GDExtension example in C++](../tutorials/scripting/gdextension/gdextension_cpp_example.md) +- [GDExtension example in C++](../tutorials/scripting/cpp/gdextension_cpp_example.md) diff --git a/docs/Classes/GLTFDocument.md b/docs/Classes/GLTFDocument.md index 9e1a3c9f..77261551 100644 --- a/docs/Classes/GLTFDocument.md +++ b/docs/Classes/GLTFDocument.md @@ -98,7 +98,7 @@ GLTFDocument can be extended with arbitrary functionality by extending the [GLTF [GLTFObjectModelProperty](GLTFObjectModelProperty.md) - [export_object_model_property](#GLTFDocument_method_export_object_model_property)\ (\ state\: [GLTFState](GLTFState.md), node_path\: [NodePath](NodePath.md), Redot_node\: [Node](Node.md), gltf_node_index\: [int](int.md)\ ) static + [export_object_model_property](#GLTFDocument_method_export_object_model_property)\ (\ state\: [GLTFState](GLTFState.md), node_path\: [NodePath](NodePath.md), godot_node\: [Node](Node.md), gltf_node_index\: [int](int.md)\ ) static [PackedByteArray](PackedByteArray.md) @@ -149,7 +149,7 @@ enum **RootNodeMode**: [🔗](#enum_GLTFDocument_RootNodeMode) [RootNodeMode](GLTFDocument.md#enum_GLTFDocument_RootNodeMode) **ROOT_NODE_MODE_SINGLE_ROOT** = `0` -Treat the Redot scene's root node as the root node of the glTF file, and mark it as the single root node via the ``Redot_single_root`` glTF extension. This will be parsed the same as [ROOT_NODE_MODE_KEEP_ROOT](GLTFDocument.md#GLTFDocument_constant_ROOT_NODE_MODE_KEEP_ROOT) if the implementation does not support ``Redot_single_root``. +Treat the Redot scene's root node as the root node of the glTF file, and mark it as the single root node via the ``GODOT_single_root`` glTF extension. This will be parsed the same as [ROOT_NODE_MODE_KEEP_ROOT](GLTFDocument.md#GLTFDocument_constant_ROOT_NODE_MODE_KEEP_ROOT) if the implementation does not support ``GODOT_single_root``. @@ -331,7 +331,7 @@ Takes a Redot Engine scene node and exports it and its descendants to the given -[GLTFObjectModelProperty](GLTFObjectModelProperty.md) **export_object_model_property**\ (\ state\: [GLTFState](GLTFState.md), node_path\: [NodePath](NodePath.md), Redot_node\: [Node](Node.md), gltf_node_index\: [int](int.md)\ ) static [🔗](#GLTFDocument_method_export_object_model_property) +[GLTFObjectModelProperty](GLTFObjectModelProperty.md) **export_object_model_property**\ (\ state\: [GLTFState](GLTFState.md), node_path\: [NodePath](NodePath.md), godot_node\: [Node](Node.md), gltf_node_index\: [int](int.md)\ ) static [🔗](#GLTFDocument_method_export_object_model_property) Determines a mapping between the given Redot `node_path` and the corresponding glTF Object Model JSON pointer(s) in the generated glTF file. The details of this mapping are returned in a [GLTFObjectModelProperty](GLTFObjectModelProperty.md) object. Additional mappings can be supplied via the [GLTFDocumentExtension._import_object_model_property()](GLTFDocumentExtension.md#GLTFDocumentExtension_private_method__import_object_model_property) callback method. diff --git a/docs/Classes/GLTFDocumentExtension.md b/docs/Classes/GLTFDocumentExtension.md index ea328828..ddbafd54 100644 --- a/docs/Classes/GLTFDocumentExtension.md +++ b/docs/Classes/GLTFDocumentExtension.md @@ -49,7 +49,7 @@ To use, make a new class extending GLTFDocumentExtension, override any methods y [GLTFObjectModelProperty](GLTFObjectModelProperty.md) - [_export_object_model_property](#GLTFDocumentExtension_private_method__export_object_model_property)\ (\ state\: [GLTFState](GLTFState.md), node_path\: [NodePath](NodePath.md), Redot_node\: [Node](Node.md), gltf_node_index\: [int](int.md), target_object\: [Object](Object.md), target_depth\: [int](int.md)\ ) virtual + [_export_object_model_property](#GLTFDocumentExtension_private_method__export_object_model_property)\ (\ state\: [GLTFState](GLTFState.md), node_path\: [NodePath](NodePath.md), godot_node\: [Node](Node.md), gltf_node_index\: [int](int.md), target_object\: [Object](Object.md), target_depth\: [int](int.md)\ ) virtual [Error](@GlobalScope.md#enum_@GlobalScope_Error) @@ -168,13 +168,13 @@ This method can be used to modify the final JSON of each node. Data should be pr -[GLTFObjectModelProperty](GLTFObjectModelProperty.md) **_export_object_model_property**\ (\ state\: [GLTFState](GLTFState.md), node_path\: [NodePath](NodePath.md), Redot_node\: [Node](Node.md), gltf_node_index\: [int](int.md), target_object\: [Object](Object.md), target_depth\: [int](int.md)\ ) virtual [🔗](#GLTFDocumentExtension_private_method__export_object_model_property) +[GLTFObjectModelProperty](GLTFObjectModelProperty.md) **_export_object_model_property**\ (\ state\: [GLTFState](GLTFState.md), node_path\: [NodePath](NodePath.md), godot_node\: [Node](Node.md), gltf_node_index\: [int](int.md), target_object\: [Object](Object.md), target_depth\: [int](int.md)\ ) virtual [🔗](#GLTFDocumentExtension_private_method__export_object_model_property) Part of the export process. Allows GLTFDocumentExtension classes to provide mappings for properties of nodes in the Redot scene tree, to JSON pointers to glTF properties, as defined by the glTF object model. Returns a [GLTFObjectModelProperty](GLTFObjectModelProperty.md) instance that defines how the property should be mapped. If your extension can't handle the property, return ``null`` or an instance without any JSON pointers (see [GLTFObjectModelProperty.has_json_pointers()](GLTFObjectModelProperty.md#GLTFObjectModelProperty_method_has_json_pointers)). You should use [GLTFObjectModelProperty.set_types()](GLTFObjectModelProperty.md#GLTFObjectModelProperty_method_set_types) to set the types, and set the JSON pointer(s) using the [GLTFObjectModelProperty.json_pointers](GLTFObjectModelProperty.md#GLTFObjectModelProperty_property_json_pointers) property. -The parameters provide context for the property, including the NodePath, the Redot node, the GLTF node index, and the target object. The `target_object` will be equal to `Redot_node` if no sub-object can be found, otherwise it will point to a sub-object. For example, if the path is ``^"A/B/C/MeshInstance3D:mesh:surface_0/material:emission_intensity"``, it will get the node, then the mesh, and then the material, so `target_object` will be the [Material](Material.md) resource, and `target_depth` will be 2 because 2 levels were traversed to get to the target. +The parameters provide context for the property, including the NodePath, the Redot node, the GLTF node index, and the target object. The `target_object` will be equal to `godot_node` if no sub-object can be found, otherwise it will point to a sub-object. For example, if the path is ``^"A/B/C/MeshInstance3D:mesh:surface_0/material:emission_intensity"``, it will get the node, then the mesh, and then the material, so `target_object` will be the [Material](Material.md) resource, and `target_depth` will be 2 because 2 levels were traversed to get to the target.
diff --git a/docs/Classes/GLTFObjectModelProperty.md b/docs/Classes/GLTFObjectModelProperty.md index 2c0063fa..6688461f 100644 --- a/docs/Classes/GLTFObjectModelProperty.md +++ b/docs/Classes/GLTFObjectModelProperty.md @@ -39,14 +39,14 @@ The glTF property is identified by JSON pointer(s) stored in [json_pointers](GLT [Expression](Expression.md) - [gltf_to_Redot_expression](#GLTFObjectModelProperty_property_gltf_to_Redot_expression) + [gltf_to_godot_expression](#GLTFObjectModelProperty_property_gltf_to_godot_expression) [Expression](Expression.md) - [Redot_to_gltf_expression](#GLTFObjectModelProperty_property_Redot_to_gltf_expression) + [godot_to_gltf_expression](#GLTFObjectModelProperty_property_godot_to_gltf_expression) @@ -191,31 +191,31 @@ Object model type "int". Represented in the glTF JSON as a number, and encoded i ## Property Descriptions - + -[Expression](Expression.md) **gltf_to_Redot_expression** [🔗](#GLTFObjectModelProperty_property_gltf_to_Redot_expression) +[Expression](Expression.md) **gltf_to_godot_expression** [🔗](#GLTFObjectModelProperty_property_gltf_to_godot_expression) -- `void` **set_gltf_to_Redot_expression**\ (\ value\: [Expression](Expression.md)\ ) -- [Expression](Expression.md) **get_gltf_to_Redot_expression**\ (\ ) +- `void` **set_gltf_to_godot_expression**\ (\ value\: [Expression](Expression.md)\ ) +- [Expression](Expression.md) **get_gltf_to_godot_expression**\ (\ ) If set, this [Expression](Expression.md) will be used to convert the property value from the glTF object model to the value expected by the Redot property. This is useful when the glTF object model uses a different unit system, or when the data needs to be transformed in some way. If ``null``, the value will be copied as-is.
- + -[Expression](Expression.md) **Redot_to_gltf_expression** [🔗](#GLTFObjectModelProperty_property_Redot_to_gltf_expression) +[Expression](Expression.md) **godot_to_gltf_expression** [🔗](#GLTFObjectModelProperty_property_godot_to_gltf_expression) -- `void` **set_Redot_to_gltf_expression**\ (\ value\: [Expression](Expression.md)\ ) -- [Expression](Expression.md) **get_Redot_to_gltf_expression**\ (\ ) +- `void` **set_godot_to_gltf_expression**\ (\ value\: [Expression](Expression.md)\ ) +- [Expression](Expression.md) **get_godot_to_gltf_expression**\ (\ ) If set, this [Expression](Expression.md) will be used to convert the property value from the Redot property to the value expected by the glTF object model. This is useful when the glTF object model uses a different unit system, or when the data needs to be transformed in some way. If ``null``, the value will be copied as-is. diff --git a/docs/Classes/GLTFSkeleton.md b/docs/Classes/GLTFSkeleton.md index d6a730e8..6d3a33c7 100644 --- a/docs/Classes/GLTFSkeleton.md +++ b/docs/Classes/GLTFSkeleton.md @@ -61,11 +61,11 @@ There is currently no description for this class. Please help us by contributing [Dictionary](Dictionary.md) - [get_Redot_bone_node](#GLTFSkeleton_method_get_Redot_bone_node)\ (\ ) + [get_godot_bone_node](#GLTFSkeleton_method_get_godot_bone_node)\ (\ ) [Skeleton3D](Skeleton3D.md) - [get_Redot_skeleton](#GLTFSkeleton_method_get_Redot_skeleton)\ (\ ) + [get_godot_skeleton](#GLTFSkeleton_method_get_godot_skeleton)\ (\ ) [Array](Array.md)\[[String](String.md)\] @@ -73,7 +73,7 @@ There is currently no description for this class. Please help us by contributing `void` - [set_Redot_bone_node](#GLTFSkeleton_method_set_Redot_bone_node)\ (\ Redot_bone_node\: [Dictionary](Dictionary.md)\ ) + [set_godot_bone_node](#GLTFSkeleton_method_set_godot_bone_node)\ (\ godot_bone_node\: [Dictionary](Dictionary.md)\ ) `void` @@ -158,21 +158,21 @@ There is currently no description for this method. Please help us by contributin
- + -[Dictionary](Dictionary.md) **get_Redot_bone_node**\ (\ ) [🔗](#GLTFSkeleton_method_get_Redot_bone_node) +[Dictionary](Dictionary.md) **get_godot_bone_node**\ (\ ) [🔗](#GLTFSkeleton_method_get_godot_bone_node) Returns a [Dictionary](Dictionary.md) that maps skeleton bone indices to the indices of glTF nodes. This property is unused during import, and only set during export. In a glTF file, a bone is a node, so Redot converts skeleton bones to glTF nodes.
- + -[Skeleton3D](Skeleton3D.md) **get_Redot_skeleton**\ (\ ) [🔗](#GLTFSkeleton_method_get_Redot_skeleton) +[Skeleton3D](Skeleton3D.md) **get_godot_skeleton**\ (\ ) [🔗](#GLTFSkeleton_method_get_godot_skeleton)
There is currently no description for this method. Please help us by contributing one! @@ -194,11 +194,11 @@ There is currently no description for this method. Please help us by contributin
- + -`void` **set_Redot_bone_node**\ (\ Redot_bone_node\: [Dictionary](Dictionary.md)\ ) [🔗](#GLTFSkeleton_method_set_Redot_bone_node) +`void` **set_godot_bone_node**\ (\ godot_bone_node\: [Dictionary](Dictionary.md)\ ) [🔗](#GLTFSkeleton_method_set_godot_bone_node) Sets a [Dictionary](Dictionary.md) that maps skeleton bone indices to the indices of glTF nodes. This property is unused during import, and only set during export. In a glTF file, a bone is a node, so Redot converts skeleton bones to glTF nodes. diff --git a/docs/Classes/GLTFSkin.md b/docs/Classes/GLTFSkin.md index 925e2d5d..c240c78f 100644 --- a/docs/Classes/GLTFSkin.md +++ b/docs/Classes/GLTFSkin.md @@ -30,7 +30,7 @@ There is currently no description for this class. Please help us by contributing [Skin](Skin.md) - [Redot_skin](#GLTFSkin_property_Redot_skin) + [godot_skin](#GLTFSkin_property_godot_skin) @@ -109,16 +109,16 @@ There is currently no description for this class. Please help us by contributing ## Property Descriptions - + -[Skin](Skin.md) **Redot_skin** [🔗](#GLTFSkin_property_Redot_skin) +[Skin](Skin.md) **godot_skin** [🔗](#GLTFSkin_property_godot_skin) -- `void` **set_Redot_skin**\ (\ value\: [Skin](Skin.md)\ ) -- [Skin](Skin.md) **get_Redot_skin**\ (\ ) +- `void` **set_godot_skin**\ (\ value\: [Skin](Skin.md)\ ) +- [Skin](Skin.md) **get_godot_skin**\ (\ )
There is currently no description for this property. Please help us by contributing one! diff --git a/docs/Classes/GLTFState.md b/docs/Classes/GLTFState.md index 4ff07768..52c1b089 100644 --- a/docs/Classes/GLTFState.md +++ b/docs/Classes/GLTFState.md @@ -130,7 +130,7 @@ GLTFState can be populated by [GLTFDocument](GLTFDocument.md) reading a file or [int](int.md) - [append_gltf_node](#GLTFState_method_append_gltf_node)\ (\ gltf_node\: [GLTFNode](GLTFNode.md), Redot_scene_node\: [Node](Node.md), parent_node_index\: [int](int.md)\ ) + [append_gltf_node](#GLTFState_method_append_gltf_node)\ (\ gltf_node\: [GLTFNode](GLTFNode.md), godot_scene_node\: [Node](Node.md), parent_node_index\: [int](int.md)\ ) [Array](Array.md)\[[GLTFAccessor](GLTFAccessor.md)\] @@ -588,11 +588,11 @@ Appends the given byte array `data` to the buffers and creates a [GLTFBufferView -[int](int.md) **append_gltf_node**\ (\ gltf_node\: [GLTFNode](GLTFNode.md), Redot_scene_node\: [Node](Node.md), parent_node_index\: [int](int.md)\ ) [🔗](#GLTFState_method_append_gltf_node) +[int](int.md) **append_gltf_node**\ (\ gltf_node\: [GLTFNode](GLTFNode.md), godot_scene_node\: [Node](Node.md), parent_node_index\: [int](int.md)\ ) [🔗](#GLTFState_method_append_gltf_node) Appends the given [GLTFNode](GLTFNode.md) to the state, and returns its new index. This can be used to export one Redot node as multiple glTF nodes, or inject new glTF nodes at import time. On import, this must be called before [GLTFDocumentExtension._generate_scene_node()](GLTFDocumentExtension.md#GLTFDocumentExtension_private_method__generate_scene_node) finishes for the parent node. On export, this must be called before [GLTFDocumentExtension._export_node()](GLTFDocumentExtension.md#GLTFDocumentExtension_private_method__export_node) runs for the parent node. -The `Redot_scene_node` parameter is the Redot scene node that corresponds to this glTF node. This is highly recommended to be set to a valid node, but may be ``null`` if there is no corresponding Redot scene node. One Redot scene node may be used for multiple glTF nodes, so if exporting multiple glTF nodes for one Redot scene node, use the same Redot scene node for each. +The `godot_scene_node` parameter is the Redot scene node that corresponds to this glTF node. This is highly recommended to be set to a valid node, but may be ``null`` if there is no corresponding Redot scene node. One Redot scene node may be used for multiple glTF nodes, so if exporting multiple glTF nodes for one Redot scene node, use the same Redot scene node for each. The `parent_node_index` parameter is the index of the parent [GLTFNode](GLTFNode.md) in the state. If ``-1``, the node will be a root node, otherwise the new node will be added to the parent's list of children. The index will also be written to the [GLTFNode.parent](GLTFNode.md#GLTFNode_property_parent) property of the new node. diff --git a/docs/Classes/GridMap.md b/docs/Classes/GridMap.md index ffa3c57b..022cdfba 100644 --- a/docs/Classes/GridMap.md +++ b/docs/Classes/GridMap.md @@ -629,7 +629,21 @@ Generates a baked mesh that represents all meshes in the assigned [MeshLibrary]( [Vector3](Vector3.md) **map_to_local**\ (\ map_position\: [Vector3i](Vector3i.md)\ ) const [🔗](#GridMap_method_map_to_local) -Returns the position of a grid cell in the GridMap's local coordinate space. To convert the returned value into global coordinates, use [Node3D.to_global()](Node3D.md#Node3D_method_to_global). See also [local_to_map()](GridMap.md#GridMap_method_local_to_map). +Returns the position of a grid cell in the GridMap's local coordinate space. The returned position, for each axis, is either cell center or the cell edge closer to negative infinity, based on the values of [cell_center_x](GridMap.md#GridMap_property_cell_center_x), [cell_center_y](GridMap.md#GridMap_property_cell_center_y), [cell_center_z](GridMap.md#GridMap_property_cell_center_z). To convert the returned value into global coordinates, use [Node3D.to_global()](Node3D.md#Node3D_method_to_global). See also [local_to_map()](GridMap.md#GridMap_method_local_to_map). + +``` + # All examples for: cell_size = Vector3(2.0, 3.0, 4.0) + + # cell_center_x = true, cell_center_y = true, cell_center_z = true + map_to_local(Vector3i(0, 0, 0)) # Returns Vector3(1.0, 1.5, 2.0) + + # cell_center_x = false, cell_center_y = false, cell_center_z = false + map_to_local(Vector3i(0, 0, 0)) # Returns Vector3(0.0, 0.0, 0.0) + + # cell_center_x = true, cell_center_y = false, cell_center_z = true + map_to_local(Vector3i(0, 0, 0)) # Returns Vector3(1.0, 0.0, 2.0) +``` +
diff --git a/docs/Classes/HeightMapShape3D.md b/docs/Classes/HeightMapShape3D.md index af67ace5..7ae6eab4 100644 --- a/docs/Classes/HeightMapShape3D.md +++ b/docs/Classes/HeightMapShape3D.md @@ -17,7 +17,7 @@ A 3D height map shape used for physics collision. ## Description -A 3D heightmap shape, intended for use in physics. Usually used to provide a shape for a [CollisionShape3D](CollisionShape3D.md). This type is most commonly used for terrain with vertices placed in a fixed width grid. Due to the nature of the heightmap, it cannot be used to model overhangs or caves, which would require multiple vertices at the same vertical location. Holes can be punched through the collision by assigning [@GDScript.NAN](@GDScript.md#@GDScript_constant_NAN) to the height of the desired vertices (this is supported in both RedotPhysics3D and Jolt Physics). You could then insert meshes with their own separate collision to provide overhangs, caves, and so on. +A 3D heightmap shape, intended for use in physics. Usually used to provide a shape for a [CollisionShape3D](CollisionShape3D.md). This type is most commonly used for terrain with vertices placed in a fixed width grid. Due to the nature of the heightmap, it cannot be used to model overhangs or caves, which would require multiple vertices at the same vertical location. Holes can be punched through the collision by assigning [@GDScript.NAN](@GDScript.md#@GDScript_constant_NAN) to the height of the desired vertices (this is supported in both GodotPhysics3D and Jolt Physics). You could then insert meshes with their own separate collision to provide overhangs, caves, and so on. \ **Performance:** **HeightMapShape3D** is faster to check collisions against than [ConcavePolygonShape3D](ConcavePolygonShape3D.md), but it is significantly slower than primitive shapes like [BoxShape3D](BoxShape3D.md). diff --git a/docs/Classes/IKModifier3D.md b/docs/Classes/IKModifier3D.md new file mode 100644 index 00000000..ba625e15 --- /dev/null +++ b/docs/Classes/IKModifier3D.md @@ -0,0 +1,137 @@ + + + + + + + + + +# IKModifier3D + +**Inherits:** [SkeletonModifier3D](SkeletonModifier3D.md) **\<** [Node3D](Node3D.md) **\<** [Node](Node.md) **\<** [Object](Object.md) + +**Inherited By:** [ChainIK3D](ChainIK3D.md), [TwoBoneIK3D](TwoBoneIK3D.md) + +A node for inverse kinematics which may modify more than one bone. + + + +## Description + +Base class of [SkeletonModifier3D](SkeletonModifier3D.md)\\ s that has some joint lists and applies inverse kinematics. This class has some structs, enums, and helper methods which are useful to solve inverse kinematics. + + + +## Tutorials + +- [Inverse Kinematics Returns to Godot 4.6 - IKModifier3D](https://godotengine.org/article/inverse-kinematics-returns-to-godot-4-6/#ikmodifier3d-and-7-child-classes) + + + +## Properties + + + + + + + + + + + +
[bool](bool.md)[mutable_bone_axes](#IKModifier3D_property_mutable_bone_axes)`true`
+ + + +## Methods + + + + + + + + + + + + + + + + + + + + + + +
`void`[clear_settings](#IKModifier3D_method_clear_settings)\ (\ )
[int](int.md)[get_setting_count](#IKModifier3D_method_get_setting_count)\ (\ ) const
`void`[reset](#IKModifier3D_method_reset)\ (\ )
`void`[set_setting_count](#IKModifier3D_method_set_setting_count)\ (\ count\: [int](int.md)\ )
+ +
+ + + +## Property Descriptions + + + + + +[bool](bool.md) **mutable_bone_axes** = `true` [🔗](#IKModifier3D_property_mutable_bone_axes) + + + +- `void` **set_mutable_bone_axes**\ (\ value\: [bool](bool.md)\ ) +- [bool](bool.md) **are_bone_axes_mutable**\ (\ ) + +If ``true``, the solver retrieves the bone axis from the bone pose every frame. + +If ``false``, the solver retrieves the bone axis from the bone rest and caches it, which increases performance slightly, but position changes in the bone pose made before processing this **IKModifier3D** are ignored. + +
+ + + +## Method Descriptions + + + + + +`void` **clear_settings**\ (\ ) [🔗](#IKModifier3D_method_clear_settings) + +Clears all settings. + +
+ + + + + +[int](int.md) **get_setting_count**\ (\ ) const [🔗](#IKModifier3D_method_get_setting_count) + +Returns the number of settings. + +
+ + + + + +`void` **reset**\ (\ ) [🔗](#IKModifier3D_method_reset) + +Resets a state with respect to the current bone pose. + +
+ + + + + +`void` **set_setting_count**\ (\ count\: [int](int.md)\ ) [🔗](#IKModifier3D_method_set_setting_count) + +Sets the number of settings. + diff --git a/docs/Classes/IterateIK3D.md b/docs/Classes/IterateIK3D.md new file mode 100644 index 00000000..731103e6 --- /dev/null +++ b/docs/Classes/IterateIK3D.md @@ -0,0 +1,379 @@ + + + + + + + + + +# IterateIK3D + +**Inherits:** [ChainIK3D](ChainIK3D.md) **\<** [IKModifier3D](IKModifier3D.md) **\<** [SkeletonModifier3D](SkeletonModifier3D.md) **\<** [Node3D](Node3D.md) **\<** [Node](Node.md) **\<** [Object](Object.md) + +**Inherited By:** [CCDIK3D](CCDIK3D.md), [FABRIK3D](FABRIK3D.md), [JacobianIK3D](JacobianIK3D.md) + +A [SkeletonModifier3D](SkeletonModifier3D.md) to approach the goal by repeating small rotations. + + + +## Description + +Base class of [SkeletonModifier3D](SkeletonModifier3D.md) to approach the goal by repeating small rotations. + +Each bone chain (setting) has one effector, which is processed in order of the setting list. You can set some limitations for each joint. + + + +## Properties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
[float](float.md)[angular_delta_limit](#IterateIK3D_property_angular_delta_limit)`0.034906585`
[bool](bool.md)[deterministic](#IterateIK3D_property_deterministic)`false`
[int](int.md)[max_iterations](#IterateIK3D_property_max_iterations)`4`
[float](float.md)[min_distance](#IterateIK3D_property_min_distance)`0.001`
[int](int.md)[setting_count](#IterateIK3D_property_setting_count)`0`
+ + + +## Methods + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
[JointLimitation3D](JointLimitation3D.md)[get_joint_limitation](#IterateIK3D_method_get_joint_limitation)\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const
[SecondaryDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_SecondaryDirection)[get_joint_limitation_right_axis](#IterateIK3D_method_get_joint_limitation_right_axis)\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const
[Vector3](Vector3.md)[get_joint_limitation_right_axis_vector](#IterateIK3D_method_get_joint_limitation_right_axis_vector)\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const
[Quaternion](Quaternion.md)[get_joint_limitation_rotation_offset](#IterateIK3D_method_get_joint_limitation_rotation_offset)\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const
[RotationAxis](SkeletonModifier3D.md#enum_SkeletonModifier3D_RotationAxis)[get_joint_rotation_axis](#IterateIK3D_method_get_joint_rotation_axis)\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const
[Vector3](Vector3.md)[get_joint_rotation_axis_vector](#IterateIK3D_method_get_joint_rotation_axis_vector)\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const
[NodePath](NodePath.md)[get_target_node](#IterateIK3D_method_get_target_node)\ (\ index\: [int](int.md)\ ) const
`void`[set_joint_limitation](#IterateIK3D_method_set_joint_limitation)\ (\ index\: [int](int.md), joint\: [int](int.md), limitation\: [JointLimitation3D](JointLimitation3D.md)\ )
`void`[set_joint_limitation_right_axis](#IterateIK3D_method_set_joint_limitation_right_axis)\ (\ index\: [int](int.md), joint\: [int](int.md), direction\: [SecondaryDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_SecondaryDirection)\ )
`void`[set_joint_limitation_right_axis_vector](#IterateIK3D_method_set_joint_limitation_right_axis_vector)\ (\ index\: [int](int.md), joint\: [int](int.md), vector\: [Vector3](Vector3.md)\ )
`void`[set_joint_limitation_rotation_offset](#IterateIK3D_method_set_joint_limitation_rotation_offset)\ (\ index\: [int](int.md), joint\: [int](int.md), offset\: [Quaternion](Quaternion.md)\ )
`void`[set_joint_rotation_axis](#IterateIK3D_method_set_joint_rotation_axis)\ (\ index\: [int](int.md), joint\: [int](int.md), axis\: [RotationAxis](SkeletonModifier3D.md#enum_SkeletonModifier3D_RotationAxis)\ )
`void`[set_joint_rotation_axis_vector](#IterateIK3D_method_set_joint_rotation_axis_vector)\ (\ index\: [int](int.md), joint\: [int](int.md), axis_vector\: [Vector3](Vector3.md)\ )
`void`[set_target_node](#IterateIK3D_method_set_target_node)\ (\ index\: [int](int.md), target_node\: [NodePath](NodePath.md)\ )
+ +
+ + + +## Property Descriptions + + + + + +[float](float.md) **angular_delta_limit** = `0.034906585` [🔗](#IterateIK3D_property_angular_delta_limit) + + + +- `void` **set_angular_delta_limit**\ (\ value\: [float](float.md)\ ) +- [float](float.md) **get_angular_delta_limit**\ (\ ) + +The maximum amount each bone can rotate in a single iteration. + +\ **Note:** This limitation is applied during each iteration. For example, if [max_iterations](IterateIK3D.md#IterateIK3D_property_max_iterations) is ``4`` and [angular_delta_limit](IterateIK3D.md#IterateIK3D_property_angular_delta_limit) is ``5`` degrees, the maximum rotation possible in a single frame is ``20`` degrees. + +
+ + + + + +[bool](bool.md) **deterministic** = `false` [🔗](#IterateIK3D_property_deterministic) + + + +- `void` **set_deterministic**\ (\ value\: [bool](bool.md)\ ) +- [bool](bool.md) **is_deterministic**\ (\ ) + +If ``false``, the result is calculated from the previous frame's **IterateIK3D** result as the initial state. + +If ``true``, the previous frame's **IterateIK3D** result is discarded. At this point, the new result is calculated from the bone pose excluding the **IterateIK3D** as the initial state. This means the result will be always equal as long as the target position and the previous bone pose are the same. However, if [angular_delta_limit](IterateIK3D.md#IterateIK3D_property_angular_delta_limit) and [max_iterations](IterateIK3D.md#IterateIK3D_property_max_iterations) are set too small, the end bone of the chain will never reach the target. + +
+ + + + + +[int](int.md) **max_iterations** = `4` [🔗](#IterateIK3D_property_max_iterations) + + + +- `void` **set_max_iterations**\ (\ value\: [int](int.md)\ ) +- [int](int.md) **get_max_iterations**\ (\ ) + +The number of iteration loops used by the IK solver to produce more accurate results. + +
+ + + + + +[float](float.md) **min_distance** = `0.001` [🔗](#IterateIK3D_property_min_distance) + + + +- `void` **set_min_distance**\ (\ value\: [float](float.md)\ ) +- [float](float.md) **get_min_distance**\ (\ ) + +The minimum distance between the end bone and the target. If the distance is below this value, the IK solver stops any further iterations. + +
+ + + + + +[int](int.md) **setting_count** = `0` [🔗](#IterateIK3D_property_setting_count) + + + +- `void` **set_setting_count**\ (\ value\: [int](int.md)\ ) +- [int](int.md) **get_setting_count**\ (\ ) + +The number of settings. + +
+ + + +## Method Descriptions + + + + + +[JointLimitation3D](JointLimitation3D.md) **get_joint_limitation**\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const [🔗](#IterateIK3D_method_get_joint_limitation) + +Returns the joint limitation at `joint` in the bone chain's joint list. + +
+ + + + + +[SecondaryDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_SecondaryDirection) **get_joint_limitation_right_axis**\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const [🔗](#IterateIK3D_method_get_joint_limitation_right_axis) + +Returns the joint limitation right axis at `joint` in the bone chain's joint list. + +
+ + + + + +[Vector3](Vector3.md) **get_joint_limitation_right_axis_vector**\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const [🔗](#IterateIK3D_method_get_joint_limitation_right_axis_vector) + +Returns the joint limitation right axis vector at `joint` in the bone chain's joint list. + +If [get_joint_limitation_right_axis()](IterateIK3D.md#IterateIK3D_method_get_joint_limitation_right_axis) is [SkeletonModifier3D.SECONDARY_DIRECTION_NONE](SkeletonModifier3D.md#SkeletonModifier3D_constant_SECONDARY_DIRECTION_NONE), this method returns ``Vector3(0, 0, 0)``. + +
+ + + + + +[Quaternion](Quaternion.md) **get_joint_limitation_rotation_offset**\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const [🔗](#IterateIK3D_method_get_joint_limitation_rotation_offset) + +Returns the joint limitation rotation offset at `joint` in the bone chain's joint list. + +Rotation is done in the local space which is constructed by the bone direction (in general parent to child) as the +Y axis and [get_joint_limitation_right_axis_vector()](IterateIK3D.md#IterateIK3D_method_get_joint_limitation_right_axis_vector) as the +X axis. + +If the +X and +Y axes are not orthogonal, the +X axis is implicitly modified to make it orthogonal. + +Also, if the length of [get_joint_limitation_right_axis_vector()](IterateIK3D.md#IterateIK3D_method_get_joint_limitation_right_axis_vector) is zero, the space is created by rotating the bone rest using the shortest arc that rotates the +Y axis of the bone rest to match the bone direction. + +
+ + + + + +[RotationAxis](SkeletonModifier3D.md#enum_SkeletonModifier3D_RotationAxis) **get_joint_rotation_axis**\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const [🔗](#IterateIK3D_method_get_joint_rotation_axis) + +Returns the rotation axis at `joint` in the bone chain's joint list. + +
+ + + + + +[Vector3](Vector3.md) **get_joint_rotation_axis_vector**\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const [🔗](#IterateIK3D_method_get_joint_rotation_axis_vector) + +Returns the rotation axis vector for the specified joint in the bone chain. This vector represents the axis around which the joint can rotate. It is determined based on the rotation axis set for the joint. + +If [get_joint_rotation_axis()](IterateIK3D.md#IterateIK3D_method_get_joint_rotation_axis) is [SkeletonModifier3D.ROTATION_AXIS_ALL](SkeletonModifier3D.md#SkeletonModifier3D_constant_ROTATION_AXIS_ALL), this method returns ``Vector3(0, 0, 0)``. + +
+ + + + + +[NodePath](NodePath.md) **get_target_node**\ (\ index\: [int](int.md)\ ) const [🔗](#IterateIK3D_method_get_target_node) + +Returns the target node that the end bone is trying to reach. + +
+ + + + + +`void` **set_joint_limitation**\ (\ index\: [int](int.md), joint\: [int](int.md), limitation\: [JointLimitation3D](JointLimitation3D.md)\ ) [🔗](#IterateIK3D_method_set_joint_limitation) + +Sets the joint limitation at `joint` in the bone chain's joint list. + +
+ + + + + +`void` **set_joint_limitation_right_axis**\ (\ index\: [int](int.md), joint\: [int](int.md), direction\: [SecondaryDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_SecondaryDirection)\ ) [🔗](#IterateIK3D_method_set_joint_limitation_right_axis) + +Sets the joint limitation right axis at `joint` in the bone chain's joint list. + +
+ + + + + +`void` **set_joint_limitation_right_axis_vector**\ (\ index\: [int](int.md), joint\: [int](int.md), vector\: [Vector3](Vector3.md)\ ) [🔗](#IterateIK3D_method_set_joint_limitation_right_axis_vector) + +Sets the optional joint limitation right axis vector at `joint` in the bone chain's joint list. + +
+ + + + + +`void` **set_joint_limitation_rotation_offset**\ (\ index\: [int](int.md), joint\: [int](int.md), offset\: [Quaternion](Quaternion.md)\ ) [🔗](#IterateIK3D_method_set_joint_limitation_rotation_offset) + +Sets the joint limitation rotation offset at `joint` in the bone chain's joint list. + +Rotation is done in the local space which is constructed by the bone direction (in general parent to child) as the +Y axis and [get_joint_limitation_right_axis_vector()](IterateIK3D.md#IterateIK3D_method_get_joint_limitation_right_axis_vector) as the +X axis. + +If the +X and +Y axes are not orthogonal, the +X axis is implicitly modified to make it orthogonal. + +Also, if the length of [get_joint_limitation_right_axis_vector()](IterateIK3D.md#IterateIK3D_method_get_joint_limitation_right_axis_vector) is zero, the space is created by rotating the bone rest using the shortest arc that rotates the +Y axis of the bone rest to match the bone direction. + +
+ + + + + +`void` **set_joint_rotation_axis**\ (\ index\: [int](int.md), joint\: [int](int.md), axis\: [RotationAxis](SkeletonModifier3D.md#enum_SkeletonModifier3D_RotationAxis)\ ) [🔗](#IterateIK3D_method_set_joint_rotation_axis) + +Sets the rotation axis at `joint` in the bone chain's joint list. + +The axes are based on the [Skeleton3D.get_bone_rest()](Skeleton3D.md#Skeleton3D_method_get_bone_rest)'s space, if `axis` is [SkeletonModifier3D.ROTATION_AXIS_CUSTOM](SkeletonModifier3D.md#SkeletonModifier3D_constant_ROTATION_AXIS_CUSTOM), you can specify any axis. + +\ **Note:** The rotation axis and the forward vector shouldn't be colinear to avoid unintended rotation since [ChainIK3D](ChainIK3D.md) does not factor in twisting forces. + +
+ + + + + +`void` **set_joint_rotation_axis_vector**\ (\ index\: [int](int.md), joint\: [int](int.md), axis_vector\: [Vector3](Vector3.md)\ ) [🔗](#IterateIK3D_method_set_joint_rotation_axis_vector) + +Sets the rotation axis vector for the specified joint in the bone chain. + +This vector is normalized by an internal process and represents the axis around which the bone chain can rotate. + +If the vector length is ``0``, it is considered synonymous with [SkeletonModifier3D.ROTATION_AXIS_ALL](SkeletonModifier3D.md#SkeletonModifier3D_constant_ROTATION_AXIS_ALL). + +
+ + + + + +`void` **set_target_node**\ (\ index\: [int](int.md), target_node\: [NodePath](NodePath.md)\ ) [🔗](#IterateIK3D_method_set_target_node) + +Sets the target node that the end bone is trying to reach. + diff --git a/docs/Classes/JacobianIK3D.md b/docs/Classes/JacobianIK3D.md new file mode 100644 index 00000000..248a5c62 --- /dev/null +++ b/docs/Classes/JacobianIK3D.md @@ -0,0 +1,25 @@ + + + + + + + + + +# JacobianIK3D + +**Inherits:** [IterateIK3D](IterateIK3D.md) **\<** [ChainIK3D](ChainIK3D.md) **\<** [IKModifier3D](IKModifier3D.md) **\<** [SkeletonModifier3D](SkeletonModifier3D.md) **\<** [Node3D](Node3D.md) **\<** [Node](Node.md) **\<** [Object](Object.md) + +Jacobian transpose based inverse kinematics solver. + + + +## Description + +**JacobianIK3D** calculates rotations for all joints simultaneously, producing natural and smooth movement. It is particularly suited for biological animations. + +The resulting twist around the forward vector will always be kept from the previous pose. + +\ **Note:** It converges more slowly than other IK solvers, leading to gentler and less immediate tracking of targets. + diff --git a/docs/Classes/JavaScriptBridge.md b/docs/Classes/JavaScriptBridge.md index ba623ca3..7ac6a354 100644 --- a/docs/Classes/JavaScriptBridge.md +++ b/docs/Classes/JavaScriptBridge.md @@ -19,7 +19,7 @@ Singleton that connects the engine with the browser's JavaScript context in Web The JavaScriptBridge singleton is implemented only in the Web export. It's used to access the browser's JavaScript context. This allows interaction with embedding pages or calling third-party JavaScript APIs. -\ **Note:** This singleton can be disabled at build-time to improve security. By default, the JavaScriptBridge singleton is enabled. Official export templates also have the JavaScriptBridge singleton enabled. See [Compiling for the Web](../Contributing/Development/compiling/compiling_for_web.md) in the documentation for more information. +\ **Note:** This singleton can be disabled at build-time to improve security. By default, the JavaScriptBridge singleton is enabled. Official export templates also have the JavaScriptBridge singleton enabled. See [Compiling for the Web](../engine_details/development/compiling/compiling_for_web.md) in the documentation for more information. diff --git a/docs/Classes/JointLimitation3D.md b/docs/Classes/JointLimitation3D.md new file mode 100644 index 00000000..d65952d7 --- /dev/null +++ b/docs/Classes/JointLimitation3D.md @@ -0,0 +1,23 @@ + + + + + + + + + +# JointLimitation3D + +**Inherits:** [Resource](Resource.md) **\<** [RefCounted](RefCounted.md) **\<** [Object](Object.md) + +**Inherited By:** [JointLimitationCone3D](JointLimitationCone3D.md) + +A base class of the limitation that interacts with [ChainIK3D](ChainIK3D.md). + + + +## Description + +The limitation is attached to each joint and limits the rotation of the bone. + diff --git a/docs/Classes/JointLimitationCone3D.md b/docs/Classes/JointLimitationCone3D.md new file mode 100644 index 00000000..70cf8dd7 --- /dev/null +++ b/docs/Classes/JointLimitationCone3D.md @@ -0,0 +1,58 @@ + + + + + + + + + +# JointLimitationCone3D + +**Inherits:** [JointLimitation3D](JointLimitation3D.md) **\<** [Resource](Resource.md) **\<** [RefCounted](RefCounted.md) **\<** [Object](Object.md) + +A cone shape limitation that interacts with [ChainIK3D](ChainIK3D.md). + + + +## Description + +A cone shape limitation that interacts with [ChainIK3D](ChainIK3D.md). + + + +## Properties + + + + + + + + + + + +
[float](float.md)[angle](#JointLimitationCone3D_property_angle)`1.5707964`
+ +
+ + + +## Property Descriptions + + + + + +[float](float.md) **angle** = `1.5707964` [🔗](#JointLimitationCone3D_property_angle) + + + +- `void` **set_angle**\ (\ value\: [float](float.md)\ ) +- [float](float.md) **get_angle**\ (\ ) + +The radius range of the hole made by the cone. + +\ ``0`` degrees makes a sphere without hole, ``180`` degrees makes a hemisphere, and ``360`` degrees become empty (no limitation). + diff --git a/docs/Classes/LimitAngularVelocityModifier3D.md b/docs/Classes/LimitAngularVelocityModifier3D.md new file mode 100644 index 00000000..39f576b4 --- /dev/null +++ b/docs/Classes/LimitAngularVelocityModifier3D.md @@ -0,0 +1,272 @@ + + + + + + + + + +# LimitAngularVelocityModifier3D + +**Inherits:** [SkeletonModifier3D](SkeletonModifier3D.md) **\<** [Node3D](Node3D.md) **\<** [Node](Node.md) **\<** [Object](Object.md) + +Limit bone rotation angular velocity. + + + +## Description + +This modifier limits bone rotation angular velocity by comparing poses between previous and current frame. + +You can add bone chains by specifying their root and end bones, then add the bones between them to a list. Modifier processes either that list or the bones excluding those in the list depending on the option [exclude](LimitAngularVelocityModifier3D.md#LimitAngularVelocityModifier3D_property_exclude). + + + +## Properties + + + + + + + + + + + + + + + + + + + + + + + + + + +
[int](int.md)[chain_count](#LimitAngularVelocityModifier3D_property_chain_count)`0`
[bool](bool.md)[exclude](#LimitAngularVelocityModifier3D_property_exclude)`false`
[int](int.md)[joint_count](#LimitAngularVelocityModifier3D_property_joint_count)`0`
[float](float.md)[max_angular_velocity](#LimitAngularVelocityModifier3D_property_max_angular_velocity)`6.2831855`
+ + + +## Methods + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
`void`[clear_chains](#LimitAngularVelocityModifier3D_method_clear_chains)\ (\ )
[int](int.md)[get_end_bone](#LimitAngularVelocityModifier3D_method_get_end_bone)\ (\ index\: [int](int.md)\ ) const
[String](String.md)[get_end_bone_name](#LimitAngularVelocityModifier3D_method_get_end_bone_name)\ (\ index\: [int](int.md)\ ) const
[int](int.md)[get_root_bone](#LimitAngularVelocityModifier3D_method_get_root_bone)\ (\ index\: [int](int.md)\ ) const
[String](String.md)[get_root_bone_name](#LimitAngularVelocityModifier3D_method_get_root_bone_name)\ (\ index\: [int](int.md)\ ) const
`void`[reset](#LimitAngularVelocityModifier3D_method_reset)\ (\ )
`void`[set_end_bone](#LimitAngularVelocityModifier3D_method_set_end_bone)\ (\ index\: [int](int.md), bone\: [int](int.md)\ )
`void`[set_end_bone_name](#LimitAngularVelocityModifier3D_method_set_end_bone_name)\ (\ index\: [int](int.md), bone_name\: [String](String.md)\ )
`void`[set_root_bone](#LimitAngularVelocityModifier3D_method_set_root_bone)\ (\ index\: [int](int.md), bone\: [int](int.md)\ )
`void`[set_root_bone_name](#LimitAngularVelocityModifier3D_method_set_root_bone_name)\ (\ index\: [int](int.md), bone_name\: [String](String.md)\ )
+ +
+ + + +## Property Descriptions + + + + + +[int](int.md) **chain_count** = `0` [🔗](#LimitAngularVelocityModifier3D_property_chain_count) + + + +- `void` **set_chain_count**\ (\ value\: [int](int.md)\ ) +- [int](int.md) **get_chain_count**\ (\ ) + +The number of chains. + +
+ + + + + +[bool](bool.md) **exclude** = `false` [🔗](#LimitAngularVelocityModifier3D_property_exclude) + + + +- `void` **set_exclude**\ (\ value\: [bool](bool.md)\ ) +- [bool](bool.md) **is_exclude**\ (\ ) + +If ``true``, the modifier processes bones not included in the bone list. + +If ``false``, the bones processed by the modifier are equal to the bone list. + +
+ + + + + +[int](int.md) **joint_count** = `0` [🔗](#LimitAngularVelocityModifier3D_property_joint_count) + +The number of joints in the list which created by chains dynamically. + +
+ + + + + +[float](float.md) **max_angular_velocity** = `6.2831855` [🔗](#LimitAngularVelocityModifier3D_property_max_angular_velocity) + + + +- `void` **set_max_angular_velocity**\ (\ value\: [float](float.md)\ ) +- [float](float.md) **get_max_angular_velocity**\ (\ ) + +The maximum angular velocity per second. + +
+ + + +## Method Descriptions + + + + + +`void` **clear_chains**\ (\ ) [🔗](#LimitAngularVelocityModifier3D_method_clear_chains) + +Clear all chains. + +
+ + + + + +[int](int.md) **get_end_bone**\ (\ index\: [int](int.md)\ ) const [🔗](#LimitAngularVelocityModifier3D_method_get_end_bone) + +Returns the end bone index of the bone chain. + +
+ + + + + +[String](String.md) **get_end_bone_name**\ (\ index\: [int](int.md)\ ) const [🔗](#LimitAngularVelocityModifier3D_method_get_end_bone_name) + +Returns the end bone name of the bone chain. + +
+ + + + + +[int](int.md) **get_root_bone**\ (\ index\: [int](int.md)\ ) const [🔗](#LimitAngularVelocityModifier3D_method_get_root_bone) + +Returns the root bone index of the bone chain. + +
+ + + + + +[String](String.md) **get_root_bone_name**\ (\ index\: [int](int.md)\ ) const [🔗](#LimitAngularVelocityModifier3D_method_get_root_bone_name) + +Returns the root bone name of the bone chain. + +
+ + + + + +`void` **reset**\ (\ ) [🔗](#LimitAngularVelocityModifier3D_method_reset) + +Sets the reference pose for angle comparison to the current pose with the influence of constraints removed. This function is automatically triggered when joints change or upon activation. + +
+ + + + + +`void` **set_end_bone**\ (\ index\: [int](int.md), bone\: [int](int.md)\ ) [🔗](#LimitAngularVelocityModifier3D_method_set_end_bone) + +Sets the end bone index of the bone chain. + +
+ + + + + +`void` **set_end_bone_name**\ (\ index\: [int](int.md), bone_name\: [String](String.md)\ ) [🔗](#LimitAngularVelocityModifier3D_method_set_end_bone_name) + +Sets the end bone name of the bone chain. + +\ **Note:** End bone must be the root bone or a child of the root bone. + +
+ + + + + +`void` **set_root_bone**\ (\ index\: [int](int.md), bone\: [int](int.md)\ ) [🔗](#LimitAngularVelocityModifier3D_method_set_root_bone) + +Sets the root bone index of the bone chain. + +
+ + + + + +`void` **set_root_bone_name**\ (\ index\: [int](int.md), bone_name\: [String](String.md)\ ) [🔗](#LimitAngularVelocityModifier3D_method_set_root_bone_name) + +Sets the root bone name of the bone chain. + diff --git a/docs/Classes/LinkButton.md b/docs/Classes/LinkButton.md index 421045bf..a7dc330e 100644 --- a/docs/Classes/LinkButton.md +++ b/docs/Classes/LinkButton.md @@ -291,14 +291,14 @@ The [URI](https://en.wikipedia.org/wiki/Uniform_Resource_Identifier) for this ** ```gdscript - uri = "https://redotengine.org" # Opens the URL in the default web browser. + uri = "https://godotengine.org" # Opens the URL in the default web browser. uri = "C:\SomeFolder" # Opens the file explorer at the given path. uri = "C:\SomeImage.png" # Opens the given image in the default viewing app. ``` ```csharp - Uri = "https://redotengine.org"; // Opens the URL in the default web browser. + Uri = "https://godotengine.org"; // Opens the URL in the default web browser. Uri = "C:\SomeFolder"; // Opens the file explorer at the given path. Uri = "C:\SomeImage.png"; // Opens the given image in the default viewing app. ``` diff --git a/docs/Classes/LookAtModifier3D.md b/docs/Classes/LookAtModifier3D.md index 0d45bb24..66f9f943 100644 --- a/docs/Classes/LookAtModifier3D.md +++ b/docs/Classes/LookAtModifier3D.md @@ -119,6 +119,11 @@ When applying multiple **LookAtModifier3D**\\ s, the **LookAtModifier3D** assign [primary_rotation_axis](#LookAtModifier3D_property_primary_rotation_axis) `1` + + [bool](bool.md) + [relative](#LookAtModifier3D_property_relative) + `true` + [float](float.md) [secondary_damp_threshold](#LookAtModifier3D_property_secondary_damp_threshold) @@ -520,6 +525,21 @@ The axis of the first rotation. This [SkeletonModifier3D](SkeletonModifier3D.md)
+ + + + +[bool](bool.md) **relative** = `true` [🔗](#LookAtModifier3D_property_relative) + + + +- `void` **set_relative**\ (\ value\: [bool](bool.md)\ ) +- [bool](bool.md) **is_relative**\ (\ ) + +The relative option. If ``true``, the rotation is applied relative to the pose. If ``false``, the rotation is applied relative to the rest. It means to replace the current pose with the **LookAtModifier3D**'s result. + +
+ diff --git a/docs/Classes/Node.md b/docs/Classes/Node.md index b1c004c3..d87a0394 100644 --- a/docs/Classes/Node.md +++ b/docs/Classes/Node.md @@ -47,7 +47,7 @@ Finally, when a node is freed with [Object.free()](Object.md#Object_method_free) ## Tutorials -- [Nodes and scenes](../Getting Started/step_by_step/nodes_and_scenes.md) +- [Nodes and scenes](../getting_started/step_by_step/nodes_and_scenes.md) - [All Demos](https://github.com/redot-engine/redot-demo-projects/) @@ -2043,7 +2043,7 @@ If `owned` is ``true``, only descendants with a valid [owner](Node.md#Node_prope Finds all descendants of this node whose names match `pattern`, returning an empty [Array](Array.md) if no match is found. The matching is done against node names, *not* their paths, through [String.match()](String.md#String_method_match). As such, it is case-sensitive, ``"*"`` matches zero or more characters, and ``"?"`` matches any single character. -If `type` is not empty, only ancestors inheriting from `type` are included (see [Object.is_class()](Object.md#Object_method_is_class)). +If `type` is not empty, only descendants inheriting from `type` are included (see [Object.is_class()](Object.md#Object_method_is_class)). If `recursive` is ``false``, only this node's direct children are checked. Nodes are checked in tree order, so this node's first direct child is checked first, then its own direct children, etc., before moving to the second direct child, and so on. Internal children are also included in the search (see ``internal`` parameter in [add_child()](Node.md#Node_method_add_child)). diff --git a/docs/Classes/Node3D.md b/docs/Classes/Node3D.md index c8569f27..f44adca5 100644 --- a/docs/Classes/Node3D.md +++ b/docs/Classes/Node3D.md @@ -27,7 +27,7 @@ Affine operations (translation, rotation, scale) are calculated in the coordinat \ **Note:** Unless otherwise specified, all methods that need angle parameters must receive angles in *radians*. To convert degrees to radians, use [@GlobalScope.deg_to_rad()](@GlobalScope.md#@GlobalScope_method_deg_to_rad). -\ **Note:** In Redot 3 and older, **Node3D** was named *Spatial*. +\ **Note:** In Godot 3 and older, **Node3D** was named *Spatial*. diff --git a/docs/Classes/Object.md b/docs/Classes/Object.md index e98dcec2..f75d44f0 100644 --- a/docs/Classes/Object.md +++ b/docs/Classes/Object.md @@ -19,7 +19,7 @@ Base class for all other classes in the engine. An advanced [Variant](Variant.md) type. All classes in the engine inherit from Object. Each class may define new properties, methods or signals, which are available to all inheriting classes. For example, a [Sprite2D](Sprite2D.md) instance is able to call [Node.add_child()](Node.md#Node_method_add_child) because it inherits from [Node](Node.md). -You can create new instances, using ``Object.new()`` in GDScript, or ``new RedotObject`` in C#. +You can create new instances, using ``Object.new()`` in GDScript, or ``new GodotObject`` in C#. To delete an Object instance, call [free()](Object.md#Object_method_free). This is necessary for most classes inheriting Object, because they do not manage memory on their own, and will otherwise cause memory leaks when no longer in use. There are a few classes that perform memory management. For example, [RefCounted](RefCounted.md) (and by extension [Resource](Resource.md)) deletes itself when no longer referenced, and [Node](Node.md) deletes its children when freed. @@ -54,7 +54,7 @@ Lastly, every object can also contain metadata (data about data). [set_meta()](O ## Tutorials -- [Object class introduction](../Contributing/Development/core_and_modules/object_class.md) +- [Object class introduction](../engine_details/architecture/object_class.md) - [When and how to avoid using nodes for everything](../tutorials/best_practices/node_alternatives.md) @@ -614,7 +614,7 @@ The example below displays a list of numbers shown as words going from ``ZERO`` `void` **_init**\ (\ ) virtual [🔗](#Object_private_method__init) -Called when the object's script is instantiated, oftentimes after the object is initialized in memory (through ``Object.new()`` in GDScript, or ``new RedotObject`` in C#). It can be also defined to take in parameters. This method is similar to a constructor in most programming languages. +Called when the object's script is instantiated, oftentimes after the object is initialized in memory (through ``Object.new()`` in GDScript, or ``new GodotObject`` in C#). It can be also defined to take in parameters. This method is similar to a constructor in most programming languages. \ **Note:** If [_init()](Object.md#Object_private_method__init) is defined with *required* parameters, the Object with script may only be created directly. If any other means (such as [PackedScene.instantiate()](PackedScene.md#PackedScene_method_instantiate) or [Node.duplicate()](Node.md#Node_method_duplicate)) are used, the script's initialization will fail. @@ -1520,10 +1520,10 @@ If `reversed` is ``true``, the call order is reversed. player.SetScript(GD.Load("res://player.gd")); player.Notification(NotificationEnterTree); - // The call order is RedotObject -> Node -> Node2D -> player.gd. + // The call order is GodotObject -> Node -> Node2D -> player.gd. player.Notification(NotificationEnterTree, true); - // The call order is player.gd -> Node2D -> Node -> RedotObject. + // The call order is player.gd -> Node2D -> Node -> GodotObject. ``` diff --git a/docs/Classes/PhysicsServer3DRenderingServerHandler.md b/docs/Classes/PhysicsServer3DRenderingServerHandler.md index aaf96a67..7e6793a1 100644 --- a/docs/Classes/PhysicsServer3DRenderingServerHandler.md +++ b/docs/Classes/PhysicsServer3DRenderingServerHandler.md @@ -72,7 +72,7 @@ Called by the [PhysicsServer3D](PhysicsServer3D.md) to set the bounding box for Called by the [PhysicsServer3D](PhysicsServer3D.md) to set the normal for the [SoftBody3D](SoftBody3D.md) vertex at the index specified by `vertex_id`. -\ **Note:** The `normal` parameter used to be of type ``const void*`` prior to Redot 4.2. +\ **Note:** The `normal` parameter used to be of type ``const void*`` prior to Godot 4.2.
@@ -84,7 +84,7 @@ Called by the [PhysicsServer3D](PhysicsServer3D.md) to set the normal for the [S Called by the [PhysicsServer3D](PhysicsServer3D.md) to set the position for the [SoftBody3D](SoftBody3D.md) vertex at the index specified by `vertex_id`. -\ **Note:** The `vertex` parameter used to be of type ``const void*`` prior to Redot 4.2. +\ **Note:** The `vertex` parameter used to be of type ``const void*`` prior to Godot 4.2.
diff --git a/docs/Classes/PlaneMesh.md b/docs/Classes/PlaneMesh.md index f8c3518b..62dccfee 100644 --- a/docs/Classes/PlaneMesh.md +++ b/docs/Classes/PlaneMesh.md @@ -83,13 +83,13 @@ enum **Orientation**: [🔗](#enum_PlaneMesh_Orientation) [Orientation](PlaneMesh.md#enum_PlaneMesh_Orientation) **FACE_Y** = `1` -**PlaneMesh** will face the positive Y-axis. This matches the behavior of the **PlaneMesh** in Redot 3.x. +**PlaneMesh** will face the positive Y-axis. This matches the behavior of the **PlaneMesh** in Godot 3.x. [Orientation](PlaneMesh.md#enum_PlaneMesh_Orientation) **FACE_Z** = `2` -**PlaneMesh** will face the positive Z-axis. This matches the behavior of the QuadMesh in Redot 3.x.
+**PlaneMesh** will face the positive Z-axis. This matches the behavior of the QuadMesh in Godot 3.x.
diff --git a/docs/Classes/ProjectSettings.md b/docs/Classes/ProjectSettings.md index af87ced6..f53cce0c 100644 --- a/docs/Classes/ProjectSettings.md +++ b/docs/Classes/ProjectSettings.md @@ -17,7 +17,7 @@ Stores globally-accessible variables. ## Description -Stores variables that can be accessed from everywhere. Use [get_setting()](ProjectSettings.md#ProjectSettings_method_get_setting), [set_setting()](ProjectSettings.md#ProjectSettings_method_set_setting) or [has_setting()](ProjectSettings.md#ProjectSettings_method_has_setting) to access them. Variables stored in ``project.Redot`` are also loaded into **ProjectSettings**, making this object very useful for reading custom game configuration options. +Stores variables that can be accessed from everywhere. Use [get_setting()](ProjectSettings.md#ProjectSettings_method_get_setting), [set_setting()](ProjectSettings.md#ProjectSettings_method_set_setting) or [has_setting()](ProjectSettings.md#ProjectSettings_method_has_setting) to access them. Variables stored in ``project.godot`` are also loaded into **ProjectSettings**, making this object very useful for reading custom game configuration options. When naming a Project Settings property, use the full path to the setting including the category. For example, ``"application/config/name"`` for the project name. Category and property names can be viewed in the Project Settings dialog. @@ -373,7 +373,7 @@ When naming a Project Settings property, use the full path to the setting includ [String](String.md) [debug/file_logging/log_path](#ProjectSettings_property_debug/file_logging/log_path) - `"user://logs/Redot.log"` + `"user://logs/godot.log"` [int](int.md) @@ -502,7 +502,7 @@ When naming a Project Settings property, use the full path to the setting includ [bool](bool.md) - [debug/gdscript/warnings/renamed_in_Redot_4_hint](#ProjectSettings_property_debug/gdscript/warnings/renamed_in_Redot_4_hint) + [debug/gdscript/warnings/renamed_in_godot_4_hint](#ProjectSettings_property_debug/gdscript/warnings/renamed_in_godot_4_hint) `true` @@ -4923,13 +4923,13 @@ See also [File paths in Redot projects](../tutorials/io/data_paths.md#accessing- [bool](bool.md) **application/config/use_hidden_project_data_directory** = `true` [🔗](#ProjectSettings_property_application/config/use_hidden_project_data_directory) -If ``true``, the project will use a hidden directory (``.Redot``) for storing project-specific data (metadata, shader cache, etc.). +If ``true``, the project will use a hidden directory (``.godot``) for storing project-specific data (metadata, shader cache, etc.). -If ``false``, a non-hidden directory (``Redot``) will be used instead. +If ``false``, a non-hidden directory (``godot``) will be used instead. \ **Note:** Restart the application after changing this setting. -\ **Note:** Changing this value can help on platforms or with third-party tools where hidden 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 ``.Redot`` folder. +\ **Note:** Changing this value can help on platforms or with third-party tools where hidden 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 ``.godot`` folder.
@@ -5473,7 +5473,7 @@ Desktop override for [debug/file_logging/enable_file_logging](ProjectSettings.md -[String](String.md) **debug/file_logging/log_path** = `"user://logs/Redot.log"` [🔗](#ProjectSettings_property_debug/file_logging/log_path) +[String](String.md) **debug/file_logging/log_path** = `"user://logs/godot.log"` [🔗](#ProjectSettings_property_debug/file_logging/log_path) Path at which to store log files for the project. Using a path under ``user://`` is recommended. @@ -5737,13 +5737,13 @@ When set to ``warn`` or ``error``, produces a warning or an error respectively w
- + -[bool](bool.md) **debug/gdscript/warnings/renamed_in_Redot_4_hint** = `true` [🔗](#ProjectSettings_property_debug/gdscript/warnings/renamed_in_Redot_4_hint) +[bool](bool.md) **debug/gdscript/warnings/renamed_in_godot_4_hint** = `true` [🔗](#ProjectSettings_property_debug/gdscript/warnings/renamed_in_godot_4_hint) -When enabled, using a property, enum, or function that was renamed since Redot 3 will produce a hint if an error occurs. +When enabled, using a property, enum, or function that was renamed since Godot 3 will produce a hint if an error occurs.
@@ -6133,7 +6133,7 @@ When set to ``true``, produces a warning upon encountering certain formatting er [bool](bool.md) **debug/shader_language/warnings/magic_position_write** = `true` [🔗](#ProjectSettings_property_debug/shader_language/warnings/magic_position_write) -When set to ``true``, produces a warning when the shader contains ``POSITION = vec4(vertex,`` as this was very common code written in Redot 4.2 and earlier that was paired with a QuadMesh to produce a full screen post processes pass. With the switch to reversed z in 4.3, this trick no longer works, as it implicitly relied on the ``VERTEX.z`` being 0. +When set to ``true``, produces a warning when the shader contains ``POSITION = vec4(vertex,`` as this was very common code written in Godot 4.2 and earlier that was paired with a QuadMesh to produce a full screen post processes pass. With the switch to reversed z in 4.3, this trick no longer works, as it implicitly relied on the ``VERTEX.z`` being 0.
@@ -7310,9 +7310,9 @@ Number of times to attempt assembly reloading after rebuilding .NET assemblies. [String](String.md) **dotnet/project/solution_directory** = `""` [🔗](#ProjectSettings_property_dotnet/project/solution_directory) -Directory that contains the ``.sln`` file. By default, the ``.sln`` files is in the root of the project directory, next to the ``project.Redot`` and ``.csproj`` files. +Directory that contains the ``.sln`` file. By default, the ``.sln`` files is in the root of the project directory, next to the ``project.godot`` and ``.csproj`` files. -Changing this value allows setting up a multi-project scenario where there are multiple ``.csproj``. Keep in mind that the Redot project is considered one of the C# projects in the workspace and it's root directory should contain the ``project.Redot`` and ``.csproj`` next to each other. +Changing this value allows setting up a multi-project scenario where there are multiple ``.csproj``. Keep in mind that the Redot project is considered one of the C# projects in the workspace and it's root directory should contain the ``project.godot`` and ``.csproj`` next to each other.
@@ -7326,7 +7326,7 @@ If ``true``, text resource (``tres``) and text scene (``tscn``) files are conver \ **Note:** Because a resource's file extension may change in an exported project, it is heavily recommended to use [@GDScript.load()](@GDScript.md#@GDScript_method_load) or [ResourceLoader](ResourceLoader.md) instead of [FileAccess](FileAccess.md) to load resources dynamically. -\ **Note:** The project settings file (``project.Redot``) will always be converted to binary on export, regardless of this setting. +\ **Note:** The project settings file (``project.godot``) will always be converted to binary on export, regardless of this setting.
@@ -11564,7 +11564,7 @@ Maximum size (in kiB) for the [WebRTCDataChannel](WebRTCDataChannel.md) input bu [String](String.md) **network/tls/certificate_bundle_override** = `""` [🔗](#ProjectSettings_property_network/tls/certificate_bundle_override) -The CA certificates bundle to use for TLS connections. If this is set to a non-empty value, this will *override* Redot's default [Mozilla certificate bundle](https://github.com/redot-engine/Redot-engine/blob/master/thirdparty/certs/ca-certificates.crt). If left empty, the default certificate bundle will be used. +The CA certificates bundle to use for TLS connections. If this is set to a non-empty value, this will *override* Redot's default [Mozilla certificate bundle](https://github.com/redot-engine/godot-engine/blob/master/thirdparty/certs/ca-certificates.crt). If left empty, the default certificate bundle will be used. If in doubt, leave this setting empty. @@ -11684,9 +11684,9 @@ During each physics tick, Redot will multiply the linear velocity of RigidBodies Sets which physics engine to use for 2D physics. -\ **DEFAULT** is currently equivalent to **RedotPhysics2D**, but may change in future releases. Select an explicit implementation if you want to ensure that your project stays on the same engine. +\ **DEFAULT** is currently equivalent to **GodotPhysics2D**, but may change in future releases. Select an explicit implementation if you want to ensure that your project stays on the same engine. -\ **RedotPhysics2D** is Redot's internal 2D physics engine. +\ **GodotPhysics2D** is Redot's internal 2D physics engine. \ **Dummy** is a 2D physics server that does nothing and returns only dummy values, effectively disabling all 2D physics functionality. @@ -11900,11 +11900,11 @@ During each physics tick, Redot will multiply the linear velocity of RigidBodies Sets which physics engine to use for 3D physics. -\ **DEFAULT** is currently equivalent to **RedotPhysics3D**, but may change in future releases. Select an explicit implementation if you want to ensure that your project stays on the same engine. +\ **DEFAULT** is currently equivalent to **GodotPhysics3D**, but may change in future releases. Select an explicit implementation if you want to ensure that your project stays on the same engine. -\ **RedotPhysics3D** is Redot's internal 3D physics engine. +\ **GodotPhysics3D** is Redot's internal 3D physics engine. -\ **Jolt Physics** is an alternative physics engine that is generally faster and more reliable than **RedotPhysics3D**. As it was recently implemented, it is currently considered experimental and its behavior may change in future releases. +\ **Jolt Physics** is an alternative physics engine that is generally faster and more reliable than **GodotPhysics3D**. As it was recently implemented, it is currently considered experimental and its behavior may change in future releases. \ **Dummy** is a 3D physics server that does nothing and returns only dummy values, effectively disabling all 3D physics functionality. @@ -12132,7 +12132,7 @@ The amount of collision margin to use for certain convex collision shapes, such Which of the two nodes bound by a joint should represent the world when one of the two is omitted, as either [Joint3D.node_a](Joint3D.md#Joint3D_property_node_a) or [Joint3D.node_b](Joint3D.md#Joint3D_property_node_b). This can be thought of as having the omitted node be a [StaticBody3D](StaticBody3D.md) at the joint's position. Joint limits are more easily expressed when [Joint3D.node_a](Joint3D.md#Joint3D_property_node_a) represents the world. -\ **Note:** In Redot Physics, only [Joint3D.node_b](Joint3D.md#Joint3D_property_node_b) can represent the world. +\ **Note:** In Godot Physics, only [Joint3D.node_b](Joint3D.md#Joint3D_property_node_b) can represent the world.
@@ -14501,7 +14501,7 @@ If ``true``, the texture importer will import VRAM-compressed textures using the \ **Note:** This setting is an override. The texture importer will always import the format the host platform needs, even if this is set to ``false``. -\ **Note:** Changing this setting does *not* impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the ``.Redot/imported/`` folder located inside the project folder then restart the editor (see [application/config/use_hidden_project_data_directory](ProjectSettings.md#ProjectSettings_property_application/config/use_hidden_project_data_directory)). +\ **Note:** Changing this setting does *not* impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the ``.godot/imported/`` folder located inside the project folder then restart the editor (see [application/config/use_hidden_project_data_directory](ProjectSettings.md#ProjectSettings_property_application/config/use_hidden_project_data_directory)).
@@ -14515,7 +14515,7 @@ If ``true``, the texture importer will import VRAM-compressed textures using the \ **Note:** This setting is an override. The texture importer will always import the format the host platform needs, even if this is set to ``false``. -\ **Note:** Changing this setting does *not* impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the ``.Redot/imported/`` folder located inside the project folder then restart the editor (see [application/config/use_hidden_project_data_directory](ProjectSettings.md#ProjectSettings_property_application/config/use_hidden_project_data_directory)). +\ **Note:** Changing this setting does *not* impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the ``.godot/imported/`` folder located inside the project folder then restart the editor (see [application/config/use_hidden_project_data_directory](ProjectSettings.md#ProjectSettings_property_application/config/use_hidden_project_data_directory)).
@@ -15042,7 +15042,7 @@ Returns the absolute, native OS path corresponding to the localized `path` (star Returns ``true`` if a configuration value is present. -\ **Note:** In order to be be detected, custom settings have to be either defined with [set_setting()](ProjectSettings.md#ProjectSettings_method_set_setting), or exist in the ``project.Redot`` file. This is especially relevant when using [set_initial_value()](ProjectSettings.md#ProjectSettings_method_set_initial_value). +\ **Note:** In order to be be detected, custom settings have to be either defined with [set_setting()](ProjectSettings.md#ProjectSettings_method_set_setting), or exist in the ``project.godot`` file. This is especially relevant when using [set_initial_value()](ProjectSettings.md#ProjectSettings_method_set_initial_value).
@@ -15078,7 +15078,7 @@ Returns the localized path (starting with ``res://``) corresponding to the absol [Error](@GlobalScope.md#enum_@GlobalScope_Error) **save**\ (\ ) [🔗](#ProjectSettings_method_save) -Saves the configuration to the ``project.Redot`` file. +Saves the configuration to the ``project.godot`` file. \ **Note:** This method is intended to be used by editor plugins, as modified **ProjectSettings** can't be loaded back in the running app. If you want to change project settings in exported projects, use [save_custom()](ProjectSettings.md#ProjectSettings_method_save_custom) to save ``override.cfg`` file. @@ -15090,7 +15090,7 @@ Saves the configuration to the ``project.Redot`` file. [Error](@GlobalScope.md#enum_@GlobalScope_Error) **save_custom**\ (\ file\: [String](String.md)\ ) [🔗](#ProjectSettings_method_save_custom) -Saves the configuration to a custom file. The file extension must be ``.Redot`` (to save in text-based [ConfigFile](ConfigFile.md) format) or ``.binary`` (to save in binary format). You can also save ``override.cfg`` file, which is also text, but can be used in exported projects unlike other formats. +Saves the configuration to a custom file. The file extension must be ``.godot`` (to save in text-based [ConfigFile](ConfigFile.md) format) or ``.binary`` (to save in binary format). You can also save ``override.cfg`` file, which is also text, but can be used in exported projects unlike other formats.
diff --git a/docs/Classes/Quaternion.md b/docs/Classes/Quaternion.md index 433eda31..ca0cb3dd 100644 --- a/docs/Classes/Quaternion.md +++ b/docs/Classes/Quaternion.md @@ -194,6 +194,14 @@ There are notable differences when using this API with C#. See the C# difference [Quaternion](Quaternion.md) [spherical_cubic_interpolate_in_time](#Quaternion_method_spherical_cubic_interpolate_in_time)\ (\ b\: [Quaternion](Quaternion.md), pre_a\: [Quaternion](Quaternion.md), post_b\: [Quaternion](Quaternion.md), weight\: [float](float.md), b_t\: [float](float.md), pre_a_t\: [float](float.md), post_b_t\: [float](float.md)\ ) const + + [Quaternion](Quaternion.md) + [spherical_monotonic_cubic_interpolate](#Quaternion_method_spherical_monotonic_cubic_interpolate)\ (\ b\: [Quaternion](Quaternion.md), pre_a\: [Quaternion](Quaternion.md), post_b\: [Quaternion](Quaternion.md), weight\: [float](float.md)\ ) const + + + [Quaternion](Quaternion.md) + [spherical_monotonic_cubic_interpolate_in_time](#Quaternion_method_spherical_monotonic_cubic_interpolate_in_time)\ (\ b\: [Quaternion](Quaternion.md), pre_a\: [Quaternion](Quaternion.md), post_b\: [Quaternion](Quaternion.md), weight\: [float](float.md), b_t\: [float](float.md), pre_a_t\: [float](float.md), post_b_t\: [float](float.md)\ ) const + @@ -596,6 +604,28 @@ Performs a spherical cubic interpolation between quaternions `pre_a`, this vecto It can perform smoother interpolation than [spherical_cubic_interpolate()](Quaternion.md#Quaternion_method_spherical_cubic_interpolate) by the time values. +
+ + + + + +[Quaternion](Quaternion.md) **spherical_monotonic_cubic_interpolate**\ (\ b\: [Quaternion](Quaternion.md), pre_a\: [Quaternion](Quaternion.md), post_b\: [Quaternion](Quaternion.md), weight\: [float](float.md)\ ) const [🔗](#Quaternion_method_spherical_monotonic_cubic_interpolate) + +Performs a spherical monotonic cubic interpolation between quaternions `pre_a`, this vector, `b`, and `post_b`, by the given amount `weight`. + +
+ + + + + +[Quaternion](Quaternion.md) **spherical_monotonic_cubic_interpolate_in_time**\ (\ b\: [Quaternion](Quaternion.md), pre_a\: [Quaternion](Quaternion.md), post_b\: [Quaternion](Quaternion.md), weight\: [float](float.md), b_t\: [float](float.md), pre_a_t\: [float](float.md), post_b_t\: [float](float.md)\ ) const [🔗](#Quaternion_method_spherical_monotonic_cubic_interpolate_in_time) + +Performs a spherical monotonic cubic interpolation between quaternions `pre_a`, this vector, `b`, and `post_b`, by the given amount `weight`. + +It can perform smoother interpolation than [spherical_monotonic_cubic_interpolate()](Quaternion.md#Quaternion_method_spherical_monotonic_cubic_interpolate) by the time values. +
diff --git a/docs/Classes/RefCounted.md b/docs/Classes/RefCounted.md index f43c298a..e46eb5df 100644 --- a/docs/Classes/RefCounted.md +++ b/docs/Classes/RefCounted.md @@ -11,7 +11,7 @@ **Inherits:** [Object](Object.md) -**Inherited By:** [AESContext](AESContext.md), [AStar2D](AStar2D.md), [AStar3D](AStar3D.md), [AStarGrid2D](AStarGrid2D.md), [AudioEffectInstance](AudioEffectInstance.md), [AudioSample](AudioSample.md), [AudioSamplePlayback](AudioSamplePlayback.md), [AudioStreamPlayback](AudioStreamPlayback.md), [CameraFeed](CameraFeed.md), [CharFXTransform](CharFXTransform.md), [ConfigFile](ConfigFile.md), [Crypto](Crypto.md), [DirAccess](DirAccess.md), [DTLSServer](DTLSServer.md), [EditorContextMenuPlugin](EditorContextMenuPlugin.md), [EditorDebuggerPlugin](EditorDebuggerPlugin.md), [EditorDebuggerSession](EditorDebuggerSession.md), [EditorExportPlatform](EditorExportPlatform.md), [EditorExportPlugin](EditorExportPlugin.md), [EditorExportPreset](EditorExportPreset.md), [EditorFeatureProfile](EditorFeatureProfile.md), [EditorFileSystemImportFormatSupportQuery](EditorFileSystemImportFormatSupportQuery.md), [EditorInspectorPlugin](EditorInspectorPlugin.md), [EditorResourceConversionPlugin](EditorResourceConversionPlugin.md), [EditorResourcePreviewGenerator](EditorResourcePreviewGenerator.md), [EditorResourceTooltipPlugin](EditorResourceTooltipPlugin.md), [EditorSceneFormatImporter](EditorSceneFormatImporter.md), [EditorScenePostImport](EditorScenePostImport.md), [EditorScenePostImportPlugin](EditorScenePostImportPlugin.md), [EditorScript](EditorScript.md), [EditorTranslationParserPlugin](EditorTranslationParserPlugin.md), [EncodedObjectAsID](EncodedObjectAsID.md), [ENetConnection](ENetConnection.md), [EngineProfiler](EngineProfiler.md), [Expression](Expression.md), [FileAccess](FileAccess.md), [GLTFObjectModelProperty](GLTFObjectModelProperty.md), [HashingContext](HashingContext.md), [HMACContext](HMACContext.md), [HTTPClient](HTTPClient.md), [ImageFormatLoader](ImageFormatLoader.md), [ImageFramesFormatLoader](ImageFramesFormatLoader.md), [JavaClass](JavaClass.md), [JavaObject](JavaObject.md), [JavaScriptObject](JavaScriptObject.md), [KinematicCollision2D](KinematicCollision2D.md), [KinematicCollision3D](KinematicCollision3D.md), [Lightmapper](Lightmapper.md), [Logger](Logger.md), [MeshConvexDecompositionSettings](MeshConvexDecompositionSettings.md), [MeshDataTool](MeshDataTool.md), [MultiplayerAPI](MultiplayerAPI.md), [Mutex](Mutex.md), [NavigationPathQueryParameters2D](NavigationPathQueryParameters2D.md), [NavigationPathQueryParameters3D](NavigationPathQueryParameters3D.md), [NavigationPathQueryResult2D](NavigationPathQueryResult2D.md), [NavigationPathQueryResult3D](NavigationPathQueryResult3D.md), [Node3DGizmo](Node3DGizmo.md), [OggPacketSequencePlayback](OggPacketSequencePlayback.md), [OpenXRAPIExtension](OpenXRAPIExtension.md), [OpenXRFutureResult](OpenXRFutureResult.md), [PackedDataContainerRef](PackedDataContainerRef.md), [PacketPeer](PacketPeer.md), [PCKPacker](PCKPacker.md), [PhysicsPointQueryParameters2D](PhysicsPointQueryParameters2D.md), [PhysicsPointQueryParameters3D](PhysicsPointQueryParameters3D.md), [PhysicsRayQueryParameters2D](PhysicsRayQueryParameters2D.md), [PhysicsRayQueryParameters3D](PhysicsRayQueryParameters3D.md), [PhysicsShapeQueryParameters2D](PhysicsShapeQueryParameters2D.md), [PhysicsShapeQueryParameters3D](PhysicsShapeQueryParameters3D.md), [PhysicsTestMotionParameters2D](PhysicsTestMotionParameters2D.md), [PhysicsTestMotionParameters3D](PhysicsTestMotionParameters3D.md), [PhysicsTestMotionResult2D](PhysicsTestMotionResult2D.md), [PhysicsTestMotionResult3D](PhysicsTestMotionResult3D.md), [RandomNumberGenerator](RandomNumberGenerator.md), [RDAttachmentFormat](RDAttachmentFormat.md), [RDFramebufferPass](RDFramebufferPass.md), [RDPipelineColorBlendState](RDPipelineColorBlendState.md), [RDPipelineColorBlendStateAttachment](RDPipelineColorBlendStateAttachment.md), [RDPipelineDepthStencilState](RDPipelineDepthStencilState.md), [RDPipelineMultisampleState](RDPipelineMultisampleState.md), [RDPipelineRasterizationState](RDPipelineRasterizationState.md), [RDPipelineSpecializationConstant](RDPipelineSpecializationConstant.md), [RDSamplerState](RDSamplerState.md), [RDShaderSource](RDShaderSource.md), [RDTextureFormat](RDTextureFormat.md), [RDTextureView](RDTextureView.md), [RDUniform](RDUniform.md), [RDVertexAttribute](RDVertexAttribute.md), [RegEx](RegEx.md), [RegExMatch](RegExMatch.md), [RenderSceneBuffers](RenderSceneBuffers.md), [RenderSceneBuffersConfiguration](RenderSceneBuffersConfiguration.md), [Resource](Resource.md), [ResourceFormatLoader](ResourceFormatLoader.md), [ResourceFormatSaver](ResourceFormatSaver.md), [ResourceImporter](ResourceImporter.md), [SceneState](SceneState.md), [SceneTreeTimer](SceneTreeTimer.md), [ScriptBacktrace](ScriptBacktrace.md), [Semaphore](Semaphore.md), [SignalSmith](SignalSmith.md), [SkinReference](SkinReference.md), [StreamPeer](StreamPeer.md), [SurfaceTool](SurfaceTool.md), [TCPServer](TCPServer.md), [TextLine](TextLine.md), [TextParagraph](TextParagraph.md), [TextServer](TextServer.md), [Thread](Thread.md), [TLSOptions](TLSOptions.md), [TranslationDomain](TranslationDomain.md), [TriangleMesh](TriangleMesh.md), [Tween](Tween.md), [Tweener](Tweener.md), [UDPServer](UDPServer.md), [UPNP](UPNP.md), [UPNPDevice](UPNPDevice.md), [WeakRef](WeakRef.md), [WebRTCPeerConnection](WebRTCPeerConnection.md), [XMLParser](XMLParser.md), [XRInterface](XRInterface.md), [XRPose](XRPose.md), [XRTracker](XRTracker.md), [ZIPPacker](ZIPPacker.md), [ZIPReader](ZIPReader.md) +**Inherited By:** [AESContext](AESContext.md), [AStar2D](AStar2D.md), [AStar3D](AStar3D.md), [AStarGrid2D](AStarGrid2D.md), [AudioEffectInstance](AudioEffectInstance.md), [AudioSample](AudioSample.md), [AudioSamplePlayback](AudioSamplePlayback.md), [AudioStreamPlayback](AudioStreamPlayback.md), [CameraFeed](CameraFeed.md), [CharFXTransform](CharFXTransform.md), [ConfigFile](ConfigFile.md), [Crypto](Crypto.md), [DirAccess](DirAccess.md), [DTLSServer](DTLSServer.md), [EditorContextMenuPlugin](EditorContextMenuPlugin.md), [EditorDebuggerPlugin](EditorDebuggerPlugin.md), [EditorDebuggerSession](EditorDebuggerSession.md), [EditorExportPlatform](EditorExportPlatform.md), [EditorExportPlugin](EditorExportPlugin.md), [EditorExportPreset](EditorExportPreset.md), [EditorFeatureProfile](EditorFeatureProfile.md), [EditorFileSystemImportFormatSupportQuery](EditorFileSystemImportFormatSupportQuery.md), [EditorInspectorPlugin](EditorInspectorPlugin.md), [EditorResourceConversionPlugin](EditorResourceConversionPlugin.md), [EditorResourcePreviewGenerator](EditorResourcePreviewGenerator.md), [EditorResourceTooltipPlugin](EditorResourceTooltipPlugin.md), [EditorSceneFormatImporter](EditorSceneFormatImporter.md), [EditorScenePostImport](EditorScenePostImport.md), [EditorScenePostImportPlugin](EditorScenePostImportPlugin.md), [EditorScript](EditorScript.md), [EditorTranslationParserPlugin](EditorTranslationParserPlugin.md), [EncodedObjectAsID](EncodedObjectAsID.md), [ENetConnection](ENetConnection.md), [EngineProfiler](EngineProfiler.md), [Expression](Expression.md), [FileAccess](FileAccess.md), [GLTFObjectModelProperty](GLTFObjectModelProperty.md), [HashingContext](HashingContext.md), [HMACContext](HMACContext.md), [HTTPClient](HTTPClient.md), [ImageFormatLoader](ImageFormatLoader.md), [ImageFramesFormatLoader](ImageFramesFormatLoader.md), [JavaClass](JavaClass.md), [JavaObject](JavaObject.md), [JavaScriptObject](JavaScriptObject.md), [KinematicCollision2D](KinematicCollision2D.md), [KinematicCollision3D](KinematicCollision3D.md), [Lightmapper](Lightmapper.md), [Logger](Logger.md), [MeshConvexDecompositionSettings](MeshConvexDecompositionSettings.md), [MeshDataTool](MeshDataTool.md), [MultiplayerAPI](MultiplayerAPI.md), [Mutex](Mutex.md), [NavigationPathQueryParameters2D](NavigationPathQueryParameters2D.md), [NavigationPathQueryParameters3D](NavigationPathQueryParameters3D.md), [NavigationPathQueryResult2D](NavigationPathQueryResult2D.md), [NavigationPathQueryResult3D](NavigationPathQueryResult3D.md), [Node3DGizmo](Node3DGizmo.md), [OggPacketSequencePlayback](OggPacketSequencePlayback.md), [OpenXRAPIExtension](OpenXRAPIExtension.md), [OpenXRFutureResult](OpenXRFutureResult.md), [PackedDataContainerRef](PackedDataContainerRef.md), [PacketPeer](PacketPeer.md), [PCKPacker](PCKPacker.md), [PhysicsPointQueryParameters2D](PhysicsPointQueryParameters2D.md), [PhysicsPointQueryParameters3D](PhysicsPointQueryParameters3D.md), [PhysicsRayQueryParameters2D](PhysicsRayQueryParameters2D.md), [PhysicsRayQueryParameters3D](PhysicsRayQueryParameters3D.md), [PhysicsShapeQueryParameters2D](PhysicsShapeQueryParameters2D.md), [PhysicsShapeQueryParameters3D](PhysicsShapeQueryParameters3D.md), [PhysicsTestMotionParameters2D](PhysicsTestMotionParameters2D.md), [PhysicsTestMotionParameters3D](PhysicsTestMotionParameters3D.md), [PhysicsTestMotionResult2D](PhysicsTestMotionResult2D.md), [PhysicsTestMotionResult3D](PhysicsTestMotionResult3D.md), [RandomNumberGenerator](RandomNumberGenerator.md), [RDAttachmentFormat](RDAttachmentFormat.md), [RDFramebufferPass](RDFramebufferPass.md), [RDPipelineColorBlendState](RDPipelineColorBlendState.md), [RDPipelineColorBlendStateAttachment](RDPipelineColorBlendStateAttachment.md), [RDPipelineDepthStencilState](RDPipelineDepthStencilState.md), [RDPipelineMultisampleState](RDPipelineMultisampleState.md), [RDPipelineRasterizationState](RDPipelineRasterizationState.md), [RDPipelineSpecializationConstant](RDPipelineSpecializationConstant.md), [RDSamplerState](RDSamplerState.md), [RDShaderSource](RDShaderSource.md), [RDTextureFormat](RDTextureFormat.md), [RDTextureView](RDTextureView.md), [RDUniform](RDUniform.md), [RDVertexAttribute](RDVertexAttribute.md), [RegEx](RegEx.md), [RegExMatch](RegExMatch.md), [RenderSceneBuffers](RenderSceneBuffers.md), [RenderSceneBuffersConfiguration](RenderSceneBuffersConfiguration.md), [Resource](Resource.md), [ResourceFormatLoader](ResourceFormatLoader.md), [ResourceFormatSaver](ResourceFormatSaver.md), [ResourceImporter](ResourceImporter.md), [SceneState](SceneState.md), [SceneTreeTimer](SceneTreeTimer.md), [ScriptBacktrace](ScriptBacktrace.md), [Semaphore](Semaphore.md), [SkinReference](SkinReference.md), [SoundSmith](SoundSmith.md), [StreamPeer](StreamPeer.md), [SurfaceTool](SurfaceTool.md), [TCPServer](TCPServer.md), [TextLine](TextLine.md), [TextParagraph](TextParagraph.md), [TextServer](TextServer.md), [Thread](Thread.md), [TLSOptions](TLSOptions.md), [TranslationDomain](TranslationDomain.md), [TriangleMesh](TriangleMesh.md), [Tween](Tween.md), [Tweener](Tweener.md), [UDPServer](UDPServer.md), [UPNP](UPNP.md), [UPNPDevice](UPNPDevice.md), [WeakRef](WeakRef.md), [WebRTCPeerConnection](WebRTCPeerConnection.md), [XMLParser](XMLParser.md), [XRInterface](XRInterface.md), [XRPose](XRPose.md), [XRTracker](XRTracker.md), [ZIPPacker](ZIPPacker.md), [ZIPReader](ZIPReader.md) Base class for reference-counted objects. diff --git a/docs/Classes/RenderingDevice.md b/docs/Classes/RenderingDevice.md index 592b8c02..33fc356b 100644 --- a/docs/Classes/RenderingDevice.md +++ b/docs/Classes/RenderingDevice.md @@ -5518,7 +5518,7 @@ Once finished with your RID, you will want to free the RID using the RenderingDe \ **Note:** `data` takes an [Array](Array.md) of [PackedByteArray](PackedByteArray.md)\\ s. For [TEXTURE_TYPE_1D](RenderingDevice.md#RenderingDevice_constant_TEXTURE_TYPE_1D), [TEXTURE_TYPE_2D](RenderingDevice.md#RenderingDevice_constant_TEXTURE_TYPE_2D), and [TEXTURE_TYPE_3D](RenderingDevice.md#RenderingDevice_constant_TEXTURE_TYPE_3D) types, this array should only have one element, a [PackedByteArray](PackedByteArray.md) containing all the data for the texture. For ``_ARRAY`` and ``_CUBE`` types, the length should be the same as the number of [RDTextureFormat.array_layers](RDTextureFormat.md#RDTextureFormat_property_array_layers) in `format`. -\ **Note:** Not to be confused with [RenderingServer.texture_2d_create()](RenderingServer.md#RenderingServer_method_texture_2d_create), which creates the Redot-specific [Texture2D](Texture2D.md) resource as opposed to the graphics API's own texture type. +\ **Note:** Not to be confused with [RenderingServer.texture_2d_create()](RenderingServer.md#RenderingServer_method_texture_2d_create), which creates the Godot-specific [Texture2D](Texture2D.md) resource as opposed to the graphics API's own texture type.
diff --git a/docs/Classes/Resource.md b/docs/Classes/Resource.md index 10f798f9..a6a2d74a 100644 --- a/docs/Classes/Resource.md +++ b/docs/Classes/Resource.md @@ -11,7 +11,7 @@ **Inherits:** [RefCounted](RefCounted.md) **\<** [Object](Object.md) -**Inherited By:** [Animation](Animation.md), [AnimationLibrary](AnimationLibrary.md), [AnimationNode](AnimationNode.md), [AnimationNodeStateMachinePlayback](AnimationNodeStateMachinePlayback.md), [AnimationNodeStateMachineTransition](AnimationNodeStateMachineTransition.md), [AudioBusLayout](AudioBusLayout.md), [AudioEffect](AudioEffect.md), [AudioStream](AudioStream.md), [BitMap](BitMap.md), [BoneMap](BoneMap.md), [ButtonGroup](ButtonGroup.md), [CameraAttributes](CameraAttributes.md), [ColorPalette](ColorPalette.md), [Compositor](Compositor.md), [CompositorEffect](CompositorEffect.md), [CryptoKey](CryptoKey.md), [Curve](Curve.md), [Curve2D](Curve2D.md), [Curve3D](Curve3D.md), [EditorNode3DGizmoPlugin](EditorNode3DGizmoPlugin.md), [EditorSettings](EditorSettings.md), [Environment](Environment.md), [FoldableGroup](FoldableGroup.md), [Font](Font.md), [GDExtension](GDExtension.md), [GLTFAccessor](GLTFAccessor.md), [GLTFAnimation](GLTFAnimation.md), [GLTFBufferView](GLTFBufferView.md), [GLTFCamera](GLTFCamera.md), [GLTFDocument](GLTFDocument.md), [GLTFDocumentExtension](GLTFDocumentExtension.md), [GLTFLight](GLTFLight.md), [GLTFMesh](GLTFMesh.md), [GLTFNode](GLTFNode.md), [GLTFPhysicsBody](GLTFPhysicsBody.md), [GLTFPhysicsShape](GLTFPhysicsShape.md), [GLTFSkeleton](GLTFSkeleton.md), [GLTFSkin](GLTFSkin.md), [GLTFSpecGloss](GLTFSpecGloss.md), [GLTFState](GLTFState.md), [GLTFTexture](GLTFTexture.md), [GLTFTextureSampler](GLTFTextureSampler.md), [Gradient](Gradient.md), [Image](Image.md), [ImageFrames](ImageFrames.md), [ImporterMesh](ImporterMesh.md), [InputEvent](InputEvent.md), [JSON](JSON.md), [LabelSettings](LabelSettings.md), [LightmapGIData](LightmapGIData.md), [Material](Material.md), [Mesh](Mesh.md), [MeshLibrary](MeshLibrary.md), [MissingResource](MissingResource.md), [MultiMesh](MultiMesh.md), [NavigationMesh](NavigationMesh.md), [NavigationMeshSourceGeometryData2D](NavigationMeshSourceGeometryData2D.md), [NavigationMeshSourceGeometryData3D](NavigationMeshSourceGeometryData3D.md), [NavigationPolygon](NavigationPolygon.md), [Noise](Noise.md), [Occluder3D](Occluder3D.md), [OccluderPolygon2D](OccluderPolygon2D.md), [OggPacketSequence](OggPacketSequence.md), [OpenXRAction](OpenXRAction.md), [OpenXRActionMap](OpenXRActionMap.md), [OpenXRActionSet](OpenXRActionSet.md), [OpenXRBindingModifier](OpenXRBindingModifier.md), [OpenXRHapticBase](OpenXRHapticBase.md), [OpenXRInteractionProfile](OpenXRInteractionProfile.md), [OpenXRIPBinding](OpenXRIPBinding.md), [PackedDataContainer](PackedDataContainer.md), [PackedScene](PackedScene.md), [PhysicsMaterial](PhysicsMaterial.md), [PolygonPathFinder](PolygonPathFinder.md), [RDShaderFile](RDShaderFile.md), [RDShaderSPIRV](RDShaderSPIRV.md), [RichTextEffect](RichTextEffect.md), [SceneReplicationConfig](SceneReplicationConfig.md), [Script](Script.md), [Shader](Shader.md), [ShaderInclude](ShaderInclude.md), [Shape2D](Shape2D.md), [Shape3D](Shape3D.md), [Shortcut](Shortcut.md), [SkeletonModification2D](SkeletonModification2D.md), [SkeletonModificationStack2D](SkeletonModificationStack2D.md), [SkeletonProfile](SkeletonProfile.md), [Skin](Skin.md), [Sky](Sky.md), [SpriteFrames](SpriteFrames.md), [StyleBox](StyleBox.md), [SyntaxHighlighter](SyntaxHighlighter.md), [Texture](Texture.md), [Theme](Theme.md), [TileMapPattern](TileMapPattern.md), [TileSet](TileSet.md), [TileSetSource](TileSetSource.md), [Translation](Translation.md), [VideoStream](VideoStream.md), [VideoStreamPlayback](VideoStreamPlayback.md), [VisualShaderNode](VisualShaderNode.md), [VoxelGIData](VoxelGIData.md), [World2D](World2D.md), [World3D](World3D.md), [X509Certificate](X509Certificate.md) +**Inherited By:** [Animation](Animation.md), [AnimationLibrary](AnimationLibrary.md), [AnimationNode](AnimationNode.md), [AnimationNodeStateMachinePlayback](AnimationNodeStateMachinePlayback.md), [AnimationNodeStateMachineTransition](AnimationNodeStateMachineTransition.md), [AudioBusLayout](AudioBusLayout.md), [AudioEffect](AudioEffect.md), [AudioStream](AudioStream.md), [BitMap](BitMap.md), [BoneMap](BoneMap.md), [ButtonGroup](ButtonGroup.md), [CameraAttributes](CameraAttributes.md), [ColorPalette](ColorPalette.md), [Compositor](Compositor.md), [CompositorEffect](CompositorEffect.md), [CryptoKey](CryptoKey.md), [Curve](Curve.md), [Curve2D](Curve2D.md), [Curve3D](Curve3D.md), [EditorNode3DGizmoPlugin](EditorNode3DGizmoPlugin.md), [EditorSettings](EditorSettings.md), [Environment](Environment.md), [FoldableGroup](FoldableGroup.md), [Font](Font.md), [GDExtension](GDExtension.md), [GLTFAccessor](GLTFAccessor.md), [GLTFAnimation](GLTFAnimation.md), [GLTFBufferView](GLTFBufferView.md), [GLTFCamera](GLTFCamera.md), [GLTFDocument](GLTFDocument.md), [GLTFDocumentExtension](GLTFDocumentExtension.md), [GLTFLight](GLTFLight.md), [GLTFMesh](GLTFMesh.md), [GLTFNode](GLTFNode.md), [GLTFPhysicsBody](GLTFPhysicsBody.md), [GLTFPhysicsShape](GLTFPhysicsShape.md), [GLTFSkeleton](GLTFSkeleton.md), [GLTFSkin](GLTFSkin.md), [GLTFSpecGloss](GLTFSpecGloss.md), [GLTFState](GLTFState.md), [GLTFTexture](GLTFTexture.md), [GLTFTextureSampler](GLTFTextureSampler.md), [Gradient](Gradient.md), [Image](Image.md), [ImageFrames](ImageFrames.md), [ImporterMesh](ImporterMesh.md), [InputEvent](InputEvent.md), [JointLimitation3D](JointLimitation3D.md), [JSON](JSON.md), [LabelSettings](LabelSettings.md), [LightmapGIData](LightmapGIData.md), [Material](Material.md), [Mesh](Mesh.md), [MeshLibrary](MeshLibrary.md), [MissingResource](MissingResource.md), [MultiMesh](MultiMesh.md), [NavigationMesh](NavigationMesh.md), [NavigationMeshSourceGeometryData2D](NavigationMeshSourceGeometryData2D.md), [NavigationMeshSourceGeometryData3D](NavigationMeshSourceGeometryData3D.md), [NavigationPolygon](NavigationPolygon.md), [Noise](Noise.md), [Occluder3D](Occluder3D.md), [OccluderPolygon2D](OccluderPolygon2D.md), [OggPacketSequence](OggPacketSequence.md), [OpenXRAction](OpenXRAction.md), [OpenXRActionMap](OpenXRActionMap.md), [OpenXRActionSet](OpenXRActionSet.md), [OpenXRBindingModifier](OpenXRBindingModifier.md), [OpenXRHapticBase](OpenXRHapticBase.md), [OpenXRInteractionProfile](OpenXRInteractionProfile.md), [OpenXRIPBinding](OpenXRIPBinding.md), [PackedDataContainer](PackedDataContainer.md), [PackedScene](PackedScene.md), [PhysicsMaterial](PhysicsMaterial.md), [PolygonPathFinder](PolygonPathFinder.md), [RDShaderFile](RDShaderFile.md), [RDShaderSPIRV](RDShaderSPIRV.md), [RichTextEffect](RichTextEffect.md), [SceneReplicationConfig](SceneReplicationConfig.md), [Script](Script.md), [Shader](Shader.md), [ShaderInclude](ShaderInclude.md), [Shape2D](Shape2D.md), [Shape3D](Shape3D.md), [Shortcut](Shortcut.md), [SkeletonModification2D](SkeletonModification2D.md), [SkeletonModificationStack2D](SkeletonModificationStack2D.md), [SkeletonProfile](SkeletonProfile.md), [Skin](Skin.md), [Sky](Sky.md), [SpriteFrames](SpriteFrames.md), [StyleBox](StyleBox.md), [SyntaxHighlighter](SyntaxHighlighter.md), [Texture](Texture.md), [Theme](Theme.md), [TileMapPattern](TileMapPattern.md), [TileSet](TileSet.md), [TileSetSource](TileSetSource.md), [Translation](Translation.md), [VideoStream](VideoStream.md), [VideoStreamPlayback](VideoStreamPlayback.md), [VisualShaderNode](VisualShaderNode.md), [VoxelGIData](VoxelGIData.md), [World2D](World2D.md), [World3D](World3D.md), [X509Certificate](X509Certificate.md) Base class for serializable objects. @@ -19,7 +19,7 @@ Base class for serializable objects. ## Description -Resource is the base class for all Redot-specific resource types, serving primarily as data containers. Since they inherit from [RefCounted](RefCounted.md), resources are reference-counted and freed when no longer in use. They can also be nested within other resources, and saved on disk. [PackedScene](PackedScene.md), one of the most common [Object](Object.md)\\ s in a Redot project, is also a resource, uniquely capable of storing and instantiating the [Node](Node.md)\\ s it contains as many times as desired. +Resource is the base class for all Godot-specific resource types, serving primarily as data containers. Since they inherit from [RefCounted](RefCounted.md), resources are reference-counted and freed when no longer in use. They can also be nested within other resources, and saved on disk. [PackedScene](PackedScene.md), one of the most common [Object](Object.md)\\ s in a Redot project, is also a resource, uniquely capable of storing and instantiating the [Node](Node.md)\\ s it contains as many times as desired. In GDScript, resources can loaded from disk by their [resource_path](Resource.md#Resource_property_resource_path) using [@GDScript.load()](@GDScript.md#@GDScript_method_load) or [@GDScript.preload()](@GDScript.md#@GDScript_method_preload). @@ -271,7 +271,7 @@ The unique path to this resource. If it has been saved to disk, the value will b - `void` **set_scene_unique_id**\ (\ value\: [String](String.md)\ ) - [String](String.md) **get_scene_unique_id**\ (\ ) -A unique identifier relative to the this resource's scene. If left empty, the ID is automatically generated when this resource is saved inside a [PackedScene](PackedScene.md). If the resource is not inside a scene, this property is empty by default. +A unique identifier relative to this resource's scene. If left empty, the ID is automatically generated when this resource is saved inside a [PackedScene](PackedScene.md). If the resource is not inside a scene, this property is empty by default. \ **Note:** When the [PackedScene](PackedScene.md) is saved, if multiple resources in the same scene use the same ID, only the earliest resource in the scene hierarchy keeps the original ID. The other resources are assigned new IDs from [generate_scene_unique_id()](Resource.md#Resource_method_generate_scene_unique_id). diff --git a/docs/Classes/ResourceImporterShaderFile.md b/docs/Classes/ResourceImporterShaderFile.md index 5ec5a3cb..81b48e7c 100644 --- a/docs/Classes/ResourceImporterShaderFile.md +++ b/docs/Classes/ResourceImporterShaderFile.md @@ -11,7 +11,7 @@ **Inherits:** [ResourceImporter](ResourceImporter.md) **\<** [RefCounted](RefCounted.md) **\<** [Object](Object.md) -Imports native GLSL shaders (not Redot Shaders) as an [RDShaderFile](RDShaderFile.md). +Imports native GLSL shaders (not Godot Shaders) as an [RDShaderFile](RDShaderFile.md). diff --git a/docs/Classes/ResourceImporterTexture.md b/docs/Classes/ResourceImporterTexture.md index 0cdcf095..4cd627bc 100644 --- a/docs/Classes/ResourceImporterTexture.md +++ b/docs/Classes/ResourceImporterTexture.md @@ -304,7 +304,7 @@ Changing this import option only has an effect if a texture is detected as being [bool](bool.md) **editor/convert_colors_with_editor_theme** = `false` [🔗](#ResourceImporterTexture_property_editor/convert_colors_with_editor_theme) -If ``true``, converts the imported image's colors to match [EditorSettings.interface/theme/icon_and_font_color](EditorSettings.md#EditorSettings_property_interface/theme/icon_and_font_color). This assumes the image uses the exact same colors as [Redot's own color palette for editor icons](../Contributing/Development/editor/creating_icons.md), with the source file designed for a dark editor theme. This should be enabled for editor plugin icons and custom class icons, but should be left disabled otherwise. +If ``true``, converts the imported image's colors to match [EditorSettings.interface/theme/icon_and_font_color](EditorSettings.md#EditorSettings_property_interface/theme/icon_and_font_color). This assumes the image uses the exact same colors as [Godot's own color palette for editor icons](../engine_details/editor/creating_icons.md), with the source file designed for a dark editor theme. This should be enabled for editor plugin icons and custom class icons, but should be left disabled otherwise. \ **Note:** Only available for SVG images. diff --git a/docs/Classes/SceneMultiplayer.md b/docs/Classes/SceneMultiplayer.md index f772725a..c13c2efc 100644 --- a/docs/Classes/SceneMultiplayer.md +++ b/docs/Classes/SceneMultiplayer.md @@ -23,7 +23,7 @@ This implementation supports RPCs via [Node.rpc()](Node.md#Node_method_rpc) and This implementation additionally provide [SceneTree](SceneTree.md) replication via the [MultiplayerSpawner](MultiplayerSpawner.md) and [MultiplayerSynchronizer](MultiplayerSynchronizer.md) nodes, and the [SceneReplicationConfig](SceneReplicationConfig.md) resource. -\ **Note:** The high-level multiplayer API protocol is an implementation detail and isn't meant to be used by non-Redot servers. It may change without notice. +\ **Note:** The high-level multiplayer API protocol is an implementation detail and isn't meant to be used by non-Godot servers. It may change without notice. \ **Note:** When exporting to Android, make sure to enable the ``INTERNET`` permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android. diff --git a/docs/Classes/Signal.md b/docs/Classes/Signal.md index 3400cb87..88f656fd 100644 --- a/docs/Classes/Signal.md +++ b/docs/Classes/Signal.md @@ -127,9 +127,9 @@ As seen above, the recommended method to connect signals is not [Object.connect( var button = new Button(); // Option 1: In C#, we can use signals as events and connect with this idiomatic syntax: button.ButtonDown += OnButtonDown; - // Option 2: RedotObject.Connect() with a constructed Callable from a method group. + // Option 2: GodotObject.Connect() with a constructed Callable from a method group. button.Connect(Button.SignalName.ButtonDown, Callable.From(OnButtonDown)); - // Option 3: RedotObject.Connect() with a constructed Callable using a target object and method name. + // Option 3: GodotObject.Connect() with a constructed Callable using a target object and method name. button.Connect(Button.SignalName.ButtonDown, new Callable(this, MethodName.OnButtonDown)); } @@ -203,7 +203,7 @@ There are notable differences when using this API with C#. See the C# difference ## Tutorials -- [Using Signals](../Getting%20Started/step_by_step/signals.md) +- [Using Signals](../getting_started/step_by_step/signals.md) - [GDScript Basics](../tutorials/scripting/gdscript/gdscript_basics.md#signals) diff --git a/docs/Classes/SkeletonModifier3D.md b/docs/Classes/SkeletonModifier3D.md index a2bcba67..019b56e0 100644 --- a/docs/Classes/SkeletonModifier3D.md +++ b/docs/Classes/SkeletonModifier3D.md @@ -11,7 +11,7 @@ **Inherits:** [Node3D](Node3D.md) **\<** [Node](Node.md) **\<** [Object](Object.md) -**Inherited By:** [BoneConstraint3D](BoneConstraint3D.md), [LookAtModifier3D](LookAtModifier3D.md), [ModifierBoneTarget3D](ModifierBoneTarget3D.md), [PhysicalBoneSimulator3D](PhysicalBoneSimulator3D.md), [RetargetModifier3D](RetargetModifier3D.md), [SkeletonIK3D](SkeletonIK3D.md), [SpringBoneSimulator3D](SpringBoneSimulator3D.md), [XRBodyModifier3D](XRBodyModifier3D.md), [XRHandModifier3D](XRHandModifier3D.md) +**Inherited By:** [BoneConstraint3D](BoneConstraint3D.md), [BoneTwistDisperser3D](BoneTwistDisperser3D.md), [IKModifier3D](IKModifier3D.md), [LimitAngularVelocityModifier3D](LimitAngularVelocityModifier3D.md), [LookAtModifier3D](LookAtModifier3D.md), [ModifierBoneTarget3D](ModifierBoneTarget3D.md), [PhysicalBoneSimulator3D](PhysicalBoneSimulator3D.md), [RetargetModifier3D](RetargetModifier3D.md), [SkeletonIK3D](SkeletonIK3D.md), [SpringBoneSimulator3D](SpringBoneSimulator3D.md), [XRBodyModifier3D](XRBodyModifier3D.md), [XRHandModifier3D](XRHandModifier3D.md) A node that may modify a Skeleton3D's bones. @@ -147,7 +147,151 @@ Enumerated value for the +Z axis. +Enumerated value for the -Z axis.
+ +
+ + + +enum **BoneDirection**: [🔗](#enum_SkeletonModifier3D_BoneDirection) + + + + + +[BoneDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_BoneDirection) **BONE_DIRECTION_PLUS_X** = `0` + +Enumerated value for the +X axis. + + + +[BoneDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_BoneDirection) **BONE_DIRECTION_MINUS_X** = `1` + +Enumerated value for the -X axis. + + + +[BoneDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_BoneDirection) **BONE_DIRECTION_PLUS_Y** = `2` + +Enumerated value for the +Y axis. + + + +[BoneDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_BoneDirection) **BONE_DIRECTION_MINUS_Y** = `3` + +Enumerated value for the -Y axis. + + + +[BoneDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_BoneDirection) **BONE_DIRECTION_PLUS_Z** = `4` + +Enumerated value for the +Z axis. + + + +[BoneDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_BoneDirection) **BONE_DIRECTION_MINUS_Z** = `5` + +Enumerated value for the -Z axis. + + + +[BoneDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_BoneDirection) **BONE_DIRECTION_FROM_PARENT** = `6` + +Enumerated value for the axis from a parent bone to the child bone.
+ + + + + +enum **SecondaryDirection**: [🔗](#enum_SkeletonModifier3D_SecondaryDirection) + + + + + +[SecondaryDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_SecondaryDirection) **SECONDARY_DIRECTION_NONE** = `0` + +Enumerated value for the case when the axis is undefined. + + + +[SecondaryDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_SecondaryDirection) **SECONDARY_DIRECTION_PLUS_X** = `1` + +Enumerated value for the +X axis. + + + +[SecondaryDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_SecondaryDirection) **SECONDARY_DIRECTION_MINUS_X** = `2` + +Enumerated value for the -X axis. + + + +[SecondaryDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_SecondaryDirection) **SECONDARY_DIRECTION_PLUS_Y** = `3` + +Enumerated value for the +Y axis. + + + +[SecondaryDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_SecondaryDirection) **SECONDARY_DIRECTION_MINUS_Y** = `4` + +Enumerated value for the -Y axis. + + + +[SecondaryDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_SecondaryDirection) **SECONDARY_DIRECTION_PLUS_Z** = `5` + +Enumerated value for the +Z axis. + + + +[SecondaryDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_SecondaryDirection) **SECONDARY_DIRECTION_MINUS_Z** = `6` + +Enumerated value for the -Z axis. + + + +[SecondaryDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_SecondaryDirection) **SECONDARY_DIRECTION_CUSTOM** = `7` + +Enumerated value for an optional axis.
+ + + + + +enum **RotationAxis**: [🔗](#enum_SkeletonModifier3D_RotationAxis) + + + + + +[RotationAxis](SkeletonModifier3D.md#enum_SkeletonModifier3D_RotationAxis) **ROTATION_AXIS_X** = `0` + +Enumerated value for the rotation of the X axis. + + + +[RotationAxis](SkeletonModifier3D.md#enum_SkeletonModifier3D_RotationAxis) **ROTATION_AXIS_Y** = `1` + +Enumerated value for the rotation of the Y axis. + + + +[RotationAxis](SkeletonModifier3D.md#enum_SkeletonModifier3D_RotationAxis) **ROTATION_AXIS_Z** = `2` + +Enumerated value for the rotation of the Z axis. + + + +[RotationAxis](SkeletonModifier3D.md#enum_SkeletonModifier3D_RotationAxis) **ROTATION_AXIS_ALL** = `3` + +Enumerated value for the unconstrained rotation. + + + +[RotationAxis](SkeletonModifier3D.md#enum_SkeletonModifier3D_RotationAxis) **ROTATION_AXIS_CUSTOM** = `4` + +Enumerated value for an optional rotation axis.
@@ -215,6 +359,8 @@ Override this virtual method to implement a custom skeleton modifier. You should \ `delta` is passed from parent [Skeleton3D](Skeleton3D.md). See also [Skeleton3D.advance()](Skeleton3D.md#Skeleton3D_method_advance). +\ **Note:** This method may be called outside [Node._process()](Node.md#Node_private_method__process) and [Node._physics_process()](Node.md#Node_private_method__physics_process) with `delta` is ``0.0``, since the modification should be processed immediately after initialization of the [Skeleton3D](Skeleton3D.md). +
diff --git a/docs/Classes/SoftBody3D.md b/docs/Classes/SoftBody3D.md index 3beb378f..4b7021c1 100644 --- a/docs/Classes/SoftBody3D.md +++ b/docs/Classes/SoftBody3D.md @@ -21,7 +21,7 @@ A deformable 3D physics mesh. Used to create elastic or deformable objects such Additionally, **SoftBody3D** is subject to wind forces defined in [Area3D](Area3D.md) (see [Area3D.wind_source_path](Area3D.md#Area3D_property_wind_source_path), [Area3D.wind_force_magnitude](Area3D.md#Area3D_property_wind_force_magnitude), and [Area3D.wind_attenuation_factor](Area3D.md#Area3D_property_wind_attenuation_factor)). -\ **Note:** It's recommended to use Jolt Physics when using **SoftBody3D** instead of the default RedotPhysics3D, as Jolt Physics' soft body implementation is faster and more reliable. You can switch the physics engine using the [ProjectSettings.physics/3d/physics_engine](ProjectSettings.md#ProjectSettings_property_physics/3d/physics_engine) project setting. +\ **Note:** It's recommended to use Jolt Physics when using **SoftBody3D** instead of the default GodotPhysics3D, as Jolt Physics' soft body implementation is faster and more reliable. You can switch the physics engine using the [ProjectSettings.physics/3d/physics_engine](ProjectSettings.md#ProjectSettings_property_physics/3d/physics_engine) project setting. diff --git a/docs/Classes/SignalSmith.md b/docs/Classes/SoundSmith.md similarity index 62% rename from docs/Classes/SignalSmith.md rename to docs/Classes/SoundSmith.md index 989e8620..e64d0ffd 100644 --- a/docs/Classes/SignalSmith.md +++ b/docs/Classes/SoundSmith.md @@ -3,21 +3,21 @@ - + - + -# SignalSmith +# SoundSmith **Inherits:** [RefCounted](RefCounted.md) **\<** [Object](Object.md) -Performs time-stretching and pitch-shifting on raw audio buffers using Signalsmith. +Performs time-stretching and pitch-shifting on raw audio buffers using Soundsmith. ## Description -SignalSmith is a low-level audio processing utility which wraps the Signalsmith time-stretching library. It operates on raw interleaved floating-point PCM audio buffers and allows independent control of playback tempo and pitch. +SoundSmith is a low-level audio processing utility which wraps the Soundsmith time-stretching library. It operates on raw interleaved floating-point PCM audio buffers and allows independent control of playback tempo and pitch. @@ -27,41 +27,41 @@ SignalSmith is a low-level audio processing utility which wraps the Signalsmith [AudioStreamWAV](AudioStreamWAV.md) - [change_tempo](#SignalSmith_method_change_tempo)\ (\ path\: [String](String.md), tempo\: [float](float.md), pitch\: [float](float.md) = 1.0\ ) + [change_tempo](#SoundSmith_method_change_tempo)\ (\ path\: [String](String.md), tempo\: [float](float.md), pitch\: [float](float.md) = 1.0\ ) [int](int.md) - [get_last_channels](#SignalSmith_method_get_last_channels)\ (\ ) const + [get_last_channels](#SoundSmith_method_get_last_channels)\ (\ ) const [int](int.md) - [get_last_sample_rate](#SignalSmith_method_get_last_sample_rate)\ (\ ) const + [get_last_sample_rate](#SoundSmith_method_get_last_sample_rate)\ (\ ) const [PackedFloat32Array](PackedFloat32Array.md) - [process](#SignalSmith_method_process)\ (\ input\: [PackedFloat32Array](PackedFloat32Array.md)\ ) + [process](#SoundSmith_method_process)\ (\ input\: [PackedFloat32Array](PackedFloat32Array.md)\ ) `void` - [reset](#SignalSmith_method_reset)\ (\ ) + [reset](#SoundSmith_method_reset)\ (\ ) `void` - [set_channels](#SignalSmith_method_set_channels)\ (\ channels\: [int](int.md)\ ) + [set_channels](#SoundSmith_method_set_channels)\ (\ channels\: [int](int.md)\ ) `void` - [set_pitch](#SignalSmith_method_set_pitch)\ (\ pitch\: [float](float.md)\ ) + [set_pitch](#SoundSmith_method_set_pitch)\ (\ pitch\: [float](float.md)\ ) `void` - [set_sample_rate](#SignalSmith_method_set_sample_rate)\ (\ rate\: [int](int.md)\ ) + [set_sample_rate](#SoundSmith_method_set_sample_rate)\ (\ rate\: [int](int.md)\ ) `void` - [set_tempo](#SignalSmith_method_set_tempo)\ (\ tempo\: [float](float.md)\ ) + [set_tempo](#SoundSmith_method_set_tempo)\ (\ tempo\: [float](float.md)\ ) @@ -72,13 +72,13 @@ SignalSmith is a low-level audio processing utility which wraps the Signalsmith ## Method Descriptions - + -[AudioStreamWAV](AudioStreamWAV.md) **change_tempo**\ (\ path\: [String](String.md), tempo\: [float](float.md), pitch\: [float](float.md) = 1.0\ ) [🔗](#SignalSmith_method_change_tempo) +[AudioStreamWAV](AudioStreamWAV.md) **change_tempo**\ (\ path\: [String](String.md), tempo\: [float](float.md), pitch\: [float](float.md) = 1.0\ ) [🔗](#SoundSmith_method_change_tempo) -Loads an MP3 file, applies time-stretching and pitch-shifting using the Signalsmith engine, and returns a streamable AudioStreamWAV. +Loads an MP3 file, applies time-stretching and pitch-shifting using the Soundsmith engine, and returns a streamable AudioStreamWAV. The `tempo` parameter controls playback speed without affecting pitch. A value of `1.0` preserves the original speed. @@ -88,11 +88,11 @@ and `0.5` lowers pitch by one octave.
- + -[int](int.md) **get_last_channels**\ (\ ) const [🔗](#SignalSmith_method_get_last_channels) +[int](int.md) **get_last_channels**\ (\ ) const [🔗](#SoundSmith_method_get_last_channels)
There is currently no description for this method. Please help us by contributing one! @@ -101,11 +101,11 @@ There is currently no description for this method. Please help us by contributin
- + -[int](int.md) **get_last_sample_rate**\ (\ ) const [🔗](#SignalSmith_method_get_last_sample_rate) +[int](int.md) **get_last_sample_rate**\ (\ ) const [🔗](#SoundSmith_method_get_last_sample_rate)
There is currently no description for this method. Please help us by contributing one! @@ -114,11 +114,11 @@ There is currently no description for this method. Please help us by contributin
- + -[PackedFloat32Array](PackedFloat32Array.md) **process**\ (\ input\: [PackedFloat32Array](PackedFloat32Array.md)\ ) [🔗](#SignalSmith_method_process) +[PackedFloat32Array](PackedFloat32Array.md) **process**\ (\ input\: [PackedFloat32Array](PackedFloat32Array.md)\ ) [🔗](#SoundSmith_method_process) Processes a block of interleaved audio samples and returns a new buffer containing the time-stretched and pitch-shifted result. @@ -126,11 +126,11 @@ The effective playback speed is determined by the ratio of input samples to outp
- + -`void` **reset**\ (\ ) [🔗](#SignalSmith_method_reset) +`void` **reset**\ (\ ) [🔗](#SoundSmith_method_reset) Resets the internal processing state. @@ -138,11 +138,11 @@ This should be called when restarting playback or discontinuously changing input
- + -`void` **set_channels**\ (\ channels\: [int](int.md)\ ) [🔗](#SignalSmith_method_set_channels) +`void` **set_channels**\ (\ channels\: [int](int.md)\ ) [🔗](#SoundSmith_method_set_channels) Sets the number of audio channels. @@ -150,11 +150,11 @@ Input and output buffers are expected to be interleaved according to this channe
- + -`void` **set_pitch**\ (\ pitch\: [float](float.md)\ ) [🔗](#SignalSmith_method_set_pitch) +`void` **set_pitch**\ (\ pitch\: [float](float.md)\ ) [🔗](#SoundSmith_method_set_pitch) Sets the pitch transpose factor. @@ -162,11 +162,11 @@ A value of `1.0` leaves pitch unchanged. Values greater than `1.0` raise pitch,
- + -`void` **set_sample_rate**\ (\ rate\: [int](int.md)\ ) [🔗](#SignalSmith_method_set_sample_rate) +`void` **set_sample_rate**\ (\ rate\: [int](int.md)\ ) [🔗](#SoundSmith_method_set_sample_rate) Sets the sample rate, in Hz, used by the internal processing engine. @@ -174,11 +174,11 @@ Changing the sample rate resets the internal state.
- + -`void` **set_tempo**\ (\ tempo\: [float](float.md)\ ) [🔗](#SignalSmith_method_set_tempo) +`void` **set_tempo**\ (\ tempo\: [float](float.md)\ ) [🔗](#SoundSmith_method_set_tempo) Sets the tempo multiplier used during processing. diff --git a/docs/Classes/SplineIK3D.md b/docs/Classes/SplineIK3D.md new file mode 100644 index 00000000..f275c01d --- /dev/null +++ b/docs/Classes/SplineIK3D.md @@ -0,0 +1,199 @@ + + + + + + + + + +# SplineIK3D + +**Inherits:** [ChainIK3D](ChainIK3D.md) **\<** [IKModifier3D](IKModifier3D.md) **\<** [SkeletonModifier3D](SkeletonModifier3D.md) **\<** [Node3D](Node3D.md) **\<** [Node](Node.md) **\<** [Object](Object.md) + +A [SkeletonModifier3D](SkeletonModifier3D.md) for aligning bones along a [Path3D](Path3D.md). + + + +## Description + +A [SkeletonModifier3D](SkeletonModifier3D.md) for aligning bones along a [Path3D](Path3D.md). The smoothness of the fitting depends on the [Curve3D.bake_interval](Curve3D.md#Curve3D_property_bake_interval). + +If you want the [Path3D](Path3D.md) to attach to a specific bone, it is recommended to place a [ModifierBoneTarget3D](ModifierBoneTarget3D.md) before the **SplineIK3D** in the [SkeletonModifier3D](SkeletonModifier3D.md) list (children of the [Skeleton3D](Skeleton3D.md)), and then place a [Path3D](Path3D.md) as the [ModifierBoneTarget3D](ModifierBoneTarget3D.md)'s child. + +Bone twist is determined based on the [Curve3D.get_point_tilt()](Curve3D.md#Curve3D_method_get_point_tilt). + +If the root bone joint and the start point of the [Curve3D](Curve3D.md) are separated, it assumes that there is a linear line segment between them. This means that the vector pointing toward the start point of the [Curve3D](Curve3D.md) takes precedence over the shortest intersection point along the [Curve3D](Curve3D.md). + +If the end bone joint exceeds the path length, it is bent as close as possible to the end point of the [Curve3D](Curve3D.md). + + + +## Properties + + + + + + + + + + + +
[int](int.md)[setting_count](#SplineIK3D_property_setting_count)`0`
+ + + +## Methods + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
[NodePath](NodePath.md)[get_path_3d](#SplineIK3D_method_get_path_3d)\ (\ index\: [int](int.md)\ ) const
[int](int.md)[get_tilt_fade_in](#SplineIK3D_method_get_tilt_fade_in)\ (\ index\: [int](int.md)\ ) const
[int](int.md)[get_tilt_fade_out](#SplineIK3D_method_get_tilt_fade_out)\ (\ index\: [int](int.md)\ ) const
[bool](bool.md)[is_tilt_enabled](#SplineIK3D_method_is_tilt_enabled)\ (\ index\: [int](int.md)\ ) const
`void`[set_path_3d](#SplineIK3D_method_set_path_3d)\ (\ index\: [int](int.md), path_3d\: [NodePath](NodePath.md)\ )
`void`[set_tilt_enabled](#SplineIK3D_method_set_tilt_enabled)\ (\ index\: [int](int.md), enabled\: [bool](bool.md)\ )
`void`[set_tilt_fade_in](#SplineIK3D_method_set_tilt_fade_in)\ (\ index\: [int](int.md), size\: [int](int.md)\ )
`void`[set_tilt_fade_out](#SplineIK3D_method_set_tilt_fade_out)\ (\ index\: [int](int.md), size\: [int](int.md)\ )
+ +
+ + + +## Property Descriptions + + + + + +[int](int.md) **setting_count** = `0` [🔗](#SplineIK3D_property_setting_count) + + + +- `void` **set_setting_count**\ (\ value\: [int](int.md)\ ) +- [int](int.md) **get_setting_count**\ (\ ) + +The number of settings. + +
+ + + +## Method Descriptions + + + + + +[NodePath](NodePath.md) **get_path_3d**\ (\ index\: [int](int.md)\ ) const [🔗](#SplineIK3D_method_get_path_3d) + +Returns the node path of the [Path3D](Path3D.md) which is describing the path. + +
+ + + + + +[int](int.md) **get_tilt_fade_in**\ (\ index\: [int](int.md)\ ) const [🔗](#SplineIK3D_method_get_tilt_fade_in) + +Returns the tilt interpolation method used between the root bone and the start point of the [Curve3D](Curve3D.md) when they are apart. See also [set_tilt_fade_in()](SplineIK3D.md#SplineIK3D_method_set_tilt_fade_in). + +
+ + + + + +[int](int.md) **get_tilt_fade_out**\ (\ index\: [int](int.md)\ ) const [🔗](#SplineIK3D_method_get_tilt_fade_out) + +Returns the tilt interpolation method used between the end bone and the end point of the [Curve3D](Curve3D.md) when they are apart. See also [set_tilt_fade_out()](SplineIK3D.md#SplineIK3D_method_set_tilt_fade_out). + +
+ + + + + +[bool](bool.md) **is_tilt_enabled**\ (\ index\: [int](int.md)\ ) const [🔗](#SplineIK3D_method_is_tilt_enabled) + +Returns if the tilt property of the [Curve3D](Curve3D.md) affects the bone twist. + +
+ + + + + +`void` **set_path_3d**\ (\ index\: [int](int.md), path_3d\: [NodePath](NodePath.md)\ ) [🔗](#SplineIK3D_method_set_path_3d) + +Sets the node path of the [Path3D](Path3D.md) which is describing the path. + +
+ + + + + +`void` **set_tilt_enabled**\ (\ index\: [int](int.md), enabled\: [bool](bool.md)\ ) [🔗](#SplineIK3D_method_set_tilt_enabled) + +Sets if the tilt property of the [Curve3D](Curve3D.md) should affect the bone twist. + +
+ + + + + +`void` **set_tilt_fade_in**\ (\ index\: [int](int.md), size\: [int](int.md)\ ) [🔗](#SplineIK3D_method_set_tilt_fade_in) + +If `size` is greater than ``0``, the tilt is interpolated between `size` start bones from the start point of the [Curve3D](Curve3D.md) when they are apart. + +If `size` is equal ``0``, the tilts between the root bone head and the start point of the [Curve3D](Curve3D.md) are unified with a tilt of the start point of the [Curve3D](Curve3D.md). + +If `size` is less than ``0``, the tilts between the root bone and the start point of the [Curve3D](Curve3D.md) are ``0.0``. + +
+ + + + + +`void` **set_tilt_fade_out**\ (\ index\: [int](int.md), size\: [int](int.md)\ ) [🔗](#SplineIK3D_method_set_tilt_fade_out) + +If `size` is greater than ``0``, the tilt is interpolated between `size` end bones from the end point of the [Curve3D](Curve3D.md) when they are apart. + +If `size` is equal ``0``, the tilts between the end bone tail and the end point of the [Curve3D](Curve3D.md) are unified with a tilt of the end point of the [Curve3D](Curve3D.md). + +If `size` is less than ``0``, the tilts between the end bone and the end point of the [Curve3D](Curve3D.md) are ``0.0``. + diff --git a/docs/Classes/SpringBoneSimulator3D.md b/docs/Classes/SpringBoneSimulator3D.md index 13d7e2c9..a220496e 100644 --- a/docs/Classes/SpringBoneSimulator3D.md +++ b/docs/Classes/SpringBoneSimulator3D.md @@ -44,6 +44,11 @@ For physical simulation, **SpringBoneSimulator3D** can have children as self-sta + + [bool](bool.md) + [mutable_bone_axes](#SpringBoneSimulator3D_property_mutable_bone_axes) + `true` + [int](int.md) [setting_count](#SpringBoneSimulator3D_property_setting_count) @@ -113,7 +118,7 @@ For physical simulation, **SpringBoneSimulator3D** can have children as self-sta [get_end_bone](#SpringBoneSimulator3D_method_get_end_bone)\ (\ index\: [int](int.md)\ ) const - [BoneDirection](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_BoneDirection) + [BoneDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_BoneDirection) [get_end_bone_direction](#SpringBoneSimulator3D_method_get_end_bone_direction)\ (\ index\: [int](int.md)\ ) const @@ -173,7 +178,7 @@ For physical simulation, **SpringBoneSimulator3D** can have children as self-sta [get_joint_radius](#SpringBoneSimulator3D_method_get_joint_radius)\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const - [RotationAxis](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_RotationAxis) + [RotationAxis](SkeletonModifier3D.md#enum_SkeletonModifier3D_RotationAxis) [get_joint_rotation_axis](#SpringBoneSimulator3D_method_get_joint_rotation_axis)\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const @@ -201,7 +206,7 @@ For physical simulation, **SpringBoneSimulator3D** can have children as self-sta [get_root_bone_name](#SpringBoneSimulator3D_method_get_root_bone_name)\ (\ index\: [int](int.md)\ ) const - [RotationAxis](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_RotationAxis) + [RotationAxis](SkeletonModifier3D.md#enum_SkeletonModifier3D_RotationAxis) [get_rotation_axis](#SpringBoneSimulator3D_method_get_rotation_axis)\ (\ index\: [int](int.md)\ ) const @@ -270,7 +275,7 @@ For physical simulation, **SpringBoneSimulator3D** can have children as self-sta `void` - [set_end_bone_direction](#SpringBoneSimulator3D_method_set_end_bone_direction)\ (\ index\: [int](int.md), bone_direction\: [BoneDirection](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_BoneDirection)\ ) + [set_end_bone_direction](#SpringBoneSimulator3D_method_set_end_bone_direction)\ (\ index\: [int](int.md), bone_direction\: [BoneDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_BoneDirection)\ ) `void` @@ -326,7 +331,7 @@ For physical simulation, **SpringBoneSimulator3D** can have children as self-sta `void` - [set_joint_rotation_axis](#SpringBoneSimulator3D_method_set_joint_rotation_axis)\ (\ index\: [int](int.md), joint\: [int](int.md), axis\: [RotationAxis](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_RotationAxis)\ ) + [set_joint_rotation_axis](#SpringBoneSimulator3D_method_set_joint_rotation_axis)\ (\ index\: [int](int.md), joint\: [int](int.md), axis\: [RotationAxis](SkeletonModifier3D.md#enum_SkeletonModifier3D_RotationAxis)\ ) `void` @@ -354,7 +359,7 @@ For physical simulation, **SpringBoneSimulator3D** can have children as self-sta `void` - [set_rotation_axis](#SpringBoneSimulator3D_method_set_rotation_axis)\ (\ index\: [int](int.md), axis\: [RotationAxis](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_RotationAxis)\ ) + [set_rotation_axis](#SpringBoneSimulator3D_method_set_rotation_axis)\ (\ index\: [int](int.md), axis\: [RotationAxis](SkeletonModifier3D.md#enum_SkeletonModifier3D_RotationAxis)\ ) `void` @@ -377,56 +382,6 @@ For physical simulation, **SpringBoneSimulator3D** can have children as self-sta ## Enumerations - - - - -enum **BoneDirection**: [🔗](#enum_SpringBoneSimulator3D_BoneDirection) - - - - - -[BoneDirection](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_BoneDirection) **BONE_DIRECTION_PLUS_X** = `0` - -Enumerated value for the +X axis. - - - -[BoneDirection](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_BoneDirection) **BONE_DIRECTION_MINUS_X** = `1` - -Enumerated value for the -X axis. - - - -[BoneDirection](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_BoneDirection) **BONE_DIRECTION_PLUS_Y** = `2` - -Enumerated value for the +Y axis. - - - -[BoneDirection](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_BoneDirection) **BONE_DIRECTION_MINUS_Y** = `3` - -Enumerated value for the -Y axis. - - - -[BoneDirection](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_BoneDirection) **BONE_DIRECTION_PLUS_Z** = `4` - -Enumerated value for the +Z axis. - - - -[BoneDirection](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_BoneDirection) **BONE_DIRECTION_MINUS_Z** = `5` - -Enumerated value for the -Z axis. - - - -[BoneDirection](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_BoneDirection) **BONE_DIRECTION_FROM_PARENT** = `6` - -Enumerated value for the axis from a parent bone to the child bone.
- @@ -455,45 +410,7 @@ If [Node3D](Node3D.md) is not found, the parent [Skeleton3D](Skeleton3D.md) is t The bone pose origin of the parent [Skeleton3D](Skeleton3D.md) specified by [set_center_bone()](SpringBoneSimulator3D.md#SpringBoneSimulator3D_method_set_center_bone) is defined as center. -If [Node3D](Node3D.md) is not found, the parent [Skeleton3D](Skeleton3D.md) is treated as center.
- - - - - -enum **RotationAxis**: [🔗](#enum_SpringBoneSimulator3D_RotationAxis) - - - - - -[RotationAxis](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_RotationAxis) **ROTATION_AXIS_X** = `0` - -Enumerated value for the rotation of the X axis. - - - -[RotationAxis](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_RotationAxis) **ROTATION_AXIS_Y** = `1` - -Enumerated value for the rotation of the Y axis. - - - -[RotationAxis](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_RotationAxis) **ROTATION_AXIS_Z** = `2` - -Enumerated value for the rotation of the Z axis. - - - -[RotationAxis](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_RotationAxis) **ROTATION_AXIS_ALL** = `3` - -Enumerated value for the unconstrained rotation. - - - -[RotationAxis](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_RotationAxis) **ROTATION_AXIS_CUSTOM** = `4` - -Enumerated value for an optional rotation axis. See also [set_joint_rotation_axis_vector()](SpringBoneSimulator3D.md#SpringBoneSimulator3D_method_set_joint_rotation_axis_vector).
+If [Node3D](Node3D.md) is not found, the parent [Skeleton3D](Skeleton3D.md) is treated as center.
@@ -516,6 +433,23 @@ This is useful for effects such as wind and anti-gravity.
+ + + + +[bool](bool.md) **mutable_bone_axes** = `true` [🔗](#SpringBoneSimulator3D_property_mutable_bone_axes) + + + +- `void` **set_mutable_bone_axes**\ (\ value\: [bool](bool.md)\ ) +- [bool](bool.md) **are_bone_axes_mutable**\ (\ ) + +If ``true``, the solver retrieves the bone axis from the bone pose every frame. + +If ``false``, the solver retrieves the bone axis from the bone rest and caches it, which increases performance slightly, but position changes in the bone pose made before processing this **SpringBoneSimulator3D** are ignored. + +
+ @@ -669,9 +603,9 @@ Returns the end bone index of the bone chain. -[BoneDirection](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_BoneDirection) **get_end_bone_direction**\ (\ index\: [int](int.md)\ ) const [🔗](#SpringBoneSimulator3D_method_get_end_bone_direction) +[BoneDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_BoneDirection) **get_end_bone_direction**\ (\ index\: [int](int.md)\ ) const [🔗](#SpringBoneSimulator3D_method_get_end_bone_direction) -Returns the end bone's tail direction of the bone chain when [is_end_bone_extended()](SpringBoneSimulator3D.md#SpringBoneSimulator3D_method_is_end_bone_extended) is ``true``. +Returns the tail direction of the end bone of the bone chain when [is_end_bone_extended()](SpringBoneSimulator3D.md#SpringBoneSimulator3D_method_is_end_bone_extended) is ``true``.
@@ -681,7 +615,7 @@ Returns the end bone's tail direction of the bone chain when [is_end_bone_extend [float](float.md) **get_end_bone_length**\ (\ index\: [int](int.md)\ ) const [🔗](#SpringBoneSimulator3D_method_get_end_bone_length) -Returns the end bone's tail length of the bone chain when [is_end_bone_extended()](SpringBoneSimulator3D.md#SpringBoneSimulator3D_method_is_end_bone_extended) is ``true``. +Returns the end bone tail length of the bone chain when [is_end_bone_extended()](SpringBoneSimulator3D.md#SpringBoneSimulator3D_method_is_end_bone_extended) is ``true``.
@@ -819,7 +753,7 @@ Returns the radius at `joint` in the bone chain's joint list. -[RotationAxis](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_RotationAxis) **get_joint_rotation_axis**\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const [🔗](#SpringBoneSimulator3D_method_get_joint_rotation_axis) +[RotationAxis](SkeletonModifier3D.md#enum_SkeletonModifier3D_RotationAxis) **get_joint_rotation_axis**\ (\ index\: [int](int.md), joint\: [int](int.md)\ ) const [🔗](#SpringBoneSimulator3D_method_get_joint_rotation_axis) Returns the rotation axis at `joint` in the bone chain's joint list. @@ -833,7 +767,7 @@ Returns the rotation axis at `joint` in the bone chain's joint list. Returns the rotation axis vector for the specified joint in the bone chain. This vector represents the axis around which the joint can rotate. It is determined based on the rotation axis set for the joint. -If [get_joint_rotation_axis()](SpringBoneSimulator3D.md#SpringBoneSimulator3D_method_get_joint_rotation_axis) is [ROTATION_AXIS_ALL](SpringBoneSimulator3D.md#SpringBoneSimulator3D_constant_ROTATION_AXIS_ALL), this method returns ``Vector3(0, 0, 0)``. +If [get_joint_rotation_axis()](SpringBoneSimulator3D.md#SpringBoneSimulator3D_method_get_joint_rotation_axis) is [SkeletonModifier3D.ROTATION_AXIS_ALL](SkeletonModifier3D.md#SkeletonModifier3D_constant_ROTATION_AXIS_ALL), this method returns ``Vector3(0, 0, 0)``.
@@ -891,7 +825,7 @@ Returns the root bone name of the bone chain. -[RotationAxis](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_RotationAxis) **get_rotation_axis**\ (\ index\: [int](int.md)\ ) const [🔗](#SpringBoneSimulator3D_method_get_rotation_axis) +[RotationAxis](SkeletonModifier3D.md#enum_SkeletonModifier3D_RotationAxis) **get_rotation_axis**\ (\ index\: [int](int.md)\ ) const [🔗](#SpringBoneSimulator3D_method_get_rotation_axis) Returns the rotation axis of the bone chain. @@ -905,7 +839,7 @@ Returns the rotation axis of the bone chain. Returns the rotation axis vector of the bone chain. This vector represents the axis around which the bone chain can rotate. It is determined based on the rotation axis set for the bone chain. -If [get_rotation_axis()](SpringBoneSimulator3D.md#SpringBoneSimulator3D_method_get_rotation_axis) is [ROTATION_AXIS_ALL](SpringBoneSimulator3D.md#SpringBoneSimulator3D_constant_ROTATION_AXIS_ALL), this method returns ``Vector3(0, 0, 0)``. +If [get_rotation_axis()](SpringBoneSimulator3D.md#SpringBoneSimulator3D_method_get_rotation_axis) is [SkeletonModifier3D.ROTATION_AXIS_ALL](SkeletonModifier3D.md#SkeletonModifier3D_constant_ROTATION_AXIS_ALL), this method returns ``Vector3(0, 0, 0)``.
@@ -945,7 +879,7 @@ Returns ``true`` if the config can be edited individually for each joint. [bool](bool.md) **is_end_bone_extended**\ (\ index\: [int](int.md)\ ) const [🔗](#SpringBoneSimulator3D_method_is_end_bone_extended) -Returns ``true`` if the end bone is extended to have the tail. +Returns ``true`` if the end bone is extended to have a tail.
@@ -1075,7 +1009,7 @@ Sets the end bone index of the bone chain. -`void` **set_end_bone_direction**\ (\ index\: [int](int.md), bone_direction\: [BoneDirection](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_BoneDirection)\ ) [🔗](#SpringBoneSimulator3D_method_set_end_bone_direction) +`void` **set_end_bone_direction**\ (\ index\: [int](int.md), bone_direction\: [BoneDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_BoneDirection)\ ) [🔗](#SpringBoneSimulator3D_method_set_end_bone_direction) Sets the end bone tail direction of the bone chain when [is_end_bone_extended()](SpringBoneSimulator3D.md#SpringBoneSimulator3D_method_is_end_bone_extended) is ``true``. @@ -1129,11 +1063,9 @@ Sets the node path of the [SpringBoneCollision3D](SpringBoneCollision3D.md) at ` `void` **set_extend_end_bone**\ (\ index\: [int](int.md), enabled\: [bool](bool.md)\ ) [🔗](#SpringBoneSimulator3D_method_set_extend_end_bone) -If `enabled` is ``true``, the end bone is extended to have the tail. - -The extended tail config is allocated to the last element in the joint list. +If `enabled` is ``true``, the end bone is extended to have a tail. -In other words, if you set `enabled` is ``false``, the config of last element in the joint list has no effect in the simulated result. +The extended tail config is allocated to the last element in the joint list. In other words, if you set `enabled` to ``false``, the config of the last element in the joint list has no effect in the simulated result.
@@ -1227,11 +1159,11 @@ Sets the joint radius at `joint` in the bone chain's joint list when [is_config_ -`void` **set_joint_rotation_axis**\ (\ index\: [int](int.md), joint\: [int](int.md), axis\: [RotationAxis](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_RotationAxis)\ ) [🔗](#SpringBoneSimulator3D_method_set_joint_rotation_axis) +`void` **set_joint_rotation_axis**\ (\ index\: [int](int.md), joint\: [int](int.md), axis\: [RotationAxis](SkeletonModifier3D.md#enum_SkeletonModifier3D_RotationAxis)\ ) [🔗](#SpringBoneSimulator3D_method_set_joint_rotation_axis) Sets the rotation axis at `joint` in the bone chain's joint list when [is_config_individual()](SpringBoneSimulator3D.md#SpringBoneSimulator3D_method_is_config_individual) is ``true``. -The axes are based on the [Skeleton3D.get_bone_rest()](Skeleton3D.md#Skeleton3D_method_get_bone_rest)'s space, if `axis` is [ROTATION_AXIS_CUSTOM](SpringBoneSimulator3D.md#SpringBoneSimulator3D_constant_ROTATION_AXIS_CUSTOM), you can specify any axis. +The axes are based on the [Skeleton3D.get_bone_rest()](Skeleton3D.md#Skeleton3D_method_get_bone_rest)'s space, if `axis` is [SkeletonModifier3D.ROTATION_AXIS_CUSTOM](SkeletonModifier3D.md#SkeletonModifier3D_constant_ROTATION_AXIS_CUSTOM), you can specify any axis. \ **Note:** The rotation axis and the forward vector shouldn't be colinear to avoid unintended rotation since **SpringBoneSimulator3D** does not factor in twisting forces. @@ -1247,7 +1179,7 @@ Sets the rotation axis vector for the specified joint in the bone chain. This vector is normalized by an internal process and represents the axis around which the bone chain can rotate. -If the vector length is ``0``, it is considered synonymous with [ROTATION_AXIS_ALL](SpringBoneSimulator3D.md#SpringBoneSimulator3D_constant_ROTATION_AXIS_ALL). +If the vector length is ``0``, it is considered synonymous with [SkeletonModifier3D.ROTATION_AXIS_ALL](SkeletonModifier3D.md#SkeletonModifier3D_constant_ROTATION_AXIS_ALL).
@@ -1307,11 +1239,11 @@ Sets the root bone name of the bone chain. -`void` **set_rotation_axis**\ (\ index\: [int](int.md), axis\: [RotationAxis](SpringBoneSimulator3D.md#enum_SpringBoneSimulator3D_RotationAxis)\ ) [🔗](#SpringBoneSimulator3D_method_set_rotation_axis) +`void` **set_rotation_axis**\ (\ index\: [int](int.md), axis\: [RotationAxis](SkeletonModifier3D.md#enum_SkeletonModifier3D_RotationAxis)\ ) [🔗](#SpringBoneSimulator3D_method_set_rotation_axis) Sets the rotation axis of the bone chain. If set to a specific axis, it acts like a hinge joint. The value is cached in each joint setting in the joint list. -The axes are based on the [Skeleton3D.get_bone_rest()](Skeleton3D.md#Skeleton3D_method_get_bone_rest)'s space, if `axis` is [ROTATION_AXIS_CUSTOM](SpringBoneSimulator3D.md#SpringBoneSimulator3D_constant_ROTATION_AXIS_CUSTOM), you can specify any axis. +The axes are based on the [Skeleton3D.get_bone_rest()](Skeleton3D.md#Skeleton3D_method_get_bone_rest)'s space, if `axis` is [SkeletonModifier3D.ROTATION_AXIS_CUSTOM](SkeletonModifier3D.md#SkeletonModifier3D_constant_ROTATION_AXIS_CUSTOM), you can specify any axis. \ **Note:** The rotation axis vector and the forward vector shouldn't be colinear to avoid unintended rotation since **SpringBoneSimulator3D** does not factor in twisting forces. @@ -1327,7 +1259,7 @@ Sets the rotation axis vector of the bone chain. The value is cached in each joi This vector is normalized by an internal process and represents the axis around which the bone chain can rotate. -If the vector length is ``0``, it is considered synonymous with [ROTATION_AXIS_ALL](SpringBoneSimulator3D.md#SpringBoneSimulator3D_constant_ROTATION_AXIS_ALL). +If the vector length is ``0``, it is considered synonymous with [SkeletonModifier3D.ROTATION_AXIS_ALL](SkeletonModifier3D.md#SkeletonModifier3D_constant_ROTATION_AXIS_ALL).
diff --git a/docs/Classes/SpriteBase3D.md b/docs/Classes/SpriteBase3D.md index 2780da61..cfda726b 100644 --- a/docs/Classes/SpriteBase3D.md +++ b/docs/Classes/SpriteBase3D.md @@ -348,7 +348,7 @@ The direction in which the front of the texture faces. The billboard mode to use for the sprite. -\ **Note:** When billboarding is enabled and the material also casts shadows, billboards will face **the** camera in the scene when rendering shadows. In scenes with multiple cameras, the intended shadow cannot be determined and this will result in undefined behavior. See [GitHub Pull Request #72638](https://github.com/redot-engine/redot-engine/pull/72638) for details. +\ **Note:** When billboarding is enabled and the material also casts shadows, billboards will face **the** camera in the scene when rendering shadows. In scenes with multiple cameras, the intended shadow cannot be determined and this will result in undefined behavior. See [GitHub Pull Request #72638](https://github.com/godotengine/godot/pull/72638) for details.
diff --git a/docs/Classes/String.md b/docs/Classes/String.md index 019e743f..c56590ce 100644 --- a/docs/Classes/String.md +++ b/docs/Classes/String.md @@ -2301,14 +2301,14 @@ Decodes the string from its URL-encoded format. This method is meant to properly ```gdscript - var url = "$DOCS_URL/?highlight=Redot%20Engine%3%docs" - print(url.uri_decode()) # Prints "$DOCS_URL/?highlight=Redot Engine:docs" + var url = "$DOCS_URL/?highlight=Godot%20Engine%3%docs" + print(url.uri_decode()) # Prints "$DOCS_URL/?highlight=Godot Engine:docs" ``` ```csharp - var url = "$DOCS_URL/?highlight=Redot%20Engine%3%docs" - GD.Print(url.URIDecode()) // Prints "$DOCS_URL/?highlight=Redot Engine:docs" + var url = "$DOCS_URL/?highlight=Godot%20Engine%3%docs" + GD.Print(url.URIDecode()) // Prints "$DOCS_URL/?highlight=Godot Engine:docs" ``` @@ -2333,7 +2333,7 @@ Encodes the string to URL-friendly format. This method is meant to properly enco var prefix = "$DOCS_URL/?highlight=" var url = prefix + "Redot Engine:docs".uri_encode() - print(url) # Prints "$DOCS_URL/?highlight=Redot%20Engine%3%docs" + print(url) # Prints "$DOCS_URL/?highlight=Godot%20Engine%3%docs" ``` @@ -2341,7 +2341,7 @@ Encodes the string to URL-friendly format. This method is meant to properly enco var prefix = "$DOCS_URL/?highlight="; var url = prefix + "Redot Engine:docs".URIEncode(); - GD.Print(url); // Prints "$DOCS_URL/?highlight=Redot%20Engine%3%docs" + GD.Print(url); // Prints "$DOCS_URL/?highlight=Godot%20Engine%3%docs" ``` diff --git a/docs/Classes/TranslationServer.md b/docs/Classes/TranslationServer.md index 83a38b10..174a627c 100644 --- a/docs/Classes/TranslationServer.md +++ b/docs/Classes/TranslationServer.md @@ -19,7 +19,7 @@ The server responsible for language translations. The translation server is the API backend that manages all language translations. -Translations are stored in [TranslationDomain](TranslationDomain.md)\\ s, which can be accessed by name. The most commonly used translation domain is the main translation domain. It always exists and can be accessed using an empty [StringName](StringName.md). The translation server provides wrapper methods for accessing the main translation domain directly, without having to fetch the translation domain first. Custom translation domains are mainly for advanced usages like editor plugins. Names starting with ``Redot.`` are reserved for engine internals. +Translations are stored in [TranslationDomain](TranslationDomain.md)\\ s, which can be accessed by name. The most commonly used translation domain is the main translation domain. It always exists and can be accessed using an empty [StringName](StringName.md). The translation server provides wrapper methods for accessing the main translation domain directly, without having to fetch the translation domain first. Custom translation domains are mainly for advanced usages like editor plugins. Names starting with ``godot.`` are reserved for engine internals. diff --git a/docs/Classes/Tree.md b/docs/Classes/Tree.md index f994f5a1..3ba28ea3 100644 --- a/docs/Classes/Tree.md +++ b/docs/Classes/Tree.md @@ -985,6 +985,8 @@ If ``true``, column titles are visible. The number of columns. +Prints an error and does not allow setting the columns during mouse selection. +
@@ -1106,6 +1108,8 @@ Allows single or multiple selection. See the [SelectMode](Tree.md#enum_Tree_Sele Clears the tree. This removes all items. +Prints an error and does not allow clearing the tree if called during mouse selection. +
@@ -1120,6 +1124,8 @@ If `parent` is ``null``, the root item will be the parent, or the new item will The new item will be the `index`-th child of parent, or it will be the last child if there are not enough siblings. +Prints an error and returns ``null`` if called during mouse selection, or if the `parent` does not belong to this tree. +
diff --git a/docs/Classes/TwoBoneIK3D.md b/docs/Classes/TwoBoneIK3D.md new file mode 100644 index 00000000..e2f001be --- /dev/null +++ b/docs/Classes/TwoBoneIK3D.md @@ -0,0 +1,481 @@ + + + + + + + + + +# TwoBoneIK3D + +**Inherits:** [IKModifier3D](IKModifier3D.md) **\<** [SkeletonModifier3D](SkeletonModifier3D.md) **\<** [Node3D](Node3D.md) **\<** [Node](Node.md) **\<** [Object](Object.md) + +Rotation based intersection of two circles inverse kinematics solver. + + + +## Description + +This [IKModifier3D](IKModifier3D.md) requires a pole target. It provides deterministic results by constructing a plane from each joint and pole target and finding the intersection of two circles (disks in 3D). + +This IK can handle twist by setting the pole direction. If there are more than one bone between each set bone, their rotations are ignored, and the straight line connecting the root-middle and middle-end joints are treated as virtual bones. + + + +## Properties + + + + + + + + + + + +
[int](int.md)[setting_count](#TwoBoneIK3D_property_setting_count)`0`
+ + + +## Methods + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
[int](int.md)[get_end_bone](#TwoBoneIK3D_method_get_end_bone)\ (\ index\: [int](int.md)\ ) const
[BoneDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_BoneDirection)[get_end_bone_direction](#TwoBoneIK3D_method_get_end_bone_direction)\ (\ index\: [int](int.md)\ ) const
[float](float.md)[get_end_bone_length](#TwoBoneIK3D_method_get_end_bone_length)\ (\ index\: [int](int.md)\ ) const
[String](String.md)[get_end_bone_name](#TwoBoneIK3D_method_get_end_bone_name)\ (\ index\: [int](int.md)\ ) const
[int](int.md)[get_middle_bone](#TwoBoneIK3D_method_get_middle_bone)\ (\ index\: [int](int.md)\ ) const
[String](String.md)[get_middle_bone_name](#TwoBoneIK3D_method_get_middle_bone_name)\ (\ index\: [int](int.md)\ ) const
[SecondaryDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_SecondaryDirection)[get_pole_direction](#TwoBoneIK3D_method_get_pole_direction)\ (\ index\: [int](int.md)\ ) const
[Vector3](Vector3.md)[get_pole_direction_vector](#TwoBoneIK3D_method_get_pole_direction_vector)\ (\ index\: [int](int.md)\ ) const
[NodePath](NodePath.md)[get_pole_node](#TwoBoneIK3D_method_get_pole_node)\ (\ index\: [int](int.md)\ ) const
[int](int.md)[get_root_bone](#TwoBoneIK3D_method_get_root_bone)\ (\ index\: [int](int.md)\ ) const
[String](String.md)[get_root_bone_name](#TwoBoneIK3D_method_get_root_bone_name)\ (\ index\: [int](int.md)\ ) const
[NodePath](NodePath.md)[get_target_node](#TwoBoneIK3D_method_get_target_node)\ (\ index\: [int](int.md)\ ) const
[bool](bool.md)[is_end_bone_extended](#TwoBoneIK3D_method_is_end_bone_extended)\ (\ index\: [int](int.md)\ ) const
[bool](bool.md)[is_using_virtual_end](#TwoBoneIK3D_method_is_using_virtual_end)\ (\ index\: [int](int.md)\ ) const
`void`[set_end_bone](#TwoBoneIK3D_method_set_end_bone)\ (\ index\: [int](int.md), bone\: [int](int.md)\ )
`void`[set_end_bone_direction](#TwoBoneIK3D_method_set_end_bone_direction)\ (\ index\: [int](int.md), bone_direction\: [BoneDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_BoneDirection)\ )
`void`[set_end_bone_length](#TwoBoneIK3D_method_set_end_bone_length)\ (\ index\: [int](int.md), length\: [float](float.md)\ )
`void`[set_end_bone_name](#TwoBoneIK3D_method_set_end_bone_name)\ (\ index\: [int](int.md), bone_name\: [String](String.md)\ )
`void`[set_extend_end_bone](#TwoBoneIK3D_method_set_extend_end_bone)\ (\ index\: [int](int.md), enabled\: [bool](bool.md)\ )
`void`[set_middle_bone](#TwoBoneIK3D_method_set_middle_bone)\ (\ index\: [int](int.md), bone\: [int](int.md)\ )
`void`[set_middle_bone_name](#TwoBoneIK3D_method_set_middle_bone_name)\ (\ index\: [int](int.md), bone_name\: [String](String.md)\ )
`void`[set_pole_direction](#TwoBoneIK3D_method_set_pole_direction)\ (\ index\: [int](int.md), direction\: [SecondaryDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_SecondaryDirection)\ )
`void`[set_pole_direction_vector](#TwoBoneIK3D_method_set_pole_direction_vector)\ (\ index\: [int](int.md), vector\: [Vector3](Vector3.md)\ )
`void`[set_pole_node](#TwoBoneIK3D_method_set_pole_node)\ (\ index\: [int](int.md), pole_node\: [NodePath](NodePath.md)\ )
`void`[set_root_bone](#TwoBoneIK3D_method_set_root_bone)\ (\ index\: [int](int.md), bone\: [int](int.md)\ )
`void`[set_root_bone_name](#TwoBoneIK3D_method_set_root_bone_name)\ (\ index\: [int](int.md), bone_name\: [String](String.md)\ )
`void`[set_target_node](#TwoBoneIK3D_method_set_target_node)\ (\ index\: [int](int.md), target_node\: [NodePath](NodePath.md)\ )
`void`[set_use_virtual_end](#TwoBoneIK3D_method_set_use_virtual_end)\ (\ index\: [int](int.md), enabled\: [bool](bool.md)\ )
+ +
+ + + +## Property Descriptions + + + + + +[int](int.md) **setting_count** = `0` [🔗](#TwoBoneIK3D_property_setting_count) + + + +- `void` **set_setting_count**\ (\ value\: [int](int.md)\ ) +- [int](int.md) **get_setting_count**\ (\ ) + +The number of settings. + +
+ + + +## Method Descriptions + + + + + +[int](int.md) **get_end_bone**\ (\ index\: [int](int.md)\ ) const [🔗](#TwoBoneIK3D_method_get_end_bone) + +Returns the end bone index. + +
+ + + + + +[BoneDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_BoneDirection) **get_end_bone_direction**\ (\ index\: [int](int.md)\ ) const [🔗](#TwoBoneIK3D_method_get_end_bone_direction) + +Returns the end bone's tail direction when [is_end_bone_extended()](TwoBoneIK3D.md#TwoBoneIK3D_method_is_end_bone_extended) is ``true``. + +
+ + + + + +[float](float.md) **get_end_bone_length**\ (\ index\: [int](int.md)\ ) const [🔗](#TwoBoneIK3D_method_get_end_bone_length) + +Returns the end bone tail length of the bone chain when [is_end_bone_extended()](TwoBoneIK3D.md#TwoBoneIK3D_method_is_end_bone_extended) is ``true``. + +
+ + + + + +[String](String.md) **get_end_bone_name**\ (\ index\: [int](int.md)\ ) const [🔗](#TwoBoneIK3D_method_get_end_bone_name) + +Returns the end bone name. + +
+ + + + + +[int](int.md) **get_middle_bone**\ (\ index\: [int](int.md)\ ) const [🔗](#TwoBoneIK3D_method_get_middle_bone) + +Returns the middle bone index. + +
+ + + + + +[String](String.md) **get_middle_bone_name**\ (\ index\: [int](int.md)\ ) const [🔗](#TwoBoneIK3D_method_get_middle_bone_name) + +Returns the middle bone name. + +
+ + + + + +[SecondaryDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_SecondaryDirection) **get_pole_direction**\ (\ index\: [int](int.md)\ ) const [🔗](#TwoBoneIK3D_method_get_pole_direction) + +Returns the pole direction. + +
+ + + + + +[Vector3](Vector3.md) **get_pole_direction_vector**\ (\ index\: [int](int.md)\ ) const [🔗](#TwoBoneIK3D_method_get_pole_direction_vector) + +Returns the pole direction vector. + +If [get_pole_direction()](TwoBoneIK3D.md#TwoBoneIK3D_method_get_pole_direction) is [SkeletonModifier3D.SECONDARY_DIRECTION_NONE](SkeletonModifier3D.md#SkeletonModifier3D_constant_SECONDARY_DIRECTION_NONE), this method returns ``Vector3(0, 0, 0)``. + +
+ + + + + +[NodePath](NodePath.md) **get_pole_node**\ (\ index\: [int](int.md)\ ) const [🔗](#TwoBoneIK3D_method_get_pole_node) + +Returns the pole target node that constructs a plane which the joints are all on and the pole is trying to direct. + +
+ + + + + +[int](int.md) **get_root_bone**\ (\ index\: [int](int.md)\ ) const [🔗](#TwoBoneIK3D_method_get_root_bone) + +Returns the root bone index. + +
+ + + + + +[String](String.md) **get_root_bone_name**\ (\ index\: [int](int.md)\ ) const [🔗](#TwoBoneIK3D_method_get_root_bone_name) + +Returns the root bone name. + +
+ + + + + +[NodePath](NodePath.md) **get_target_node**\ (\ index\: [int](int.md)\ ) const [🔗](#TwoBoneIK3D_method_get_target_node) + +Returns the target node that the end bone is trying to reach. + +
+ + + + + +[bool](bool.md) **is_end_bone_extended**\ (\ index\: [int](int.md)\ ) const [🔗](#TwoBoneIK3D_method_is_end_bone_extended) + +Returns ``true`` if the end bone is extended to have a tail. + +
+ + + + + +[bool](bool.md) **is_using_virtual_end**\ (\ index\: [int](int.md)\ ) const [🔗](#TwoBoneIK3D_method_is_using_virtual_end) + +Returns ``true`` if the end bone is extended from the middle bone as a virtual bone. + +
+ + + + + +`void` **set_end_bone**\ (\ index\: [int](int.md), bone\: [int](int.md)\ ) [🔗](#TwoBoneIK3D_method_set_end_bone) + +Sets the end bone index. + +
+ + + + + +`void` **set_end_bone_direction**\ (\ index\: [int](int.md), bone_direction\: [BoneDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_BoneDirection)\ ) [🔗](#TwoBoneIK3D_method_set_end_bone_direction) + +Sets the end bone tail direction when [is_end_bone_extended()](TwoBoneIK3D.md#TwoBoneIK3D_method_is_end_bone_extended) is ``true``. + +
+ + + + + +`void` **set_end_bone_length**\ (\ index\: [int](int.md), length\: [float](float.md)\ ) [🔗](#TwoBoneIK3D_method_set_end_bone_length) + +Sets the end bone tail length when [is_end_bone_extended()](TwoBoneIK3D.md#TwoBoneIK3D_method_is_end_bone_extended) is ``true``. + +
+ + + + + +`void` **set_end_bone_name**\ (\ index\: [int](int.md), bone_name\: [String](String.md)\ ) [🔗](#TwoBoneIK3D_method_set_end_bone_name) + +Sets the end bone name. + +\ **Note:** The end bone must be a child of the middle bone. + +
+ + + + + +`void` **set_extend_end_bone**\ (\ index\: [int](int.md), enabled\: [bool](bool.md)\ ) [🔗](#TwoBoneIK3D_method_set_extend_end_bone) + +If `enabled` is ``true``, the end bone is extended to have a tail. + +
+ + + + + +`void` **set_middle_bone**\ (\ index\: [int](int.md), bone\: [int](int.md)\ ) [🔗](#TwoBoneIK3D_method_set_middle_bone) + +Sets the middle bone index. + +
+ + + + + +`void` **set_middle_bone_name**\ (\ index\: [int](int.md), bone_name\: [String](String.md)\ ) [🔗](#TwoBoneIK3D_method_set_middle_bone_name) + +Sets the middle bone name. + +\ **Note:** The middle bone must be a child of the root bone. + +
+ + + + + +`void` **set_pole_direction**\ (\ index\: [int](int.md), direction\: [SecondaryDirection](SkeletonModifier3D.md#enum_SkeletonModifier3D_SecondaryDirection)\ ) [🔗](#TwoBoneIK3D_method_set_pole_direction) + +Sets the pole direction. + +The pole is on the middle bone and will direct to the pole target. + +The rotation axis is a vector that is orthogonal to this and the forward vector. + +\ **Note:** The pole direction and the forward vector shouldn't be colinear to avoid unintended rotation. + +
+ + + + + +`void` **set_pole_direction_vector**\ (\ index\: [int](int.md), vector\: [Vector3](Vector3.md)\ ) [🔗](#TwoBoneIK3D_method_set_pole_direction_vector) + +Sets the pole direction vector. + +This vector is normalized by an internal process. + +If the vector length is ``0``, it is considered synonymous with [SkeletonModifier3D.SECONDARY_DIRECTION_NONE](SkeletonModifier3D.md#SkeletonModifier3D_constant_SECONDARY_DIRECTION_NONE). + +
+ + + + + +`void` **set_pole_node**\ (\ index\: [int](int.md), pole_node\: [NodePath](NodePath.md)\ ) [🔗](#TwoBoneIK3D_method_set_pole_node) + +Sets the pole target node that constructs a plane which the joints are all on and the pole is trying to direct. + +
+ + + + + +`void` **set_root_bone**\ (\ index\: [int](int.md), bone\: [int](int.md)\ ) [🔗](#TwoBoneIK3D_method_set_root_bone) + +Sets the root bone index. + +
+ + + + + +`void` **set_root_bone_name**\ (\ index\: [int](int.md), bone_name\: [String](String.md)\ ) [🔗](#TwoBoneIK3D_method_set_root_bone_name) + +Sets the root bone name. + +
+ + + + + +`void` **set_target_node**\ (\ index\: [int](int.md), target_node\: [NodePath](NodePath.md)\ ) [🔗](#TwoBoneIK3D_method_set_target_node) + +Sets the target node that the end bone is trying to reach. + +
+ + + + + +`void` **set_use_virtual_end**\ (\ index\: [int](int.md), enabled\: [bool](bool.md)\ ) [🔗](#TwoBoneIK3D_method_set_use_virtual_end) + +If `enabled` is ``true``, the end bone is extended from the middle bone as a virtual bone. + diff --git a/docs/Classes/Variant.md b/docs/Classes/Variant.md index 8f859026..f502bc4d 100644 --- a/docs/Classes/Variant.md +++ b/docs/Classes/Variant.md @@ -39,7 +39,7 @@ In computer programming, a Variant class is a class that is designed to store a // Redot also provides a Variant type that works like a union of all the Variant-compatible types. Variant fooVar = 2; // fooVar is dynamically an integer (stored as a `long` in the Variant type). fooVar = "Now fooVar is a string!"; - fooVar = new RefCounted(); // fooVar is a RedotObject. + fooVar = new RefCounted(); // fooVar is a GodotObject. ``` @@ -84,7 +84,7 @@ The global [@GlobalScope.typeof()](@GlobalScope.md#@GlobalScope_method_typeof) f break; case Variant.Type.Object: // Note that Objects are their own special category. - // You can convert a Variant to a RedotObject and use reflection to get its name. + // You can convert a Variant to a GodotObject and use reflection to get its name. GD.Print($"foo is a(n) {foo.AsGodotObject().GetType().Name}"); break; } @@ -132,5 +132,5 @@ There are notable differences when using this API with C#. See the C# difference ## Tutorials -- [Variant class introduction](../Contributing/Development/core_and_modules/variant_class.md) +- [Variant class introduction](../engine_details/architecture/variant_class.md) diff --git a/docs/Classes/Vector2.md b/docs/Classes/Vector2.md index 75d4eaca..f2037d3d 100644 --- a/docs/Classes/Vector2.md +++ b/docs/Classes/Vector2.md @@ -231,6 +231,14 @@ See [Vector2i](Vector2i.md) for its integer counterpart. [Vector2](Vector2.md) [minf](#Vector2_method_minf)\ (\ with\: [float](float.md)\ ) const + + [Vector2](Vector2.md) + [monotonic_cubic_interpolate](#Vector2_method_monotonic_cubic_interpolate)\ (\ b\: [Vector2](Vector2.md), pre_a\: [Vector2](Vector2.md), post_b\: [Vector2](Vector2.md), weight\: [float](float.md)\ ) const + + + [Vector2](Vector2.md) + [monotonic_cubic_interpolate_in_time](#Vector2_method_monotonic_cubic_interpolate_in_time)\ (\ b\: [Vector2](Vector2.md), pre_a\: [Vector2](Vector2.md), post_b\: [Vector2](Vector2.md), weight\: [float](float.md), b_t\: [float](float.md), pre_a_t\: [float](float.md), post_b_t\: [float](float.md)\ ) const + [Vector2](Vector2.md) [move_toward](#Vector2_method_move_toward)\ (\ to\: [Vector2](Vector2.md), delta\: [float](float.md)\ ) const @@ -908,6 +916,28 @@ Returns the component-wise minimum of this and `with`, equivalent to ``Vector2(m
+ + + + +[Vector2](Vector2.md) **monotonic_cubic_interpolate**\ (\ b\: [Vector2](Vector2.md), pre_a\: [Vector2](Vector2.md), post_b\: [Vector2](Vector2.md), weight\: [float](float.md)\ ) const [🔗](#Vector2_method_monotonic_cubic_interpolate) + +Performs a monotonic cubic interpolation between this vector and `b` using `pre_a` and `post_b` as handles, and returns the result at position `weight`. `weight` is on the range of 0.0 to 1.0, representing the amount of interpolation. + +
+ + + + + +[Vector2](Vector2.md) **monotonic_cubic_interpolate_in_time**\ (\ b\: [Vector2](Vector2.md), pre_a\: [Vector2](Vector2.md), post_b\: [Vector2](Vector2.md), weight\: [float](float.md), b_t\: [float](float.md), pre_a_t\: [float](float.md), post_b_t\: [float](float.md)\ ) const [🔗](#Vector2_method_monotonic_cubic_interpolate_in_time) + +Performs a monotonic cubic interpolation between this vector and `b` using `pre_a` and `post_b` as handles, and returns the result at position `weight`. `weight` is on the range of 0.0 to 1.0, representing the amount of interpolation. + +It can perform smoother interpolation than [monotonic_cubic_interpolate()](Vector2.md#Vector2_method_monotonic_cubic_interpolate) by the time values. + +
+ diff --git a/docs/Classes/Vector3.md b/docs/Classes/Vector3.md index 99c320f0..9e7040e8 100644 --- a/docs/Classes/Vector3.md +++ b/docs/Classes/Vector3.md @@ -224,6 +224,14 @@ See [Vector3i](Vector3i.md) for its integer counterpart. [Vector3](Vector3.md) [minf](#Vector3_method_minf)\ (\ with\: [float](float.md)\ ) const + + [Vector3](Vector3.md) + [monotonic_cubic_interpolate](#Vector3_method_monotonic_cubic_interpolate)\ (\ b\: [Vector3](Vector3.md), pre_a\: [Vector3](Vector3.md), post_b\: [Vector3](Vector3.md), weight\: [float](float.md)\ ) const + + + [Vector3](Vector3.md) + [monotonic_cubic_interpolate_in_time](#Vector3_method_monotonic_cubic_interpolate_in_time)\ (\ b\: [Vector3](Vector3.md), pre_a\: [Vector3](Vector3.md), post_b\: [Vector3](Vector3.md), weight\: [float](float.md), b_t\: [float](float.md), pre_a_t\: [float](float.md), post_b_t\: [float](float.md)\ ) const + [Vector3](Vector3.md) [move_toward](#Vector3_method_move_toward)\ (\ to\: [Vector3](Vector3.md), delta\: [float](float.md)\ ) const @@ -948,6 +956,28 @@ Returns the component-wise minimum of this and `with`, equivalent to ``Vector3(m
+ + + + +[Vector3](Vector3.md) **monotonic_cubic_interpolate**\ (\ b\: [Vector3](Vector3.md), pre_a\: [Vector3](Vector3.md), post_b\: [Vector3](Vector3.md), weight\: [float](float.md)\ ) const [🔗](#Vector3_method_monotonic_cubic_interpolate) + +Performs a monotonic cubic interpolation between this vector and `b` using `pre_a` and `post_b` as handles, and returns the result at position `weight`. `weight` is on the range of 0.0 to 1.0, representing the amount of interpolation. + +
+ + + + + +[Vector3](Vector3.md) **monotonic_cubic_interpolate_in_time**\ (\ b\: [Vector3](Vector3.md), pre_a\: [Vector3](Vector3.md), post_b\: [Vector3](Vector3.md), weight\: [float](float.md), b_t\: [float](float.md), pre_a_t\: [float](float.md), post_b_t\: [float](float.md)\ ) const [🔗](#Vector3_method_monotonic_cubic_interpolate_in_time) + +Performs a monotonic cubic interpolation between this vector and `b` using `pre_a` and `post_b` as handles, and returns the result at position `weight`. `weight` is on the range of 0.0 to 1.0, representing the amount of interpolation. + +It can perform smoother interpolation than [monotonic_cubic_interpolate()](Vector3.md#Vector3_method_monotonic_cubic_interpolate) by the time values. + +
+ diff --git a/docs/Classes/Vector4.md b/docs/Classes/Vector4.md index 43209f78..6ae0b24e 100644 --- a/docs/Classes/Vector4.md +++ b/docs/Classes/Vector4.md @@ -189,6 +189,14 @@ See [Vector4i](Vector4i.md) for its integer counterpart. [Vector4](Vector4.md) [minf](#Vector4_method_minf)\ (\ with\: [float](float.md)\ ) const + + [Vector4](Vector4.md) + [monotonic_cubic_interpolate](#Vector4_method_monotonic_cubic_interpolate)\ (\ b\: [Vector4](Vector4.md), pre_a\: [Vector4](Vector4.md), post_b\: [Vector4](Vector4.md), weight\: [float](float.md)\ ) const + + + [Vector4](Vector4.md) + [monotonic_cubic_interpolate_in_time](#Vector4_method_monotonic_cubic_interpolate_in_time)\ (\ b\: [Vector4](Vector4.md), pre_a\: [Vector4](Vector4.md), post_b\: [Vector4](Vector4.md), weight\: [float](float.md), b_t\: [float](float.md), pre_a_t\: [float](float.md), post_b_t\: [float](float.md)\ ) const + [Vector4](Vector4.md) [normalized](#Vector4_method_normalized)\ (\ ) const @@ -715,6 +723,28 @@ Returns the component-wise minimum of this and `with`, equivalent to ``Vector4(m
+ + + + +[Vector4](Vector4.md) **monotonic_cubic_interpolate**\ (\ b\: [Vector4](Vector4.md), pre_a\: [Vector4](Vector4.md), post_b\: [Vector4](Vector4.md), weight\: [float](float.md)\ ) const [🔗](#Vector4_method_monotonic_cubic_interpolate) + +Performs a monotonic cubic interpolation between this vector and `b` using `pre_a` and `post_b` as handles, and returns the result at position `weight`. `weight` is on the range of 0.0 to 1.0, representing the amount of interpolation. + +
+ + + + + +[Vector4](Vector4.md) **monotonic_cubic_interpolate_in_time**\ (\ b\: [Vector4](Vector4.md), pre_a\: [Vector4](Vector4.md), post_b\: [Vector4](Vector4.md), weight\: [float](float.md), b_t\: [float](float.md), pre_a_t\: [float](float.md), post_b_t\: [float](float.md)\ ) const [🔗](#Vector4_method_monotonic_cubic_interpolate_in_time) + +Performs a monotonic cubic interpolation between this vector and `b` using `pre_a` and `post_b` as handles, and returns the result at position `weight`. `weight` is on the range of 0.0 to 1.0, representing the amount of interpolation. + +It can perform smoother interpolation than [monotonic_cubic_interpolate()](Vector4.md#Vector4_method_monotonic_cubic_interpolate) by the time values. + +
+ diff --git a/docs/Classes/VisualShaderNodeFloatFunc.md b/docs/Classes/VisualShaderNodeFloatFunc.md index 501bed4e..47aaa023 100644 --- a/docs/Classes/VisualShaderNodeFloatFunc.md +++ b/docs/Classes/VisualShaderNodeFloatFunc.md @@ -53,109 +53,109 @@ enum **Function**: [🔗](#enum_VisualShaderNodeFloatFunc_Function) [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_SIN** = `0` -Returns the sine of the parameter. Translates to ``sin(x)`` in the RedotShader Language. +Returns the sine of the parameter. Translates to ``sin(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_COS** = `1` -Returns the cosine of the parameter. Translates to ``cos(x)`` in the RedotShader Language. +Returns the cosine of the parameter. Translates to ``cos(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_TAN** = `2` -Returns the tangent of the parameter. Translates to ``tan(x)`` in the RedotShader Language. +Returns the tangent of the parameter. Translates to ``tan(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_ASIN** = `3` -Returns the arc-sine of the parameter. Translates to ``asin(x)`` in the RedotShader Language. +Returns the arc-sine of the parameter. Translates to ``asin(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_ACOS** = `4` -Returns the arc-cosine of the parameter. Translates to ``acos(x)`` in the RedotShader Language. +Returns the arc-cosine of the parameter. Translates to ``acos(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_ATAN** = `5` -Returns the arc-tangent of the parameter. Translates to ``atan(x)`` in the RedotShader Language. +Returns the arc-tangent of the parameter. Translates to ``atan(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_SINH** = `6` -Returns the hyperbolic sine of the parameter. Translates to ``sinh(x)`` in the RedotShader Language. +Returns the hyperbolic sine of the parameter. Translates to ``sinh(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_COSH** = `7` -Returns the hyperbolic cosine of the parameter. Translates to ``cosh(x)`` in the RedotShader Language. +Returns the hyperbolic cosine of the parameter. Translates to ``cosh(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_TANH** = `8` -Returns the hyperbolic tangent of the parameter. Translates to ``tanh(x)`` in the RedotShader Language. +Returns the hyperbolic tangent of the parameter. Translates to ``tanh(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_LOG** = `9` -Returns the natural logarithm of the parameter. Translates to ``log(x)`` in the RedotShader Language. +Returns the natural logarithm of the parameter. Translates to ``log(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_EXP** = `10` -Returns the natural exponentiation of the parameter. Translates to ``exp(x)`` in the RedotShader Language. +Returns the natural exponentiation of the parameter. Translates to ``exp(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_SQRT** = `11` -Returns the square root of the parameter. Translates to ``sqrt(x)`` in the RedotShader Language. +Returns the square root of the parameter. Translates to ``sqrt(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_ABS** = `12` -Returns the absolute value of the parameter. Translates to ``abs(x)`` in the RedotShader Language. +Returns the absolute value of the parameter. Translates to ``abs(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_SIGN** = `13` -Extracts the sign of the parameter. Translates to ``sign(x)`` in the RedotShader Language. +Extracts the sign of the parameter. Translates to ``sign(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_FLOOR** = `14` -Finds the nearest integer less than or equal to the parameter. Translates to ``floor(x)`` in the RedotShader Language. +Finds the nearest integer less than or equal to the parameter. Translates to ``floor(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_ROUND** = `15` -Finds the nearest integer to the parameter. Translates to ``round(x)`` in the RedotShader Language. +Finds the nearest integer to the parameter. Translates to ``round(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_CEIL** = `16` -Finds the nearest integer that is greater than or equal to the parameter. Translates to ``ceil(x)`` in the RedotShader Language. +Finds the nearest integer that is greater than or equal to the parameter. Translates to ``ceil(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_FRACT** = `17` -Computes the fractional part of the argument. Translates to ``fract(x)`` in the RedotShader Language. +Computes the fractional part of the argument. Translates to ``fract(x)`` in the GodotShader Language. @@ -173,49 +173,49 @@ Negates the ``x`` using ``-(x)``. +Returns the arc-hyperbolic-cosine of the parameter. Translates to ``acosh(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_ASINH** = `21` -Returns the arc-hyperbolic-sine of the parameter. Translates to ``asinh(x)`` in the RedotShader Language. +Returns the arc-hyperbolic-sine of the parameter. Translates to ``asinh(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_ATANH** = `22` -Returns the arc-hyperbolic-tangent of the parameter. Translates to ``atanh(x)`` in the RedotShader Language. +Returns the arc-hyperbolic-tangent of the parameter. Translates to ``atanh(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_DEGREES** = `23` -Convert a quantity in radians to degrees. Translates to ``degrees(x)`` in the RedotShader Language. +Convert a quantity in radians to degrees. Translates to ``degrees(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_EXP2** = `24` -Returns 2 raised by the power of the parameter. Translates to ``exp2(x)`` in the RedotShader Language. +Returns 2 raised by the power of the parameter. Translates to ``exp2(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_INVERSE_SQRT** = `25` -Returns the inverse of the square root of the parameter. Translates to ``inversesqrt(x)`` in the RedotShader Language. +Returns the inverse of the square root of the parameter. Translates to ``inversesqrt(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_LOG2** = `26` -Returns the base 2 logarithm of the parameter. Translates to ``log2(x)`` in the RedotShader Language. +Returns the base 2 logarithm of the parameter. Translates to ``log2(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_RADIANS** = `27` -Convert a quantity in degrees to radians. Translates to ``radians(x)`` in the RedotShader Language. +Convert a quantity in degrees to radians. Translates to ``radians(x)`` in the GodotShader Language. @@ -227,13 +227,13 @@ Finds reciprocal value of dividing 1 by ``x`` (i.e. ``1 / x``). +Finds the nearest even integer to the parameter. Translates to ``roundEven(x)`` in the GodotShader Language. [Function](VisualShaderNodeFloatFunc.md#enum_VisualShaderNodeFloatFunc_Function) **FUNC_TRUNC** = `30` -Returns a value equal to the nearest integer to ``x`` whose absolute value is not larger than the absolute value of ``x``. Translates to ``trunc(x)`` in the RedotShader Language. +Returns a value equal to the nearest integer to ``x`` whose absolute value is not larger than the absolute value of ``x``. Translates to ``trunc(x)`` in the GodotShader Language. diff --git a/docs/Classes/VisualShaderNodeIntFunc.md b/docs/Classes/VisualShaderNodeIntFunc.md index 883fa837..4ad099eb 100644 --- a/docs/Classes/VisualShaderNodeIntFunc.md +++ b/docs/Classes/VisualShaderNodeIntFunc.md @@ -53,7 +53,7 @@ enum **Function**: [🔗](#enum_VisualShaderNodeIntFunc_Function) [Function](VisualShaderNodeIntFunc.md#enum_VisualShaderNodeIntFunc_Function) **FUNC_ABS** = `0` -Returns the absolute value of the parameter. Translates to ``abs(x)`` in the Redot Shader Language. +Returns the absolute value of the parameter. Translates to ``abs(x)`` in the Godot Shader Language. @@ -65,13 +65,13 @@ Negates the ``x`` using ``-(x)``. +Extracts the sign of the parameter. Translates to ``sign(x)`` in the Godot Shader Language. [Function](VisualShaderNodeIntFunc.md#enum_VisualShaderNodeIntFunc_Function) **FUNC_BITWISE_NOT** = `3` -Returns the result of bitwise ``NOT`` operation on the integer. Translates to ``~a`` in the Redot Shader Language. +Returns the result of bitwise ``NOT`` operation on the integer. Translates to ``~a`` in the Godot Shader Language. diff --git a/docs/Classes/VisualShaderNodeIntOp.md b/docs/Classes/VisualShaderNodeIntOp.md index 502b09ce..6d4dc874 100644 --- a/docs/Classes/VisualShaderNodeIntOp.md +++ b/docs/Classes/VisualShaderNodeIntOp.md @@ -83,43 +83,43 @@ Calculates the remainder of two numbers using ``a % b``. +Returns the greater of two numbers. Translates to ``max(a, b)`` in the Godot Shader Language. [Operator](VisualShaderNodeIntOp.md#enum_VisualShaderNodeIntOp_Operator) **OP_MIN** = `6` -Returns the lesser of two numbers. Translates to ``max(a, b)`` in the Redot Shader Language. +Returns the lesser of two numbers. Translates to ``max(a, b)`` in the Godot Shader Language. [Operator](VisualShaderNodeIntOp.md#enum_VisualShaderNodeIntOp_Operator) **OP_BITWISE_AND** = `7` -Returns the result of bitwise ``AND`` operation on the integer. Translates to ``a & b`` in the Redot Shader Language. +Returns the result of bitwise ``AND`` operation on the integer. Translates to ``a & b`` in the Godot Shader Language. [Operator](VisualShaderNodeIntOp.md#enum_VisualShaderNodeIntOp_Operator) **OP_BITWISE_OR** = `8` -Returns the result of bitwise ``OR`` operation for two integers. Translates to ``a | b`` in the Redot Shader Language. +Returns the result of bitwise ``OR`` operation for two integers. Translates to ``a | b`` in the Godot Shader Language. [Operator](VisualShaderNodeIntOp.md#enum_VisualShaderNodeIntOp_Operator) **OP_BITWISE_XOR** = `9` -Returns the result of bitwise ``XOR`` operation for two integers. Translates to ``a ^ b`` in the Redot Shader Language. +Returns the result of bitwise ``XOR`` operation for two integers. Translates to ``a ^ b`` in the Godot Shader Language. [Operator](VisualShaderNodeIntOp.md#enum_VisualShaderNodeIntOp_Operator) **OP_BITWISE_LEFT_SHIFT** = `10` -Returns the result of bitwise left shift operation on the integer. Translates to ``a << b`` in the Redot Shader Language. +Returns the result of bitwise left shift operation on the integer. Translates to ``a << b`` in the Godot Shader Language. [Operator](VisualShaderNodeIntOp.md#enum_VisualShaderNodeIntOp_Operator) **OP_BITWISE_RIGHT_SHIFT** = `11` -Returns the result of bitwise right shift operation on the integer. Translates to ``a >> b`` in the Redot Shader Language. +Returns the result of bitwise right shift operation on the integer. Translates to ``a >> b`` in the Godot Shader Language. diff --git a/docs/Classes/VisualShaderNodeUIntFunc.md b/docs/Classes/VisualShaderNodeUIntFunc.md index ead8e1fe..8e977ea4 100644 --- a/docs/Classes/VisualShaderNodeUIntFunc.md +++ b/docs/Classes/VisualShaderNodeUIntFunc.md @@ -59,7 +59,7 @@ Negates the ``x`` using ``-(x)``. +Returns the result of bitwise ``NOT`` operation on the integer. Translates to ``~a`` in the Godot Shader Language. diff --git a/docs/Classes/VisualShaderNodeUIntOp.md b/docs/Classes/VisualShaderNodeUIntOp.md index cc466968..c4e56b67 100644 --- a/docs/Classes/VisualShaderNodeUIntOp.md +++ b/docs/Classes/VisualShaderNodeUIntOp.md @@ -83,43 +83,43 @@ Calculates the remainder of two numbers using ``a % b``. +Returns the greater of two numbers. Translates to ``max(a, b)`` in the Godot Shader Language. [Operator](VisualShaderNodeUIntOp.md#enum_VisualShaderNodeUIntOp_Operator) **OP_MIN** = `6` -Returns the lesser of two numbers. Translates to ``max(a, b)`` in the Redot Shader Language. +Returns the lesser of two numbers. Translates to ``max(a, b)`` in the Godot Shader Language. [Operator](VisualShaderNodeUIntOp.md#enum_VisualShaderNodeUIntOp_Operator) **OP_BITWISE_AND** = `7` -Returns the result of bitwise ``AND`` operation on the integer. Translates to ``a & b`` in the Redot Shader Language. +Returns the result of bitwise ``AND`` operation on the integer. Translates to ``a & b`` in the Godot Shader Language. [Operator](VisualShaderNodeUIntOp.md#enum_VisualShaderNodeUIntOp_Operator) **OP_BITWISE_OR** = `8` -Returns the result of bitwise ``OR`` operation for two integers. Translates to ``a | b`` in the Redot Shader Language. +Returns the result of bitwise ``OR`` operation for two integers. Translates to ``a | b`` in the Godot Shader Language. [Operator](VisualShaderNodeUIntOp.md#enum_VisualShaderNodeUIntOp_Operator) **OP_BITWISE_XOR** = `9` -Returns the result of bitwise ``XOR`` operation for two integers. Translates to ``a ^ b`` in the Redot Shader Language. +Returns the result of bitwise ``XOR`` operation for two integers. Translates to ``a ^ b`` in the Godot Shader Language. [Operator](VisualShaderNodeUIntOp.md#enum_VisualShaderNodeUIntOp_Operator) **OP_BITWISE_LEFT_SHIFT** = `10` -Returns the result of bitwise left shift operation on the integer. Translates to ``a << b`` in the Redot Shader Language. +Returns the result of bitwise left shift operation on the integer. Translates to ``a << b`` in the Godot Shader Language. [Operator](VisualShaderNodeUIntOp.md#enum_VisualShaderNodeUIntOp_Operator) **OP_BITWISE_RIGHT_SHIFT** = `11` -Returns the result of bitwise right shift operation on the integer. Translates to ``a >> b`` in the Redot Shader Language. +Returns the result of bitwise right shift operation on the integer. Translates to ``a >> b`` in the Godot Shader Language. diff --git a/docs/Classes/WebRTCDataChannel.md b/docs/Classes/WebRTCDataChannel.md index 33083d57..f0f9132c 100644 --- a/docs/Classes/WebRTCDataChannel.md +++ b/docs/Classes/WebRTCDataChannel.md @@ -111,13 +111,13 @@ enum **WriteMode**: [🔗](#enum_WebRTCDataChannel_WriteMode) [WriteMode](WebRTCDataChannel.md#enum_WebRTCDataChannel_WriteMode) **WRITE_MODE_TEXT** = `0` -Tells the channel to send data over this channel as text. An external peer (non-Redot) would receive this as a string. +Tells the channel to send data over this channel as text. An external peer (non-Godot) would receive this as a string. [WriteMode](WebRTCDataChannel.md#enum_WebRTCDataChannel_WriteMode) **WRITE_MODE_BINARY** = `1` -Tells the channel to send data over this channel as binary. An external peer (non-Redot) would receive this as array buffer or blob.
+Tells the channel to send data over this channel as binary. An external peer (non-Godot) would receive this as array buffer or blob.
diff --git a/docs/Classes/WebXRInterface.md b/docs/Classes/WebXRInterface.md index d895dbb6..ebbdeab4 100644 --- a/docs/Classes/WebXRInterface.md +++ b/docs/Classes/WebXRInterface.md @@ -120,7 +120,7 @@ You can use both methods to allow your game or app to support a wider or narrowe ## Tutorials -- [How to make a VR game for WebXR with Redot 4](https://www.snopekgames.com/tutorial/2023/how-make-vr-game-webxr-Redot-4) +- [How to make a VR game for WebXR with Redot 4](https://www.snopekgames.com/tutorial/2023/how-make-vr-game-webxr-godot-4) diff --git a/docs/Classes/index.md b/docs/Classes/index.md index b5969d65..8206670e 100644 --- a/docs/Classes/index.md +++ b/docs/Classes/index.md @@ -38,6 +38,7 @@ - [Bone2D](Bone2D.md) - [BoneAttachment3D](BoneAttachment3D.md) - [BoneConstraint3D](BoneConstraint3D.md) +- [BoneTwistDisperser3D](BoneTwistDisperser3D.md) - [BoxContainer](BoxContainer.md) - [Button](Button.md) - [Camera2D](Camera2D.md) @@ -46,7 +47,9 @@ - [CanvasItem](CanvasItem.md) - [CanvasLayer](CanvasLayer.md) - [CanvasModulate](CanvasModulate.md) +- [CCDIK3D](CCDIK3D.md) - [CenterContainer](CenterContainer.md) +- [ChainIK3D](ChainIK3D.md) - [CharacterBody2D](CharacterBody2D.md) - [CharacterBody3D](CharacterBody3D.md) - [CheckBox](CheckBox.md) @@ -93,6 +96,7 @@ - [EditorScriptPicker](EditorScriptPicker.md) - [EditorSpinSlider](EditorSpinSlider.md) - [EditorToaster](EditorToaster.md) +- [FABRIK3D](FABRIK3D.md) - [FileDialog](FileDialog.md) - [FileSystemDock](FileSystemDock.md) - [FlowContainer](FlowContainer.md) @@ -127,9 +131,12 @@ - [HSlider](HSlider.md) - [HSplitContainer](HSplitContainer.md) - [HTTPRequest](HTTPRequest.md) +- [IKModifier3D](IKModifier3D.md) - [ImporterMeshInstance3D](ImporterMeshInstance3D.md) - [InstancePlaceholder](InstancePlaceholder.md) - [ItemList](ItemList.md) +- [IterateIK3D](IterateIK3D.md) +- [JacobianIK3D](JacobianIK3D.md) - [Joint2D](Joint2D.md) - [Joint3D](Joint3D.md) - [Label](Label.md) @@ -139,6 +146,7 @@ - [LightmapGI](LightmapGI.md) - [LightmapProbe](LightmapProbe.md) - [LightOccluder2D](LightOccluder2D.md) +- [LimitAngularVelocityModifier3D](LimitAngularVelocityModifier3D.md) - [Line2D](Line2D.md) - [LineEdit](LineEdit.md) - [LinkButton](LinkButton.md) @@ -233,6 +241,7 @@ - [SliderJoint3D](SliderJoint3D.md) - [SoftBody3D](SoftBody3D.md) - [SpinBox](SpinBox.md) +- [SplineIK3D](SplineIK3D.md) - [SplitContainer](SplitContainer.md) - [SpotLight3D](SpotLight3D.md) - [SpringArm3D](SpringArm3D.md) @@ -260,6 +269,7 @@ - [Timer](Timer.md) - [TouchScreenButton](TouchScreenButton.md) - [Tree](Tree.md) +- [TwoBoneIK3D](TwoBoneIK3D.md) - [VBoxContainer](VBoxContainer.md) - [VehicleBody3D](VehicleBody3D.md) - [VehicleWheel3D](VehicleWheel3D.md) @@ -462,6 +472,8 @@ - [InputEventScreenTouch](InputEventScreenTouch.md) - [InputEventShortcut](InputEventShortcut.md) - [InputEventWithModifiers](InputEventWithModifiers.md) +- [JointLimitation3D](JointLimitation3D.md) +- [JointLimitationCone3D](JointLimitationCone3D.md) - [JSON](JSON.md) - [LabelSettings](LabelSettings.md) - [LightmapGIData](LightmapGIData.md) @@ -947,8 +959,8 @@ - [ScriptLanguageExtension](ScriptLanguageExtension.md) - [Semaphore](Semaphore.md) - [ShaderIncludeDB](ShaderIncludeDB.md) -- [SignalSmith](SignalSmith.md) - [SkinReference](SkinReference.md) +- [SoundSmith](SoundSmith.md) - [StreamPeer](StreamPeer.md) - [StreamPeerBuffer](StreamPeerBuffer.md) - [StreamPeerExtension](StreamPeerExtension.md)