diff --git a/classes/class_@globalscope.rst b/classes/class_@globalscope.rst index 7af03b2d9..3a00480bc 100644 --- a/classes/class_@globalscope.rst +++ b/classes/class_@globalscope.rst @@ -42,6 +42,8 @@ Properties +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`JSON` | :ref:`JSON` | +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`JavaClassWrapper` | :ref:`JavaClassWrapper` | ++---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`JavaScript` | :ref:`JavaScript` | +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`Reference` | :ref:`Marshalls` | @@ -2287,12 +2289,24 @@ The :ref:`JSON` singleton. ---- +.. _class_@GlobalScope_property_JavaClassWrapper: + +- :ref:`JavaClassWrapper` **JavaClassWrapper** + +The :ref:`JavaClassWrapper` singleton. + +**Note:** Only implemented on Android. + +---- + .. _class_@GlobalScope_property_JavaScript: - :ref:`JavaScript` **JavaScript** The :ref:`JavaScript` singleton. +**Note:** Only implemented on HTML5. + ---- .. _class_@GlobalScope_property_Marshalls: diff --git a/classes/class_arraymesh.rst b/classes/class_arraymesh.rst index 3872eac5a..943974370 100644 --- a/classes/class_arraymesh.rst +++ b/classes/class_arraymesh.rst @@ -36,6 +36,11 @@ The ``ArrayMesh`` is used to construct a :ref:`Mesh` by specifying t The ``MeshInstance`` is ready to be added to the SceneTree to be shown. +Tutorials +--------- + +- :doc:`../tutorials/content/procedural_geometry/arraymesh` + Properties ---------- @@ -199,6 +204,8 @@ Property Descriptions | *Getter* | get_blend_shape_mode() | +-----------+-----------------------------+ +Sets the blend shape mode to one of :ref:`BlendShapeMode`. + ---- .. _class_ArrayMesh_property_custom_aabb: diff --git a/classes/class_configfile.rst b/classes/class_configfile.rst index cc444bf60..b41145913 100644 --- a/classes/class_configfile.rst +++ b/classes/class_configfile.rst @@ -44,6 +44,8 @@ The following example shows how to parse an INI-style file from the system, read Keep in mind that section and property names can't contain spaces. Anything after a space will be ignored on save and on load. +ConfigFiles can also contain manually written comment lines starting with a semicolon (``;``). Those lines will be ignored when parsing the file. Note that comments will be lost when saving the ConfigFile. This can still be useful for dedicated server configuration files, which are typically never overwritten without explicit user action. + Methods ------- diff --git a/classes/class_cpuparticles.rst b/classes/class_cpuparticles.rst index d2c7f2bf7..6e7c85266 100644 --- a/classes/class_cpuparticles.rst +++ b/classes/class_cpuparticles.rst @@ -291,6 +291,8 @@ enum **Flags**: .. _class_CPUParticles_constant_EMISSION_SHAPE_DIRECTED_POINTS: +.. _class_CPUParticles_constant_EMISSION_SHAPE_MAX: + enum **EmissionShape**: - **EMISSION_SHAPE_POINT** = **0** --- All particles will be emitted from a single point. @@ -303,6 +305,8 @@ enum **EmissionShape**: - **EMISSION_SHAPE_DIRECTED_POINTS** = **4** --- Particles will be emitted at a position chosen randomly among :ref:`emission_points`. Particle velocity and rotation will be set based on :ref:`emission_normals`. Particle color will be modulated by :ref:`emission_colors`. +- **EMISSION_SHAPE_MAX** = **5** --- Represents the size of the :ref:`EmissionShape` enum. + Property Descriptions --------------------- diff --git a/classes/class_cpuparticles2d.rst b/classes/class_cpuparticles2d.rst index f55069052..6561bf58b 100644 --- a/classes/class_cpuparticles2d.rst +++ b/classes/class_cpuparticles2d.rst @@ -290,6 +290,8 @@ enum **Flags**: .. _class_CPUParticles2D_constant_EMISSION_SHAPE_DIRECTED_POINTS: +.. _class_CPUParticles2D_constant_EMISSION_SHAPE_MAX: + enum **EmissionShape**: - **EMISSION_SHAPE_POINT** = **0** --- All particles will be emitted from a single point. @@ -302,6 +304,8 @@ enum **EmissionShape**: - **EMISSION_SHAPE_DIRECTED_POINTS** = **4** --- Particles will be emitted at a position chosen randomly among :ref:`emission_points`. Particle velocity and rotation will be set based on :ref:`emission_normals`. Particle color will be modulated by :ref:`emission_colors`. +- **EMISSION_SHAPE_MAX** = **5** --- Represents the size of the :ref:`EmissionShape` enum. + Property Descriptions --------------------- diff --git a/classes/class_geometry.rst b/classes/class_geometry.rst index e81cfe631..dd68f8b24 100644 --- a/classes/class_geometry.rst +++ b/classes/class_geometry.rst @@ -11,7 +11,12 @@ Geometry **Inherits:** :ref:`Object` +Helper node to calculate generic geometry operations. +Description +----------- + +Geometry provides users with a set of helper functions to create geometric shapes, compute intersections between shapes, and process various other geometric operations. Methods ------- diff --git a/classes/class_geometryinstance.rst b/classes/class_geometryinstance.rst index 0a4204b36..41e540382 100644 --- a/classes/class_geometryinstance.rst +++ b/classes/class_geometryinstance.rst @@ -243,6 +243,8 @@ Method Descriptions - :ref:`bool` **get_flag** **(** :ref:`Flags` flag **)** const +Returns the :ref:`Flags` that have been set for this object. + ---- .. _class_GeometryInstance_method_set_custom_aabb: @@ -257,3 +259,5 @@ Overrides the bounding box of this node with a custom one. To remove it, set an - void **set_flag** **(** :ref:`Flags` flag, :ref:`bool` value **)** +Sets the :ref:`Flags` specified. See :ref:`Flags` for options. + diff --git a/classes/class_graphnode.rst b/classes/class_graphnode.rst index 9ff034ca8..cefc2a4f7 100644 --- a/classes/class_graphnode.rst +++ b/classes/class_graphnode.rst @@ -11,14 +11,16 @@ GraphNode **Inherits:** :ref:`Container` **<** :ref:`Control` **<** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`Object` -A GraphNode is a container with several input and output slots allowing connections between GraphNodes. Slots can have different, incompatible types. +A GraphNode is a container with potentially several input and output slots allowing connections between GraphNodes. Slots can have different, incompatible types. Description ----------- -A GraphNode is a container defined by a title. It can have one or more input and output slots, which can be enabled (shown) or disabled (not shown) and have different (incompatible) types. Colors can also be assigned to slots. A tuple of input and output slots is defined for each GUI element included in the GraphNode. Input and output connections are left and right slots, but only enabled slots are counted as connections. +A GraphNode is a container. Each GraphNode can have several input and output slots, sometimes refered to as ports, allowing connections between GraphNodes. To add a slot to GraphNode, add any :ref:`Control`-derived child node to it. -To add a slot to GraphNode, add any :ref:`Control`-derived child node to it. +After adding at least one child to GraphNode new sections will be automatically created in the Inspector called 'Slot'. When 'Slot' is expanded you will see list with index number for each slot. You can click on each of them to expand further. + +In the Inspector you can enable (show) or disable (hide) slots. By default all slots are disabled so you may not see any slots on your GraphNode initially. You can assign a type to each slot. Only slots of the same type will be able to connect to each other. You can also assign colors to slots. A tuple of input and output slots is defined for each GUI element included in the GraphNode. Input connections are on the left and output connections are on the right side of GraphNode. Only enabled slots are counted as connections. Properties ---------- @@ -248,7 +250,7 @@ Sets the overlay shown above the GraphNode. See :ref:`Overlay` signal, the GraphNode needs to be resized manually. +**Note:** Dragging the handle will only emit the :ref:`resize_request` signal, the GraphNode needs to be resized manually. ---- @@ -282,7 +284,7 @@ If ``true``, the GraphNode is selected. If ``true``, the close button will be visible. -**Note:** Pressing it will only trigger the :ref:`close_request` signal, the GraphNode needs to be removed manually. +**Note:** Pressing it will only emit the :ref:`close_request` signal, the GraphNode needs to be removed manually. ---- diff --git a/classes/class_image.rst b/classes/class_image.rst index e0fae24aa..a49d2dfd2 100644 --- a/classes/class_image.rst +++ b/classes/class_image.rst @@ -215,9 +215,9 @@ Enumerations enum **Format**: -- **FORMAT_L8** = **0** +- **FORMAT_L8** = **0** --- Texture format with a single 8-bit depth representing luminance. -- **FORMAT_LA8** = **1** +- **FORMAT_LA8** = **1** --- OpenGL texture format with two values, luminance and alpha each stored with 8 bits. - **FORMAT_R8** = **2** --- OpenGL texture format ``RED`` with a single component and a bitdepth of 8. @@ -357,11 +357,11 @@ On the other hand, if the image already has mipmaps, they will be used, and a ne enum **AlphaMode**: -- **ALPHA_NONE** = **0** +- **ALPHA_NONE** = **0** --- Image does not have alpha. -- **ALPHA_BIT** = **1** +- **ALPHA_BIT** = **1** --- Image stores alpha in a single bit. -- **ALPHA_BLEND** = **2** +- **ALPHA_BLEND** = **2** --- Image uses alpha. ---- @@ -379,15 +379,15 @@ enum **AlphaMode**: enum **CompressMode**: -- **COMPRESS_S3TC** = **0** +- **COMPRESS_S3TC** = **0** --- Use S3TC compression. -- **COMPRESS_PVRTC2** = **1** +- **COMPRESS_PVRTC2** = **1** --- Use PVRTC2 compression. -- **COMPRESS_PVRTC4** = **2** +- **COMPRESS_PVRTC4** = **2** --- Use PVRTC4 compression. -- **COMPRESS_ETC** = **3** +- **COMPRESS_ETC** = **3** --- Use ETC compression. -- **COMPRESS_ETC2** = **4** +- **COMPRESS_ETC2** = **4** --- Use ETC2 compression. ---- @@ -401,11 +401,11 @@ enum **CompressMode**: enum **CompressSource**: -- **COMPRESS_SOURCE_GENERIC** = **0** +- **COMPRESS_SOURCE_GENERIC** = **0** --- Source texture (before compression) is a regular texture. Default for all textures. -- **COMPRESS_SOURCE_SRGB** = **1** +- **COMPRESS_SOURCE_SRGB** = **1** --- Source texture (before compression) is in sRGB space. -- **COMPRESS_SOURCE_NORMAL** = **2** +- **COMPRESS_SOURCE_NORMAL** = **2** --- Source texture (before compression) is a normal texture (e.g. it can be compressed into two channels). Constants --------- @@ -470,6 +470,8 @@ Blits ``src_rect`` area from ``src`` image to this image at the coordinates give - void **bumpmap_to_normalmap** **(** :ref:`float` bump_scale=1.0 **)** +Converts a bumpmap to a normalmap. A bumpmap provides a height offset per-pixel, while a normalmap provides a normal direction per pixel. + ---- .. _class_Image_method_clear_mipmaps: @@ -540,7 +542,7 @@ Decompresses the image if it is compressed. Returns an error if decompress funct - :ref:`AlphaMode` **detect_alpha** **(** **)** const -Returns :ref:`ALPHA_BLEND` if the image has data for alpha values. Returns :ref:`ALPHA_BIT` if all the alpha values are below a certain threshold or the maximum value. Returns :ref:`ALPHA_NONE` if no data for alpha values is found. +Returns :ref:`ALPHA_BLEND` if the image has data for alpha values. Returns :ref:`ALPHA_BIT` if all the alpha values are stored in a single bit. Returns :ref:`ALPHA_NONE` if no data for alpha values is found. ---- @@ -780,6 +782,8 @@ Resizes the image to the nearest power of 2 for the width and height. If ``squar - :ref:`Image` **rgbe_to_srgb** **(** **)** +Converts a standard RGBE (Red Green Blue Exponent) image to an sRGB image. + ---- .. _class_Image_method_save_exr: diff --git a/classes/class_javaclass.rst b/classes/class_javaclass.rst new file mode 100644 index 000000000..8cad86783 --- /dev/null +++ b/classes/class_javaclass.rst @@ -0,0 +1,15 @@ +:github_url: hide + +.. Generated automatically by doc/tools/makerst.py in Godot's source tree. +.. DO NOT EDIT THIS FILE, but the JavaClass.xml source instead. +.. The source is found in doc/classes or modules//doc_classes. + +.. _class_JavaClass: + +JavaClass +========= + +**Inherits:** :ref:`Reference` **<** :ref:`Object` + + + diff --git a/classes/class_javaclasswrapper.rst b/classes/class_javaclasswrapper.rst new file mode 100644 index 000000000..0817c2871 --- /dev/null +++ b/classes/class_javaclasswrapper.rst @@ -0,0 +1,29 @@ +:github_url: hide + +.. Generated automatically by doc/tools/makerst.py in Godot's source tree. +.. DO NOT EDIT THIS FILE, but the JavaClassWrapper.xml source instead. +.. The source is found in doc/classes or modules//doc_classes. + +.. _class_JavaClassWrapper: + +JavaClassWrapper +================ + +**Inherits:** :ref:`Object` + + + +Methods +------- + ++-----------------------------------+----------------------------------------------------------------------------------------------+ +| :ref:`JavaClass` | :ref:`wrap` **(** :ref:`String` name **)** | ++-----------------------------------+----------------------------------------------------------------------------------------------+ + +Method Descriptions +------------------- + +.. _class_JavaClassWrapper_method_wrap: + +- :ref:`JavaClass` **wrap** **(** :ref:`String` name **)** + diff --git a/classes/class_kinematicbody.rst b/classes/class_kinematicbody.rst index 378b57342..28138d0e1 100644 --- a/classes/class_kinematicbody.rst +++ b/classes/class_kinematicbody.rst @@ -64,7 +64,7 @@ Methods +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`move_and_slide` **(** :ref:`Vector3` linear_velocity, :ref:`Vector3` up_direction=Vector3( 0, 0, 0 ), :ref:`bool` stop_on_slope=false, :ref:`int` max_slides=4, :ref:`float` floor_max_angle=0.785398, :ref:`bool` infinite_inertia=true **)** | +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector3` | :ref:`move_and_slide_with_snap` **(** :ref:`Vector3` linear_velocity, :ref:`Vector3` snap, :ref:`Vector3` floor_normal=Vector3( 0, 0, 0 ), :ref:`bool` stop_on_slope=false, :ref:`int` max_slides=4, :ref:`float` floor_max_angle=0.785398, :ref:`bool` infinite_inertia=true **)** | +| :ref:`Vector3` | :ref:`move_and_slide_with_snap` **(** :ref:`Vector3` linear_velocity, :ref:`Vector3` snap, :ref:`Vector3` up_direction=Vector3( 0, 0, 0 ), :ref:`bool` stop_on_slope=false, :ref:`int` max_slides=4, :ref:`float` floor_max_angle=0.785398, :ref:`bool` infinite_inertia=true **)** | +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_axis_lock` **(** :ref:`BodyAxis` axis, :ref:`bool` lock **)** | +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -151,7 +151,7 @@ Returns ``true`` if the specified ``axis`` is locked. See also :ref:`move_lock_x - :ref:`Vector3` **get_floor_normal** **(** **)** const -Returns the normal vector of the floor. +Returns the surface normal of the floor at the last collision point. Only valid after calling :ref:`move_and_slide` or :ref:`move_and_slide_with_snap` and when :ref:`is_on_floor` returns ``true``. ---- @@ -159,7 +159,7 @@ Returns the normal vector of the floor. - :ref:`Vector3` **get_floor_velocity** **(** **)** const -Returns the velocity of the floor. Only updates when calling :ref:`move_and_slide`. +Returns the linear velocity of the floor at the last collision point. Only valid after calling :ref:`move_and_slide` or :ref:`move_and_slide_with_snap` and when :ref:`is_on_floor` returns ``true``. ---- @@ -221,7 +221,7 @@ Moves the body along a vector. If the body collides with another, it will slide ``linear_velocity`` is the velocity vector (typically meters per second). Unlike in :ref:`move_and_collide`, you should *not* multiply it by ``delta`` — the physics engine handles applying the velocity. -``floor_normal`` is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of ``Vector3(0, 0, 0)``, everything is considered a wall. This is useful for topdown games. +``up_direction`` is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of ``Vector3(0, 0, 0)``, everything is considered a wall. If ``stop_on_slope`` is ``true``, body will not slide on slopes if you include gravity in ``linear_velocity``. @@ -237,7 +237,7 @@ Returns the ``linear_velocity`` vector, rotated and/or scaled if a slide collisi .. _class_KinematicBody_method_move_and_slide_with_snap: -- :ref:`Vector3` **move_and_slide_with_snap** **(** :ref:`Vector3` linear_velocity, :ref:`Vector3` snap, :ref:`Vector3` floor_normal=Vector3( 0, 0, 0 ), :ref:`bool` stop_on_slope=false, :ref:`int` max_slides=4, :ref:`float` floor_max_angle=0.785398, :ref:`bool` infinite_inertia=true **)** +- :ref:`Vector3` **move_and_slide_with_snap** **(** :ref:`Vector3` linear_velocity, :ref:`Vector3` snap, :ref:`Vector3` up_direction=Vector3( 0, 0, 0 ), :ref:`bool` stop_on_slope=false, :ref:`int` max_slides=4, :ref:`float` floor_max_angle=0.785398, :ref:`bool` infinite_inertia=true **)** Moves the body while keeping it attached to slopes. Similar to :ref:`move_and_slide`. diff --git a/classes/class_kinematicbody2d.rst b/classes/class_kinematicbody2d.rst index 01c0cbf98..079636f0c 100644 --- a/classes/class_kinematicbody2d.rst +++ b/classes/class_kinematicbody2d.rst @@ -58,9 +58,9 @@ Methods +---------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`KinematicCollision2D` | :ref:`move_and_collide` **(** :ref:`Vector2` rel_vec, :ref:`bool` infinite_inertia=true, :ref:`bool` exclude_raycast_shapes=true, :ref:`bool` test_only=false **)** | +---------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector2` | :ref:`move_and_slide` **(** :ref:`Vector2` linear_velocity, :ref:`Vector2` floor_normal=Vector2( 0, 0 ), :ref:`bool` stop_on_slope=false, :ref:`int` max_slides=4, :ref:`float` floor_max_angle=0.785398, :ref:`bool` infinite_inertia=true **)** | +| :ref:`Vector2` | :ref:`move_and_slide` **(** :ref:`Vector2` linear_velocity, :ref:`Vector2` up_direction=Vector2( 0, 0 ), :ref:`bool` stop_on_slope=false, :ref:`int` max_slides=4, :ref:`float` floor_max_angle=0.785398, :ref:`bool` infinite_inertia=true **)** | +---------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector2` | :ref:`move_and_slide_with_snap` **(** :ref:`Vector2` linear_velocity, :ref:`Vector2` snap, :ref:`Vector2` floor_normal=Vector2( 0, 0 ), :ref:`bool` stop_on_slope=false, :ref:`int` max_slides=4, :ref:`float` floor_max_angle=0.785398, :ref:`bool` infinite_inertia=true **)** | +| :ref:`Vector2` | :ref:`move_and_slide_with_snap` **(** :ref:`Vector2` linear_velocity, :ref:`Vector2` snap, :ref:`Vector2` up_direction=Vector2( 0, 0 ), :ref:`bool` stop_on_slope=false, :ref:`int` max_slides=4, :ref:`float` floor_max_angle=0.785398, :ref:`bool` infinite_inertia=true **)** | +---------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`test_move` **(** :ref:`Transform2D` from, :ref:`Vector2` rel_vec, :ref:`bool` infinite_inertia=true **)** | +---------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -105,7 +105,7 @@ Method Descriptions - :ref:`Vector2` **get_floor_normal** **(** **)** const -Returns the normal vector of the floor. +Returns the surface normal of the floor at the last collision point. Only valid after calling :ref:`move_and_slide` or :ref:`move_and_slide_with_snap` and when :ref:`is_on_floor` returns ``true``. ---- @@ -113,7 +113,7 @@ Returns the normal vector of the floor. - :ref:`Vector2` **get_floor_velocity** **(** **)** const -Returns the velocity of the floor. Only updates when calling :ref:`move_and_slide`. +Returns the linear velocity of the floor at the last collision point. Only valid after calling :ref:`move_and_slide` or :ref:`move_and_slide_with_snap` and when :ref:`is_on_floor` returns ``true``. ---- @@ -177,13 +177,13 @@ If ``test_only`` is ``true``, the body does not move but the would-be collision .. _class_KinematicBody2D_method_move_and_slide: -- :ref:`Vector2` **move_and_slide** **(** :ref:`Vector2` linear_velocity, :ref:`Vector2` floor_normal=Vector2( 0, 0 ), :ref:`bool` stop_on_slope=false, :ref:`int` max_slides=4, :ref:`float` floor_max_angle=0.785398, :ref:`bool` infinite_inertia=true **)** +- :ref:`Vector2` **move_and_slide** **(** :ref:`Vector2` linear_velocity, :ref:`Vector2` up_direction=Vector2( 0, 0 ), :ref:`bool` stop_on_slope=false, :ref:`int` max_slides=4, :ref:`float` floor_max_angle=0.785398, :ref:`bool` infinite_inertia=true **)** Moves the body along a vector. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a ``KinematicBody2D`` or :ref:`RigidBody2D`, it will also be affected by the motion of the other body. You can use this to make moving or rotating platforms, or to make nodes push other nodes. ``linear_velocity`` is the velocity vector in pixels per second. Unlike in :ref:`move_and_collide`, you should *not* multiply it by ``delta`` — the physics engine handles applying the velocity. -``floor_normal`` is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of ``Vector2(0, 0)``, everything is considered a wall. This is useful for topdown games. +``up_direction`` is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of ``Vector2(0, 0)``, everything is considered a wall. This is useful for topdown games. If ``stop_on_slope`` is ``true``, body will not slide on slopes when you include gravity in ``linear_velocity`` and the body is standing still. @@ -199,7 +199,7 @@ Returns the ``linear_velocity`` vector, rotated and/or scaled if a slide collisi .. _class_KinematicBody2D_method_move_and_slide_with_snap: -- :ref:`Vector2` **move_and_slide_with_snap** **(** :ref:`Vector2` linear_velocity, :ref:`Vector2` snap, :ref:`Vector2` floor_normal=Vector2( 0, 0 ), :ref:`bool` stop_on_slope=false, :ref:`int` max_slides=4, :ref:`float` floor_max_angle=0.785398, :ref:`bool` infinite_inertia=true **)** +- :ref:`Vector2` **move_and_slide_with_snap** **(** :ref:`Vector2` linear_velocity, :ref:`Vector2` snap, :ref:`Vector2` up_direction=Vector2( 0, 0 ), :ref:`bool` stop_on_slope=false, :ref:`int` max_slides=4, :ref:`float` floor_max_angle=0.785398, :ref:`bool` infinite_inertia=true **)** Moves the body while keeping it attached to slopes. Similar to :ref:`move_and_slide`. diff --git a/classes/class_kinematiccollision.rst b/classes/class_kinematiccollision.rst index 8dd8043a3..aa20d0d28 100644 --- a/classes/class_kinematiccollision.rst +++ b/classes/class_kinematiccollision.rst @@ -164,7 +164,7 @@ The colliding body's shape's normal at the point of collision. | *Getter* | get_position() | +-----------+--------------------+ -The point of collision. +The point of collision, in global coordinates. ---- diff --git a/classes/class_kinematiccollision2d.rst b/classes/class_kinematiccollision2d.rst index 26294ac9d..37d47c316 100644 --- a/classes/class_kinematiccollision2d.rst +++ b/classes/class_kinematiccollision2d.rst @@ -164,7 +164,7 @@ The colliding body's shape's normal at the point of collision. | *Getter* | get_position() | +-----------+-----------------+ -The point of collision. +The point of collision, in global coordinates. ---- diff --git a/classes/class_light.rst b/classes/class_light.rst index e70c82ecc..bae53a171 100644 --- a/classes/class_light.rst +++ b/classes/class_light.rst @@ -104,35 +104,35 @@ Enumerations enum **Param**: -- **PARAM_ENERGY** = **0** +- **PARAM_ENERGY** = **0** --- Constant for accessing :ref:`light_energy`. -- **PARAM_INDIRECT_ENERGY** = **1** +- **PARAM_INDIRECT_ENERGY** = **1** --- Constant for accessing :ref:`light_indirect_energy`. -- **PARAM_SPECULAR** = **2** +- **PARAM_SPECULAR** = **2** --- Constant for accessing :ref:`light_specular`. -- **PARAM_RANGE** = **3** +- **PARAM_RANGE** = **3** --- Constant for accessing :ref:`OmniLight.omni_range` or :ref:`SpotLight.spot_range`. -- **PARAM_ATTENUATION** = **4** +- **PARAM_ATTENUATION** = **4** --- Constant for accessing :ref:`OmniLight.omni_attenuation` or :ref:`SpotLight.spot_attenuation`. -- **PARAM_SPOT_ANGLE** = **5** +- **PARAM_SPOT_ANGLE** = **5** --- Constant for accessing :ref:`SpotLight.spot_angle`. -- **PARAM_SPOT_ATTENUATION** = **6** +- **PARAM_SPOT_ATTENUATION** = **6** --- Constant for accessing :ref:`SpotLight.spot_angle_attenuation`. -- **PARAM_CONTACT_SHADOW_SIZE** = **7** +- **PARAM_CONTACT_SHADOW_SIZE** = **7** --- Constant for accessing :ref:`shadow_contact`. -- **PARAM_SHADOW_MAX_DISTANCE** = **8** +- **PARAM_SHADOW_MAX_DISTANCE** = **8** --- Constant for accessing :ref:`DirectionalLight.directional_shadow_max_distance`. -- **PARAM_SHADOW_SPLIT_1_OFFSET** = **9** +- **PARAM_SHADOW_SPLIT_1_OFFSET** = **9** --- Constant for accessing :ref:`DirectionalLight.directional_shadow_split_1`. -- **PARAM_SHADOW_SPLIT_2_OFFSET** = **10** +- **PARAM_SHADOW_SPLIT_2_OFFSET** = **10** --- Constant for accessing :ref:`DirectionalLight.directional_shadow_split_2`. -- **PARAM_SHADOW_SPLIT_3_OFFSET** = **11** +- **PARAM_SHADOW_SPLIT_3_OFFSET** = **11** --- Constant for accessing :ref:`DirectionalLight.directional_shadow_split_3`. -- **PARAM_SHADOW_NORMAL_BIAS** = **12** +- **PARAM_SHADOW_NORMAL_BIAS** = **12** --- Constant for accessing :ref:`DirectionalLight.directional_shadow_normal_bias`. -- **PARAM_SHADOW_BIAS** = **13** +- **PARAM_SHADOW_BIAS** = **13** --- Constant for accessing :ref:`shadow_bias`. -- **PARAM_SHADOW_BIAS_SPLIT_SCALE** = **14** +- **PARAM_SHADOW_BIAS_SPLIT_SCALE** = **14** --- Constant for accessing :ref:`DirectionalLight.directional_shadow_bias_split_scale`. - **PARAM_MAX** = **15** --- Represents the size of the :ref:`Param` enum. @@ -365,6 +365,8 @@ If ``true``, the light will cast shadows. | *Getter* | get_shadow_reverse_cull_face() | +-----------+-------------------------------------+ +If ``true``, reverses the backface culling of the mesh. This can be useful when you have a flat mesh that has a light behind it. If you need to cast a shadow on both sides of the mesh, set the mesh to use double-sided shadows with :ref:`GeometryInstance.SHADOW_CASTING_SETTING_DOUBLE_SIDED`. + Method Descriptions ------------------- @@ -372,9 +374,13 @@ Method Descriptions - :ref:`float` **get_param** **(** :ref:`Param` param **)** const +Returns the value of the specified :ref:`Param` parameter. + ---- .. _class_Light_method_set_param: - void **set_param** **(** :ref:`Param` param, :ref:`float` value **)** +Sets the value of the specified :ref:`Param` parameter. + diff --git a/classes/class_lineedit.rst b/classes/class_lineedit.rst index 14db02d50..be1862e3d 100644 --- a/classes/class_lineedit.rst +++ b/classes/class_lineedit.rst @@ -16,7 +16,7 @@ Control that provides single-line string editing. Description ----------- -LineEdit provides a single-line string editor, used for text fields. It features many built-in shortcuts which will always be available: +LineEdit provides a single-line string editor, used for text fields. It features many built-in shortcuts which will always be available: (the Ctrl here maps to Command on macOS) - Ctrl + C: Copy @@ -36,6 +36,24 @@ LineEdit provides a single-line string editor, used for text fields. It features - Up/Down arrow: Move the cursor to the beginning/end of the line +On macOS, some extra keyboard shortcuts are available: + +- Ctrl + F: Like the right arrow key, move the cursor one character right + +- Ctrl + B: Like the left arrow key, move the cursor one character left + +- Ctrl + P: Like the up arrow key, move the cursor to the previous line + +- Ctrl + N: Like the down arrow key, move the cursor to the next line + +- Ctrl + D: Like the Delete key, delete the character on the right side of cursor + +- Ctrl + H: Like the Backspace key, delete the character on the left side of the cursor + +- Command + Left arrow: Like the Home key, move the cursor to the beginning of the line + +- Command + Right arrow: Like the End key, move the cursor to the end of the line + Properties ---------- @@ -488,6 +506,8 @@ If ``false``, using shortcuts will be disabled. String value of the ``LineEdit``. +**Note:** Changing text using this property won't emit the :ref:`text_changed` signal. + Method Descriptions ------------------- diff --git a/classes/class_menubutton.rst b/classes/class_menubutton.rst index 3ca630ad1..0f5f20230 100644 --- a/classes/class_menubutton.rst +++ b/classes/class_menubutton.rst @@ -16,7 +16,9 @@ Special button that brings up a :ref:`PopupMenu` when clicked. Description ----------- -Special button that brings up a :ref:`PopupMenu` when clicked. That's pretty much all it does, as it's just a helper class when building GUIs. +Special button that brings up a :ref:`PopupMenu` when clicked. + +New items can be created inside this :ref:`PopupMenu` using ``get_popup().add_item("My Item Name")``. You can also create them directly from the editor. To do so, select the MenuButton node, then in the toolbar at the top of the 2D editor, click **Items** then click **Add** in the popup. You will be able to give each items new properties. Properties ---------- diff --git a/classes/class_mesh.rst b/classes/class_mesh.rst index 0e4d40097..05351061e 100644 --- a/classes/class_mesh.rst +++ b/classes/class_mesh.rst @@ -99,9 +99,9 @@ enum **PrimitiveType**: enum **BlendShapeMode**: -- **BLEND_SHAPE_MODE_NORMALIZED** = **0** +- **BLEND_SHAPE_MODE_NORMALIZED** = **0** --- Blend shapes are normalized. -- **BLEND_SHAPE_MODE_RELATIVE** = **1** +- **BLEND_SHAPE_MODE_RELATIVE** = **1** --- Blend shapes are relative to base weight. ---- @@ -153,49 +153,49 @@ enum **BlendShapeMode**: enum **ArrayFormat**: -- **ARRAY_FORMAT_VERTEX** = **1** +- **ARRAY_FORMAT_VERTEX** = **1** --- Mesh array contains vertices. All meshes require a vertex array so this should always be present. -- **ARRAY_FORMAT_NORMAL** = **2** +- **ARRAY_FORMAT_NORMAL** = **2** --- Mesh array contains normals. -- **ARRAY_FORMAT_TANGENT** = **4** +- **ARRAY_FORMAT_TANGENT** = **4** --- Mesh array contains tangents. -- **ARRAY_FORMAT_COLOR** = **8** +- **ARRAY_FORMAT_COLOR** = **8** --- Mesh array contains colors. -- **ARRAY_FORMAT_TEX_UV** = **16** +- **ARRAY_FORMAT_TEX_UV** = **16** --- Mesh array contains UVs. -- **ARRAY_FORMAT_TEX_UV2** = **32** +- **ARRAY_FORMAT_TEX_UV2** = **32** --- Mesh array contains second UV. -- **ARRAY_FORMAT_BONES** = **64** +- **ARRAY_FORMAT_BONES** = **64** --- Mesh array contains bones. -- **ARRAY_FORMAT_WEIGHTS** = **128** +- **ARRAY_FORMAT_WEIGHTS** = **128** --- Mesh array contains bone weights. -- **ARRAY_FORMAT_INDEX** = **256** +- **ARRAY_FORMAT_INDEX** = **256** --- Mesh array uses indices. -- **ARRAY_COMPRESS_BASE** = **9** +- **ARRAY_COMPRESS_BASE** = **9** --- Used internally to calculate other ``ARRAY_COMPRESS_*`` enum values. Do not use. -- **ARRAY_COMPRESS_VERTEX** = **512** +- **ARRAY_COMPRESS_VERTEX** = **512** --- Flag used to mark a compressed (half float) vertex array. -- **ARRAY_COMPRESS_NORMAL** = **1024** +- **ARRAY_COMPRESS_NORMAL** = **1024** --- Flag used to mark a compressed (half float) normal array. -- **ARRAY_COMPRESS_TANGENT** = **2048** +- **ARRAY_COMPRESS_TANGENT** = **2048** --- Flag used to mark a compressed (half float) tangent array. -- **ARRAY_COMPRESS_COLOR** = **4096** +- **ARRAY_COMPRESS_COLOR** = **4096** --- Flag used to mark a compressed (half float) color array. -- **ARRAY_COMPRESS_TEX_UV** = **8192** +- **ARRAY_COMPRESS_TEX_UV** = **8192** --- Flag used to mark a compressed (half float) UV coordinates array. -- **ARRAY_COMPRESS_TEX_UV2** = **16384** +- **ARRAY_COMPRESS_TEX_UV2** = **16384** --- Flag used to mark a compressed (half float) UV coordinates array for the second UV coordinates. -- **ARRAY_COMPRESS_BONES** = **32768** +- **ARRAY_COMPRESS_BONES** = **32768** --- Flag used to mark a compressed bone array. -- **ARRAY_COMPRESS_WEIGHTS** = **65536** +- **ARRAY_COMPRESS_WEIGHTS** = **65536** --- Flag used to mark a compressed (half float) weight array. -- **ARRAY_COMPRESS_INDEX** = **131072** +- **ARRAY_COMPRESS_INDEX** = **131072** --- Flag used to mark a compressed index array. -- **ARRAY_FLAG_USE_2D_VERTICES** = **262144** +- **ARRAY_FLAG_USE_2D_VERTICES** = **262144** --- Flag used to mark that the array contains 2D vertices. -- **ARRAY_FLAG_USE_16_BIT_BONES** = **524288** +- **ARRAY_FLAG_USE_16_BIT_BONES** = **524288** --- Flag used to mark that the array uses 16-bit bones instead of 8-bit. -- **ARRAY_COMPRESS_DEFAULT** = **97280** +- **ARRAY_COMPRESS_DEFAULT** = **97280** --- Used to set flags :ref:`ARRAY_COMPRESS_VERTEX`, :ref:`ARRAY_COMPRESS_NORMAL`, :ref:`ARRAY_COMPRESS_TANGENT`, :ref:`ARRAY_COMPRESS_COLOR`, :ref:`ARRAY_COMPRESS_TEX_UV`, :ref:`ARRAY_COMPRESS_TEX_UV2` and :ref:`ARRAY_COMPRESS_WEIGHTS` quickly. ---- @@ -258,6 +258,8 @@ Property Descriptions | *Getter* | get_lightmap_size_hint() | +-----------+-------------------------------+ +Sets a hint to be used for lightmap resolution in :ref:`BakedLightmap`. Overrides :ref:`BakedLightmap.bake_default_texels_per_unit`. + Method Descriptions ------------------- diff --git a/classes/class_meshinstance.rst b/classes/class_meshinstance.rst index b04bab2fb..40e7d8daa 100644 --- a/classes/class_meshinstance.rst +++ b/classes/class_meshinstance.rst @@ -91,6 +91,8 @@ The :ref:`Mesh` resource for the instance. | *Getter* | get_skin() | +----------+-----------------+ +Sets the skin to be used by this instance. + Method Descriptions ------------------- diff --git a/classes/class_meshinstance2d.rst b/classes/class_meshinstance2d.rst index 3007acbac..a4bea3fa2 100644 --- a/classes/class_meshinstance2d.rst +++ b/classes/class_meshinstance2d.rst @@ -41,6 +41,8 @@ Signals - **texture_changed** **(** **)** +Emitted when the :ref:`texture` is changed. + Property Descriptions --------------------- diff --git a/classes/class_multimeshinstance.rst b/classes/class_multimeshinstance.rst index 4bdd847a8..b34702889 100644 --- a/classes/class_multimeshinstance.rst +++ b/classes/class_multimeshinstance.rst @@ -27,6 +27,8 @@ Tutorials - :doc:`../tutorials/3d/using_multi_mesh_instance` +- :doc:`../tutorials/optimization/using_multimesh` + Properties ---------- diff --git a/classes/class_multimeshinstance2d.rst b/classes/class_multimeshinstance2d.rst index 12d9bdeb3..a255e5a8b 100644 --- a/classes/class_multimeshinstance2d.rst +++ b/classes/class_multimeshinstance2d.rst @@ -38,6 +38,8 @@ Signals - **texture_changed** **(** **)** +Emitted when the :ref:`texture` is changed. + Property Descriptions --------------------- diff --git a/classes/class_object.rst b/classes/class_object.rst index 1484fc7ab..eef183368 100644 --- a/classes/class_object.rst +++ b/classes/class_object.rst @@ -9,7 +9,7 @@ Object ====== -**Inherited By:** :ref:`ARVRPositionalTracker`, :ref:`ARVRServer`, :ref:`AudioServer`, :ref:`CameraServer`, :ref:`ClassDB`, :ref:`EditorFileSystemDirectory`, :ref:`EditorNavigationMeshGenerator`, :ref:`EditorSelection`, :ref:`EditorVCSInterface`, :ref:`Engine`, :ref:`Geometry`, :ref:`GodotSharp`, :ref:`IP`, :ref:`Input`, :ref:`InputMap`, :ref:`JSON`, :ref:`JSONRPC`, :ref:`JavaScript`, :ref:`MainLoop`, :ref:`Node`, :ref:`OS`, :ref:`Performance`, :ref:`Physics2DDirectBodyState`, :ref:`Physics2DDirectSpaceState`, :ref:`Physics2DServer`, :ref:`PhysicsDirectBodyState`, :ref:`PhysicsDirectSpaceState`, :ref:`PhysicsServer`, :ref:`ProjectSettings`, :ref:`Reference`, :ref:`ResourceLoader`, :ref:`ResourceSaver`, :ref:`TranslationServer`, :ref:`TreeItem`, :ref:`UndoRedo`, :ref:`VisualScriptEditor`, :ref:`VisualServer` +**Inherited By:** :ref:`ARVRPositionalTracker`, :ref:`ARVRServer`, :ref:`AudioServer`, :ref:`CameraServer`, :ref:`ClassDB`, :ref:`EditorFileSystemDirectory`, :ref:`EditorNavigationMeshGenerator`, :ref:`EditorSelection`, :ref:`EditorVCSInterface`, :ref:`Engine`, :ref:`Geometry`, :ref:`GodotSharp`, :ref:`IP`, :ref:`Input`, :ref:`InputMap`, :ref:`JSON`, :ref:`JSONRPC`, :ref:`JavaClassWrapper`, :ref:`JavaScript`, :ref:`MainLoop`, :ref:`Node`, :ref:`OS`, :ref:`Performance`, :ref:`Physics2DDirectBodyState`, :ref:`Physics2DDirectSpaceState`, :ref:`Physics2DServer`, :ref:`PhysicsDirectBodyState`, :ref:`PhysicsDirectSpaceState`, :ref:`PhysicsServer`, :ref:`ProjectSettings`, :ref:`Reference`, :ref:`ResourceLoader`, :ref:`ResourceSaver`, :ref:`TranslationServer`, :ref:`TreeItem`, :ref:`UndoRedo`, :ref:`VisualScriptEditor`, :ref:`VisualServer` Base class for all non built-in types. diff --git a/classes/class_omnilight.rst b/classes/class_omnilight.rst index 02a812d6f..5ebb2e596 100644 --- a/classes/class_omnilight.rst +++ b/classes/class_omnilight.rst @@ -61,9 +61,9 @@ enum **ShadowMode**: enum **ShadowDetail**: -- **SHADOW_DETAIL_VERTICAL** = **0** +- **SHADOW_DETAIL_VERTICAL** = **0** --- Use more detail vertically when computing the shadow. -- **SHADOW_DETAIL_HORIZONTAL** = **1** +- **SHADOW_DETAIL_HORIZONTAL** = **1** --- Use more detail horizontally when computing the shadow. Property Descriptions --------------------- diff --git a/classes/class_packetpeer.rst b/classes/class_packetpeer.rst index f113dff75..622385bb0 100644 --- a/classes/class_packetpeer.rst +++ b/classes/class_packetpeer.rst @@ -23,9 +23,11 @@ PacketPeer is an abstraction and base class for packet-based protocols (such as Properties ---------- -+-------------------------+-------------------------------------------------------------------------------+-------+ -| :ref:`bool` | :ref:`allow_object_decoding` | false | -+-------------------------+-------------------------------------------------------------------------------+-------+ ++-------------------------+---------------------------------------------------------------------------------+---------+ +| :ref:`bool` | :ref:`allow_object_decoding` | false | ++-------------------------+---------------------------------------------------------------------------------+---------+ +| :ref:`int` | :ref:`encode_buffer_max_size` | 8388608 | ++-------------------------+---------------------------------------------------------------------------------+---------+ Methods ------- @@ -65,6 +67,24 @@ If ``true``, the PacketPeer will allow encoding and decoding of object via :ref: **Warning:** Deserialized objects can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats such as remote code execution. +---- + +.. _class_PacketPeer_property_encode_buffer_max_size: + +- :ref:`int` **encode_buffer_max_size** + ++-----------+-----------------------------------+ +| *Default* | 8388608 | ++-----------+-----------------------------------+ +| *Setter* | set_encode_buffer_max_size(value) | ++-----------+-----------------------------------+ +| *Getter* | get_encode_buffer_max_size() | ++-----------+-----------------------------------+ + +Maximum buffer size allowed when encoding :ref:`Variant`\ s. Raise this value to support heavier memory allocations. + +The :ref:`put_var` method allocates memory on the stack, and the buffer used will grow automatically to the closest power of two to match the size of the :ref:`Variant`. If the :ref:`Variant` is bigger than ``encode_buffer_max_size``, the method will error out with :ref:`@GlobalScope.ERR_OUT_OF_MEMORY`. + Method Descriptions ------------------- diff --git a/classes/class_particlesmaterial.rst b/classes/class_particlesmaterial.rst index b66fa5a25..19d3c41c9 100644 --- a/classes/class_particlesmaterial.rst +++ b/classes/class_particlesmaterial.rst @@ -253,6 +253,8 @@ enum **Flags**: .. _class_ParticlesMaterial_constant_EMISSION_SHAPE_DIRECTED_POINTS: +.. _class_ParticlesMaterial_constant_EMISSION_SHAPE_MAX: + enum **EmissionShape**: - **EMISSION_SHAPE_POINT** = **0** --- All particles will be emitted from a single point. @@ -265,6 +267,8 @@ enum **EmissionShape**: - **EMISSION_SHAPE_DIRECTED_POINTS** = **4** --- Particles will be emitted at a position determined by sampling a random point on the :ref:`emission_point_texture`. Particle velocity and rotation will be set based on :ref:`emission_normal_texture`. Particle color will be modulated by :ref:`emission_color_texture`. +- **EMISSION_SHAPE_MAX** = **5** --- Represents the size of the :ref:`EmissionShape` enum. + Property Descriptions --------------------- diff --git a/classes/class_reference.rst b/classes/class_reference.rst index d092735e0..3cb0b5dd0 100644 --- a/classes/class_reference.rst +++ b/classes/class_reference.rst @@ -11,7 +11,7 @@ Reference **Inherits:** :ref:`Object` -**Inherited By:** :ref:`ARVRInterface`, :ref:`AStar`, :ref:`AStar2D`, :ref:`AnimationTrackEditPlugin`, :ref:`AudioEffectInstance`, :ref:`AudioStreamPlayback`, :ref:`CameraFeed`, :ref:`CharFXTransform`, :ref:`ConfigFile`, :ref:`Crypto`, :ref:`Directory`, :ref:`EditorExportPlugin`, :ref:`EditorFeatureProfile`, :ref:`EditorInspectorPlugin`, :ref:`EditorResourceConversionPlugin`, :ref:`EditorResourcePreviewGenerator`, :ref:`EditorSceneImporter`, :ref:`EditorScenePostImport`, :ref:`EditorScript`, :ref:`EncodedObjectAsID`, :ref:`Expression`, :ref:`File`, :ref:`FuncRef`, :ref:`GDNative`, :ref:`GDScriptFunctionState`, :ref:`GDScriptNativeClass`, :ref:`HTTPClient`, :ref:`HashingContext`, :ref:`JSONParseResult`, :ref:`KinematicCollision`, :ref:`KinematicCollision2D`, :ref:`Marshalls`, :ref:`MeshDataTool`, :ref:`MultiplayerAPI`, :ref:`Mutex`, :ref:`PCKPacker`, :ref:`PackedDataContainerRef`, :ref:`PacketPeer`, :ref:`Physics2DShapeQueryParameters`, :ref:`Physics2DShapeQueryResult`, :ref:`Physics2DTestMotionResult`, :ref:`PhysicsShapeQueryParameters`, :ref:`PhysicsShapeQueryResult`, :ref:`RandomNumberGenerator`, :ref:`RegEx`, :ref:`RegExMatch`, :ref:`Resource`, :ref:`ResourceFormatLoader`, :ref:`ResourceFormatSaver`, :ref:`ResourceImporter`, :ref:`ResourceInteractiveLoader`, :ref:`SceneState`, :ref:`SceneTreeTimer`, :ref:`Semaphore`, :ref:`SkinReference`, :ref:`SpatialGizmo`, :ref:`SpatialVelocityTracker`, :ref:`StreamPeer`, :ref:`SurfaceTool`, :ref:`TCP_Server`, :ref:`Thread`, :ref:`TriangleMesh`, :ref:`UPNP`, :ref:`UPNPDevice`, :ref:`VisualScriptFunctionState`, :ref:`WeakRef`, :ref:`WebRTCPeerConnection`, :ref:`XMLParser` +**Inherited By:** :ref:`ARVRInterface`, :ref:`AStar`, :ref:`AStar2D`, :ref:`AnimationTrackEditPlugin`, :ref:`AudioEffectInstance`, :ref:`AudioStreamPlayback`, :ref:`CameraFeed`, :ref:`CharFXTransform`, :ref:`ConfigFile`, :ref:`Crypto`, :ref:`Directory`, :ref:`EditorExportPlugin`, :ref:`EditorFeatureProfile`, :ref:`EditorInspectorPlugin`, :ref:`EditorResourceConversionPlugin`, :ref:`EditorResourcePreviewGenerator`, :ref:`EditorSceneImporter`, :ref:`EditorScenePostImport`, :ref:`EditorScript`, :ref:`EncodedObjectAsID`, :ref:`Expression`, :ref:`File`, :ref:`FuncRef`, :ref:`GDNative`, :ref:`GDScriptFunctionState`, :ref:`GDScriptNativeClass`, :ref:`HTTPClient`, :ref:`HashingContext`, :ref:`JSONParseResult`, :ref:`JavaClass`, :ref:`KinematicCollision`, :ref:`KinematicCollision2D`, :ref:`Marshalls`, :ref:`MeshDataTool`, :ref:`MultiplayerAPI`, :ref:`Mutex`, :ref:`PCKPacker`, :ref:`PackedDataContainerRef`, :ref:`PacketPeer`, :ref:`Physics2DShapeQueryParameters`, :ref:`Physics2DShapeQueryResult`, :ref:`Physics2DTestMotionResult`, :ref:`PhysicsShapeQueryParameters`, :ref:`PhysicsShapeQueryResult`, :ref:`RandomNumberGenerator`, :ref:`RegEx`, :ref:`RegExMatch`, :ref:`Resource`, :ref:`ResourceFormatLoader`, :ref:`ResourceFormatSaver`, :ref:`ResourceImporter`, :ref:`ResourceInteractiveLoader`, :ref:`SceneState`, :ref:`SceneTreeTimer`, :ref:`Semaphore`, :ref:`SkinReference`, :ref:`SpatialGizmo`, :ref:`SpatialVelocityTracker`, :ref:`StreamPeer`, :ref:`SurfaceTool`, :ref:`TCP_Server`, :ref:`Thread`, :ref:`TriangleMesh`, :ref:`UPNP`, :ref:`UPNPDevice`, :ref:`VisualScriptFunctionState`, :ref:`WeakRef`, :ref:`WebRTCPeerConnection`, :ref:`XMLParser` Base class for reference-counted objects. diff --git a/classes/class_texture3d.rst b/classes/class_texture3d.rst index 968ff7193..6ff5647a7 100644 --- a/classes/class_texture3d.rst +++ b/classes/class_texture3d.rst @@ -11,7 +11,12 @@ Texture3D **Inherits:** :ref:`TextureLayered` **<** :ref:`Resource` **<** :ref:`Reference` **<** :ref:`Object` +Texture with 3 dimensions. +Description +----------- + +Texture3D is a 3-dimensional texture that has a width, height, and depth. Properties ---------- diff --git a/classes/class_timer.rst b/classes/class_timer.rst index f3ad1b2c9..92ccc4c0f 100644 --- a/classes/class_timer.rst +++ b/classes/class_timer.rst @@ -87,6 +87,8 @@ Property Descriptions If ``true``, the timer will automatically start when entering the scene tree. +**Note:** This property is automatically set to ``false`` after the timer enters the scene tree and starts. + ---- .. _class_Timer_property_one_shot: diff --git a/classes/class_videoplayer.rst b/classes/class_videoplayer.rst index f53090bca..61386d089 100644 --- a/classes/class_videoplayer.rst +++ b/classes/class_videoplayer.rst @@ -229,7 +229,7 @@ Method Descriptions - :ref:`String` **get_stream_name** **(** **)** const -Returns the video stream's name. +Returns the video stream's name, or ``""`` if no video stream is assigned. ---- @@ -247,13 +247,15 @@ Returns the current frame as a :ref:`Texture`. Returns ``true`` if the video is playing. +**Note:** The video is still considered playing if paused during playback. + ---- .. _class_VideoPlayer_method_play: - void **play** **(** **)** -Starts the video playback. +Starts the video playback from the beginning. If the video is paused, this will not unpause the video. ---- @@ -261,5 +263,7 @@ Starts the video playback. - void **stop** **(** **)** -Stops the video playback. +Stops the video playback and sets the stream position to 0. + +**Note:** Although the stream position will be set to 0, the first frame of the video stream won't become the current frame. diff --git a/classes/class_visualinstance.rst b/classes/class_visualinstance.rst index cc7147cc2..fbdf02468 100644 --- a/classes/class_visualinstance.rst +++ b/classes/class_visualinstance.rst @@ -13,7 +13,12 @@ VisualInstance **Inherited By:** :ref:`BakedLightmap`, :ref:`GIProbe`, :ref:`GeometryInstance`, :ref:`Light`, :ref:`ReflectionProbe`, :ref:`RootMotionView` +Parent of all visual 3D nodes. +Description +----------- + +The VisualInstance is used to connect a resource to a visual representation. All visual 3D nodes inherit from the VisualInstance. In general, you should not access the VisualInstance properties directly as they are accessed and managed by the nodes that inherit from VisualInstance. VisualInstance is the node representation of the :ref:`VisualServer` instance. Properties ---------- @@ -75,18 +80,24 @@ Returns the :ref:`AABB` (also known as the bounding box) for this Vi - :ref:`RID` **get_base** **(** **)** const +Returns the RID of the resource associated with this VisualInstance. For example, if the Node is a :ref:`MeshInstance`, this will return the RID of the associated :ref:`Mesh`. + ---- .. _class_VisualInstance_method_get_instance: - :ref:`RID` **get_instance** **(** **)** const +Returns the RID of this instance. This RID is the same as the RID returned by :ref:`VisualServer.instance_create`. This RID is needed if you want to call :ref:`VisualServer` functions directly on this VisualInstance. + ---- .. _class_VisualInstance_method_get_layer_mask_bit: - :ref:`bool` **get_layer_mask_bit** **(** :ref:`int` layer **)** const +Returns ``true`` when the specified layer is enabled in :ref:`layers` and ``false`` otherwise. + ---- .. _class_VisualInstance_method_get_transformed_aabb: @@ -103,9 +114,7 @@ Transformed in this case means the :ref:`AABB` plus the position, ro - void **set_base** **(** :ref:`RID` base **)** -Sets the base of the VisualInstance, which changes how the engine handles the VisualInstance under the hood. - -It is recommended to only use :ref:`set_base` if you know what you're doing. +Sets the resource that is instantiated by this VisualInstance, which changes how the engine handles the VisualInstance under the hood. Equivalent to :ref:`VisualServer.instance_set_base`. ---- @@ -113,3 +122,5 @@ It is recommended to only use :ref:`set_base` layer, :ref:`bool` enabled **)** +Enables a particular layer in :ref:`layers`. + diff --git a/classes/class_websocketserver.rst b/classes/class_websocketserver.rst index 542e066b7..a7377eb33 100644 --- a/classes/class_websocketserver.rst +++ b/classes/class_websocketserver.rst @@ -25,13 +25,15 @@ After starting the server (:ref:`listen`), Properties ---------- -+-----------------------------------------------+------------------------------------------------------------------------+ -| :ref:`X509Certificate` | :ref:`ca_chain` | -+-----------------------------------------------+------------------------------------------------------------------------+ -| :ref:`CryptoKey` | :ref:`private_key` | -+-----------------------------------------------+------------------------------------------------------------------------+ -| :ref:`X509Certificate` | :ref:`ssl_certificate` | -+-----------------------------------------------+------------------------------------------------------------------------+ ++-----------------------------------------------+------------------------------------------------------------------------+------+ +| :ref:`String` | :ref:`bind_ip` | "\*" | ++-----------------------------------------------+------------------------------------------------------------------------+------+ +| :ref:`X509Certificate` | :ref:`ca_chain` | | ++-----------------------------------------------+------------------------------------------------------------------------+------+ +| :ref:`CryptoKey` | :ref:`private_key` | | ++-----------------------------------------------+------------------------------------------------------------------------+------+ +| :ref:`X509Certificate` | :ref:`ssl_certificate` | | ++-----------------------------------------------+------------------------------------------------------------------------+------+ Methods ------- @@ -90,6 +92,22 @@ Emitted when a new message is received. Property Descriptions --------------------- +.. _class_WebSocketServer_property_bind_ip: + +- :ref:`String` **bind_ip** + ++-----------+--------------------+ +| *Default* | "\*" | ++-----------+--------------------+ +| *Setter* | set_bind_ip(value) | ++-----------+--------------------+ +| *Getter* | get_bind_ip() | ++-----------+--------------------+ + +When not set to ``*`` will restrict incoming connections to the specified IP address. Setting ``bind_ip`` to ``127.0.0.1`` will cause the server to listen only to the local host. + +---- + .. _class_WebSocketServer_property_ca_chain: - :ref:`X509Certificate` **ca_chain**