Browse Source

doc: Sync classref with 3.4 branch

Minus changes specific to 3.4.3, not stable yet.
Rémi Verschelde 3 years ago
parent
commit
3c5e91a4f6

+ 2 - 2
classes/class_audioeffectspectrumanalyzer.rst

@@ -23,9 +23,9 @@ See also :ref:`AudioStreamGenerator<class_AudioStreamGenerator>` for procedurall
 Tutorials
 Tutorials
 ---------
 ---------
 
 
-- `https://godotengine.org/asset-library/asset/528 <Audio Spectrum Demo>`__
+- `Audio Spectrum Demo <https://godotengine.org/asset-library/asset/528>`__
 
 
-- `https://godotengine.org/article/godot-32-will-get-new-audio-features <Godot 3.2 will get new audio features>`__
+- `Godot 3.2 will get new audio features <https://godotengine.org/article/godot-32-will-get-new-audio-features>`__
 
 
 Properties
 Properties
 ----------
 ----------

+ 1 - 1
classes/class_audiostreamgenerator.rst

@@ -27,7 +27,7 @@ Tutorials
 
 
 - `Audio Generator Demo <https://godotengine.org/asset-library/asset/526>`__
 - `Audio Generator Demo <https://godotengine.org/asset-library/asset/526>`__
 
 
-- `https://godotengine.org/article/godot-32-will-get-new-audio-features <Godot 3.2 will get new audio features>`__
+- `Godot 3.2 will get new audio features <https://godotengine.org/article/godot-32-will-get-new-audio-features>`__
 
 
 Properties
 Properties
 ----------
 ----------

+ 1 - 1
classes/class_audiostreamgeneratorplayback.rst

@@ -23,7 +23,7 @@ Tutorials
 
 
 - `Audio Generator Demo <https://godotengine.org/asset-library/asset/526>`__
 - `Audio Generator Demo <https://godotengine.org/asset-library/asset/526>`__
 
 
-- `https://godotengine.org/article/godot-32-will-get-new-audio-features <Godot 3.2 will get new audio features>`__
+- `Godot 3.2 will get new audio features <https://godotengine.org/article/godot-32-will-get-new-audio-features>`__
 
 
 Methods
 Methods
 -------
 -------

+ 1 - 1
classes/class_bakedlightmap.rst

@@ -301,7 +301,7 @@ When enabled, an octree containing the scene's lighting information will be comp
 | *Getter*  | get_capture_propagation()      |
 | *Getter*  | get_capture_propagation()      |
 +-----------+--------------------------------+
 +-----------+--------------------------------+
 
 
-Bias value to reduce the amount of light proagation in the captured octree.
+Bias value to reduce the amount of light propagation in the captured octree.
 
 
 ----
 ----
 
 

+ 1 - 1
classes/class_collisionobject.rst

@@ -172,7 +172,7 @@ If ``true``, the ``CollisionObject`` will continue to receive input events as th
 | *Getter*  | is_ray_pickable()       |
 | *Getter*  | is_ray_pickable()       |
 +-----------+-------------------------+
 +-----------+-------------------------+
 
 
-If ``true``, the ``CollisionObject``'s shapes will respond to :ref:`RayCast<class_RayCast>`\ s.
+If ``true``, this object is pickable. A pickable object can detect the mouse pointer entering/leaving, and if the mouse is inside it, report input events. Requires at least one :ref:`collision_layer<class_CollisionObject_property_collision_layer>` bit to be set.
 
 
 Method Descriptions
 Method Descriptions
 -------------------
 -------------------

+ 1 - 1
classes/class_collisionobject2d.rst

@@ -162,7 +162,7 @@ The physics layers this CollisionObject2D scans. Collision objects can scan one
 | *Getter*  | is_pickable()       |
 | *Getter*  | is_pickable()       |
 +-----------+---------------------+
 +-----------+---------------------+
 
 
-If ``true``, this object is pickable. A pickable object can detect the mouse pointer entering/leaving, and if the mouse is inside it, report input events. Requires at least one ``collision_layer`` bit to be set.
+If ``true``, this object is pickable. A pickable object can detect the mouse pointer entering/leaving, and if the mouse is inside it, report input events. Requires at least one :ref:`collision_layer<class_CollisionObject2D_property_collision_layer>` bit to be set.
 
 
 Method Descriptions
 Method Descriptions
 -------------------
 -------------------

+ 1 - 1
classes/class_csgmesh.rst

@@ -16,7 +16,7 @@ A CSG Mesh shape that uses a mesh resource.
 Description
 Description
 -----------
 -----------
 
 
-This CSG node allows you to use any mesh resource as a CSG shape, provided it is closed, does not self-intersect, does not contain internal faces and has no edges that connect to more then two faces.
+This CSG node allows you to use any mesh resource as a CSG shape, provided it is closed, does not self-intersect, does not contain internal faces and has no edges that connect to more than two faces. See also :ref:`CSGPolygon<class_CSGPolygon>` for drawing 2D extruded polygons to be used as CSG nodes.
 
 
 Properties
 Properties
 ----------
 ----------

+ 4 - 2
classes/class_csgpolygon.rst

@@ -16,7 +16,7 @@ Extrudes a 2D polygon shape to create a 3D mesh.
 Description
 Description
 -----------
 -----------
 
 
-An array of 2D points is extruded to quickly and easily create a variety of 3D meshes.
+An array of 2D points is extruded to quickly and easily create a variety of 3D meshes. See also :ref:`CSGMesh<class_CSGMesh>` for using 3D meshes as CSG nodes.
 
 
 Properties
 Properties
 ----------
 ----------
@@ -297,7 +297,9 @@ When :ref:`mode<class_CSGPolygon_property_mode>` is :ref:`MODE_PATH<class_CSGPol
 | *Getter*  | get_polygon()                                  |
 | *Getter*  | get_polygon()                                  |
 +-----------+------------------------------------------------+
 +-----------+------------------------------------------------+
 
 
-The point array that defines the 2D polygon that is extruded.
+The point array that defines the 2D polygon that is extruded. This can be a convex or concave polygon with 3 or more points. The polygon must *not* have any intersecting edges. Otherwise, triangulation will fail and no mesh will be generated.
+
+**Note:** If only 1 or 2 points are defined in :ref:`polygon<class_CSGPolygon_property_polygon>`, no mesh will be generated.
 
 
 ----
 ----
 
 

+ 9 - 1
classes/class_environment.rst

@@ -26,7 +26,15 @@ Resource for environment nodes (like :ref:`WorldEnvironment<class_WorldEnvironme
 
 
 - Adjustments
 - Adjustments
 
 
-These effects will only apply when the :ref:`Viewport<class_Viewport>`'s intended usage is "3D" or "3D Without Effects". This can be configured for the root Viewport with :ref:`ProjectSettings.rendering/quality/intended_usage/framebuffer_allocation<class_ProjectSettings_property_rendering/quality/intended_usage/framebuffer_allocation>`, or for specific Viewports via the :ref:`Viewport.usage<class_Viewport_property_usage>` property.
+If the target :ref:`Viewport<class_Viewport>` is set to "2D Without Sampling", all post-processing effects will be unavailable. With "3D Without Effects", the following options will be unavailable:
+
+- Ssao
+
+- Ss Reflections
+
+This can be configured for the root Viewport with :ref:`ProjectSettings.rendering/quality/intended_usage/framebuffer_allocation<class_ProjectSettings_property_rendering/quality/intended_usage/framebuffer_allocation>`, or for specific Viewports via the :ref:`Viewport.usage<class_Viewport_property_usage>` property.
+
+Note that :ref:`ProjectSettings.rendering/quality/intended_usage/framebuffer_allocation<class_ProjectSettings_property_rendering/quality/intended_usage/framebuffer_allocation>` has a mobile platform override to use "3D Without Effects" by default. It improves the performance on mobile devices, but at the same time affects the screen display on mobile devices.
 
 
 Tutorials
 Tutorials
 ---------
 ---------

+ 4 - 4
classes/class_input.rst

@@ -485,7 +485,7 @@ This is useful for code that needs to run only once when an action is pressed, i
 
 
 If ``exact`` is ``false``, it ignores the input modifiers for :ref:`InputEventKey<class_InputEventKey>` and :ref:`InputEventMouseButton<class_InputEventMouseButton>` events, and the direction for :ref:`InputEventJoypadMotion<class_InputEventJoypadMotion>` events.
 If ``exact`` is ``false``, it ignores the input modifiers for :ref:`InputEventKey<class_InputEventKey>` and :ref:`InputEventMouseButton<class_InputEventMouseButton>` events, and the direction for :ref:`InputEventJoypadMotion<class_InputEventJoypadMotion>` events.
 
 
-**Note:** Due to keyboard ghosting, :ref:`is_action_just_pressed<class_Input_method_is_action_just_pressed>` may return ``false`` even if one of the action's keys is pressed. See `Input examples <$DOCS_URL/tutorials/inputs/input_examples.html#keyboard-events>`__ in the documentation for more information.
+**Note:** Due to keyboard ghosting, :ref:`is_action_just_pressed<class_Input_method_is_action_just_pressed>` may return ``false`` even if one of the action's keys is pressed. See `Input examples <https://docs.godotengine.org/en/3.4/tutorials/inputs/input_examples.html#keyboard-events>`__ in the documentation for more information.
 
 
 ----
 ----
 
 
@@ -507,7 +507,7 @@ Returns ``true`` if you are pressing the action event. Note that if an action ha
 
 
 If ``exact`` is ``false``, it ignores the input modifiers for :ref:`InputEventKey<class_InputEventKey>` and :ref:`InputEventMouseButton<class_InputEventMouseButton>` events, and the direction for :ref:`InputEventJoypadMotion<class_InputEventJoypadMotion>` events.
 If ``exact`` is ``false``, it ignores the input modifiers for :ref:`InputEventKey<class_InputEventKey>` and :ref:`InputEventMouseButton<class_InputEventMouseButton>` events, and the direction for :ref:`InputEventJoypadMotion<class_InputEventJoypadMotion>` events.
 
 
-**Note:** Due to keyboard ghosting, :ref:`is_action_pressed<class_Input_method_is_action_pressed>` may return ``false`` even if one of the action's keys is pressed. See `Input examples <$DOCS_URL/tutorials/inputs/input_examples.html#keyboard-events>`__ in the documentation for more information.
+**Note:** Due to keyboard ghosting, :ref:`is_action_pressed<class_Input_method_is_action_pressed>` may return ``false`` even if one of the action's keys is pressed. See `Input examples <https://docs.godotengine.org/en/3.4/tutorials/inputs/input_examples.html#keyboard-events>`__ in the documentation for more information.
 
 
 ----
 ----
 
 
@@ -535,7 +535,7 @@ Returns ``true`` if you are pressing the key in the current keyboard layout. You
 
 
 :ref:`is_key_pressed<class_Input_method_is_key_pressed>` is only recommended over :ref:`is_physical_key_pressed<class_Input_method_is_physical_key_pressed>` in non-game applications. This ensures that shortcut keys behave as expected depending on the user's keyboard layout, as keyboard shortcuts are generally dependent on the keyboard layout in non-game applications. If in doubt, use :ref:`is_physical_key_pressed<class_Input_method_is_physical_key_pressed>`.
 :ref:`is_key_pressed<class_Input_method_is_key_pressed>` is only recommended over :ref:`is_physical_key_pressed<class_Input_method_is_physical_key_pressed>` in non-game applications. This ensures that shortcut keys behave as expected depending on the user's keyboard layout, as keyboard shortcuts are generally dependent on the keyboard layout in non-game applications. If in doubt, use :ref:`is_physical_key_pressed<class_Input_method_is_physical_key_pressed>`.
 
 
-**Note:** Due to keyboard ghosting, :ref:`is_key_pressed<class_Input_method_is_key_pressed>` may return ``false`` even if one of the action's keys is pressed. See `Input examples <$DOCS_URL/tutorials/inputs/input_examples.html#keyboard-events>`__ in the documentation for more information.
+**Note:** Due to keyboard ghosting, :ref:`is_key_pressed<class_Input_method_is_key_pressed>` may return ``false`` even if one of the action's keys is pressed. See `Input examples <https://docs.godotengine.org/en/3.4/tutorials/inputs/input_examples.html#keyboard-events>`__ in the documentation for more information.
 
 
 ----
 ----
 
 
@@ -555,7 +555,7 @@ Returns ``true`` if you are pressing the key in the physical location on the 101
 
 
 :ref:`is_physical_key_pressed<class_Input_method_is_physical_key_pressed>` is recommended over :ref:`is_key_pressed<class_Input_method_is_key_pressed>` for in-game actions, as it will make W/A/S/D layouts work regardless of the user's keyboard layout. :ref:`is_physical_key_pressed<class_Input_method_is_physical_key_pressed>` will also ensure that the top row number keys work on any keyboard layout. If in doubt, use :ref:`is_physical_key_pressed<class_Input_method_is_physical_key_pressed>`.
 :ref:`is_physical_key_pressed<class_Input_method_is_physical_key_pressed>` is recommended over :ref:`is_key_pressed<class_Input_method_is_key_pressed>` for in-game actions, as it will make W/A/S/D layouts work regardless of the user's keyboard layout. :ref:`is_physical_key_pressed<class_Input_method_is_physical_key_pressed>` will also ensure that the top row number keys work on any keyboard layout. If in doubt, use :ref:`is_physical_key_pressed<class_Input_method_is_physical_key_pressed>`.
 
 
-**Note:** Due to keyboard ghosting, :ref:`is_physical_key_pressed<class_Input_method_is_physical_key_pressed>` may return ``false`` even if one of the action's keys is pressed. See `Input examples <$DOCS_URL/tutorials/inputs/input_examples.html#keyboard-events>`__ in the documentation for more information.
+**Note:** Due to keyboard ghosting, :ref:`is_physical_key_pressed<class_Input_method_is_physical_key_pressed>` may return ``false`` even if one of the action's keys is pressed. See `Input examples <https://docs.godotengine.org/en/3.4/tutorials/inputs/input_examples.html#keyboard-events>`__ in the documentation for more information.
 
 
 ----
 ----
 
 

+ 2 - 2
classes/class_inputevent.rst

@@ -133,7 +133,7 @@ Returns ``true`` if the given action is being pressed (and is not an echo event
 
 
 If ``exact_match`` is ``false``, it ignores the input modifiers for :ref:`InputEventKey<class_InputEventKey>` and :ref:`InputEventMouseButton<class_InputEventMouseButton>` events, and the direction for :ref:`InputEventJoypadMotion<class_InputEventJoypadMotion>` events.
 If ``exact_match`` is ``false``, it ignores the input modifiers for :ref:`InputEventKey<class_InputEventKey>` and :ref:`InputEventMouseButton<class_InputEventMouseButton>` events, and the direction for :ref:`InputEventJoypadMotion<class_InputEventJoypadMotion>` events.
 
 
-**Note:** Due to keyboard ghosting, :ref:`is_action_pressed<class_InputEvent_method_is_action_pressed>` may return ``false`` even if one of the action's keys is pressed. See `Input examples <$DOCS_URL/tutorials/inputs/input_examples.html#keyboard-events>`__ in the documentation for more information.
+**Note:** Due to keyboard ghosting, :ref:`is_action_pressed<class_InputEvent_method_is_action_pressed>` may return ``false`` even if one of the action's keys is pressed. See `Input examples <https://docs.godotengine.org/en/3.4/tutorials/inputs/input_examples.html#keyboard-events>`__ in the documentation for more information.
 
 
 ----
 ----
 
 
@@ -169,7 +169,7 @@ Returns ``true`` if this input event is an echo event (only for events of type :
 
 
 Returns ``true`` if this input event is pressed. Not relevant for events of type :ref:`InputEventMouseMotion<class_InputEventMouseMotion>` or :ref:`InputEventScreenDrag<class_InputEventScreenDrag>`.
 Returns ``true`` if this input event is pressed. Not relevant for events of type :ref:`InputEventMouseMotion<class_InputEventMouseMotion>` or :ref:`InputEventScreenDrag<class_InputEventScreenDrag>`.
 
 
-**Note:** Due to keyboard ghosting, :ref:`is_action_pressed<class_InputEvent_method_is_action_pressed>` may return ``false`` even if one of the action's keys is pressed. See `Input examples <$DOCS_URL/tutorials/inputs/input_examples.html#keyboard-events>`__ in the documentation for more information.
+**Note:** Due to keyboard ghosting, :ref:`is_action_pressed<class_InputEvent_method_is_action_pressed>` may return ``false`` even if one of the action's keys is pressed. See `Input examples <https://docs.godotengine.org/en/3.4/tutorials/inputs/input_examples.html#keyboard-events>`__ in the documentation for more information.
 
 
 ----
 ----
 
 

+ 29 - 13
classes/class_json.rst

@@ -46,7 +46,7 @@ Converts a :ref:`Variant<class_Variant>` var to JSON text and returns the result
 
 
 **Note:** The JSON specification does not define integer or float types, but only a *number* type. Therefore, converting a Variant to JSON text will convert all numerical values to :ref:`float<class_float>` types.
 **Note:** The JSON specification does not define integer or float types, but only a *number* type. Therefore, converting a Variant to JSON text will convert all numerical values to :ref:`float<class_float>` types.
 
 
-Use ``indent`` parameter to pretty print the output.
+The ``indent`` parameter controls if and how something is indented, the string used for this parameter will be used where there should be an indent in the output, even spaces like ``"   "`` will work. ``\t`` and ``\n`` can also be used for a tab indent, or to make a newline for each indent respectively.
 
 
 **Example output:**
 **Example output:**
 
 
@@ -57,18 +57,34 @@ Use ``indent`` parameter to pretty print the output.
     
     
     ## JSON.print(my_dictionary, "\t")
     ## JSON.print(my_dictionary, "\t")
     {
     {
-            "name": "my_dictionary",
-            "version": "1.0.0",
-            "entities": [
-                    {
-                            "name": "entity_0",
-                            "value": "value_0"
-                    },
-                    {
-                            "name": "entity_1",
-                            "value": "value_1"
-                    }
-            ]
+        "name": "my_dictionary",
+        "version": "1.0.0",
+        "entities": [
+            {
+                "name": "entity_0",
+                "value": "value_0"
+            },
+            {
+                "name": "entity_1",
+                "value": "value_1"
+            }
+        ]
+    }
+    
+    ## JSON.print(my_dictionary, "...")
+    {
+    ..."name": "my_dictionary",
+    ..."version": "1.0.0",
+    ..."entities": [
+    ......{
+    ........."name": "entity_0",
+    ........."value": "value_0"
+    ......},
+    ......{
+    ........."name": "entity_1",
+    ........."value": "value_1"
+    ......}
+    ...]
     }
     }
 
 
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`

+ 6 - 0
classes/class_os.rst

@@ -1041,6 +1041,12 @@ If you wish to access a shell built-in or perform a composite command, a platfor
 
 
 **Note:** This method is implemented on Android, iOS, Linux, macOS and Windows.
 **Note:** This method is implemented on Android, iOS, Linux, macOS and Windows.
 
 
+**Note:** To execute a Windows command interpreter built-in command, specify ``cmd.exe`` in ``path``, ``/c`` as the first argument, and the desired command as the second argument.
+
+**Note:** To execute a PowerShell built-in command, specify ``powershell.exe`` in ``path``, ``-Command`` as the first argument, and the desired command as the second argument.
+
+**Note:** To execute a Unix shell built-in command, specify shell executable name in ``path``, ``-c`` as the first argument, and the desired command as the second argument.
+
 ----
 ----
 
 
 .. _class_OS_method_find_scancode_from_string:
 .. _class_OS_method_find_scancode_from_string:

+ 4 - 2
classes/class_rect2.rst

@@ -176,7 +176,7 @@ Returns a copy of this ``Rect2`` expanded to include a given point.
 
 
 - :ref:`float<class_float>` **get_area** **(** **)**
 - :ref:`float<class_float>` **get_area** **(** **)**
 
 
-Returns the area of the ``Rect2``.
+Returns the area of the ``Rect2``. See also :ref:`has_no_area<class_Rect2_method_has_no_area>`.
 
 
 ----
 ----
 
 
@@ -208,7 +208,9 @@ Returns a copy of the ``Rect2`` grown a given amount of units towards the :ref:`
 
 
 - :ref:`bool<class_bool>` **has_no_area** **(** **)**
 - :ref:`bool<class_bool>` **has_no_area** **(** **)**
 
 
-Returns ``true`` if the ``Rect2`` is flat or empty.
+Returns ``true`` if the ``Rect2`` is flat or empty, ``false`` otherwise. See also :ref:`get_area<class_Rect2_method_get_area>`.
+
+**Note:** If the ``Rect2`` has a negative size and is not flat or empty, :ref:`has_no_area<class_Rect2_method_has_no_area>` will return ``true``.
 
 
 ----
 ----
 
 

+ 2 - 0
classes/class_reflectionprobe.rst

@@ -240,6 +240,8 @@ If ``true``, reflections will ignore sky contribution. Ambient lighting is then
 
 
 The maximum distance away from the ``ReflectionProbe`` an object can be before it is culled. Decrease this to improve performance, especially when using the :ref:`UPDATE_ALWAYS<class_ReflectionProbe_constant_UPDATE_ALWAYS>` :ref:`update_mode<class_ReflectionProbe_property_update_mode>`.
 The maximum distance away from the ``ReflectionProbe`` an object can be before it is culled. Decrease this to improve performance, especially when using the :ref:`UPDATE_ALWAYS<class_ReflectionProbe_constant_UPDATE_ALWAYS>` :ref:`update_mode<class_ReflectionProbe_property_update_mode>`.
 
 
+**Note:** The maximum reflection distance is always at least equal to the :ref:`extents<class_ReflectionProbe_property_extents>`. This means that decreasing :ref:`max_distance<class_ReflectionProbe_property_max_distance>` will not always cull objects from reflections, especially if the reflection probe's :ref:`extents<class_ReflectionProbe_property_extents>` are already large.
+
 ----
 ----
 
 
 .. _class_ReflectionProbe_property_origin_offset:
 .. _class_ReflectionProbe_property_origin_offset:

+ 1 - 1
classes/class_richtextlabel.rst

@@ -361,7 +361,7 @@ If ``true``, the label uses BBCode formatting.
 
 
 The label's text in BBCode format. Is not representative of manual modifications to the internal tag stack. Erases changes made by other methods when edited.
 The label's text in BBCode format. Is not representative of manual modifications to the internal tag stack. Erases changes made by other methods when edited.
 
 
-**Note:** It is unadvised to use the ``+=`` operator with ``bbcode_text`` (e.g. ``bbcode_text += "some string"``) as it replaces the whole text and can cause slowdowns. Use :ref:`append_bbcode<class_RichTextLabel_method_append_bbcode>` for adding text instead, unless you absolutely need to close a tag that was opened in an earlier method call.
+**Note:** It is unadvised to use the ``+=`` operator with ``bbcode_text`` (e.g. ``bbcode_text += "some string"``) as it replaces the whole text and can cause slowdowns. It will also erase all BBCode that was added to stack using ``push_*`` methods. Use :ref:`append_bbcode<class_RichTextLabel_method_append_bbcode>` for adding text instead, unless you absolutely need to close a tag that was opened in an earlier method call.
 
 
 ----
 ----
 
 

+ 2 - 0
classes/class_softbody.rst

@@ -18,6 +18,8 @@ Description
 
 
 A deformable physics body. Used to create elastic or deformable objects such as cloth, rubber, or other flexible materials.
 A deformable physics body. Used to create elastic or deformable objects such as cloth, rubber, or other flexible materials.
 
 
+**Note:** There are many known bugs in ``SoftBody``. Therefore, it's not recommended to use them for things that can affect gameplay (such as a player character made entirely out of soft bodies).
+
 Tutorials
 Tutorials
 ---------
 ---------
 
 

+ 4 - 2
classes/class_spatial.rst

@@ -405,9 +405,11 @@ Returns ``true`` if the node is present in the :ref:`SceneTree<class_SceneTree>`
 
 
 - void **look_at** **(** :ref:`Vector3<class_Vector3>` target, :ref:`Vector3<class_Vector3>` up **)**
 - void **look_at** **(** :ref:`Vector3<class_Vector3>` target, :ref:`Vector3<class_Vector3>` up **)**
 
 
-Rotates itself so that the local -Z axis points towards the ``target`` position.
+Rotates the node so that the local forward axis (-Z) points toward the ``target`` position.
 
 
-The transform will first be rotated around the given ``up`` vector, and then fully aligned to the target by a further rotation around an axis perpendicular to both the ``target`` and ``up`` vectors.
+The local up axis (+Y) points as close to the ``up`` vector as possible while staying perpendicular to the local forward axis. The resulting transform is orthogonal, and the scale is preserved. Non-uniform scaling may not work correctly.
+
+The ``target`` position cannot be the same as the node's position, the ``up`` vector cannot be zero, and the direction from the node's position to the ``target`` vector cannot be parallel to the ``up`` vector.
 
 
 Operations take place in global space.
 Operations take place in global space.
 
 

+ 6 - 2
classes/class_spritebase3d.rst

@@ -228,7 +228,9 @@ If ``true``, texture is flipped vertically.
 | *Getter*  | get_modulate()          |
 | *Getter*  | get_modulate()          |
 +-----------+-------------------------+
 +-----------+-------------------------+
 
 
-A color value that gets multiplied on, could be used for mood-coloring or to simulate the color of light.
+A color value used to *multiply* the texture's colors. Can be used for mood-coloring or to simulate the color of light.
+
+**Note:** If a :ref:`GeometryInstance.material_override<class_GeometryInstance_property_material_override>` is defined on the ``SpriteBase3D``, the material override must be configured to take vertex colors into account for albedo. Otherwise, the color defined in :ref:`modulate<class_SpriteBase3D_property_modulate>` will be ignored. For a :ref:`SpatialMaterial<class_SpatialMaterial>`, :ref:`SpatialMaterial.vertex_color_use_as_albedo<class_SpatialMaterial_property_vertex_color_use_as_albedo>` must be ``true``. For a :ref:`ShaderMaterial<class_ShaderMaterial>`, ``ALBEDO *= COLOR.rgb;[/color] must be inserted in the shader's [code]fragment()`` function.
 
 
 ----
 ----
 
 
@@ -260,7 +262,9 @@ The texture's drawing offset.
 | *Getter*  | get_opacity()      |
 | *Getter*  | get_opacity()      |
 +-----------+--------------------+
 +-----------+--------------------+
 
 
-The objects' visibility on a scale from ``0`` fully invisible to ``1`` fully visible.
+The texture's visibility on a scale from ``0`` (fully invisible) to ``1`` (fully visible). :ref:`opacity<class_SpriteBase3D_property_opacity>` is a multiplier for the :ref:`modulate<class_SpriteBase3D_property_modulate>` color's alpha channel.
+
+**Note:** If a :ref:`GeometryInstance.material_override<class_GeometryInstance_property_material_override>` is defined on the ``SpriteBase3D``, the material override must be configured to take vertex colors into account for albedo. Otherwise, the opacity defined in :ref:`opacity<class_SpriteBase3D_property_opacity>` will be ignored. For a :ref:`SpatialMaterial<class_SpatialMaterial>`, :ref:`SpatialMaterial.vertex_color_use_as_albedo<class_SpatialMaterial_property_vertex_color_use_as_albedo>` must be ``true``. For a :ref:`ShaderMaterial<class_ShaderMaterial>`, ``ALPHA *= COLOR.a;[/color] must be inserted in the shader's [code]fragment()`` function.
 
 
 ----
 ----
 
 

+ 15 - 2
classes/class_string.rst

@@ -1088,7 +1088,14 @@ Converts the String (which is a character array) to :ref:`PoolByteArray<class_Po
 
 
 - :ref:`float<class_float>` **to_float** **(** **)**
 - :ref:`float<class_float>` **to_float** **(** **)**
 
 
-Converts a string containing a decimal number into a ``float``.
+Converts a string containing a decimal number into a ``float``. The method will stop on the first non-number character except the first ``.`` (decimal point), and ``e`` which is used for exponential.
+
+::
+
+    print("12.3".to_float()) # 12.3
+    print("1.2.3".to_float()) # 1.2
+    print("12ab3".to_float()) # 12
+    print("1e3".to_float()) # 1000
 
 
 ----
 ----
 
 
@@ -1096,7 +1103,13 @@ Converts a string containing a decimal number into a ``float``.
 
 
 - :ref:`int<class_int>` **to_int** **(** **)**
 - :ref:`int<class_int>` **to_int** **(** **)**
 
 
-Converts a string containing an integer number into an ``int``.
+Converts a string containing an integer number into an ``int``. The method will remove any non-number character and stop if it encounters a ``.``.
+
+::
+
+    print("123".to_int()) # 123
+    print("a1b2c3".to_int()) # 123
+    print("1.2.3".to_int()) # 1
 
 
 ----
 ----
 
 

+ 1 - 1
classes/class_tilemap.rst

@@ -645,7 +645,7 @@ Optionally, the tilemap's half offset can be ignored.
 
 
 - void **set_cell** **(** :ref:`int<class_int>` x, :ref:`int<class_int>` y, :ref:`int<class_int>` tile, :ref:`bool<class_bool>` flip_x=false, :ref:`bool<class_bool>` flip_y=false, :ref:`bool<class_bool>` transpose=false, :ref:`Vector2<class_Vector2>` autotile_coord=Vector2( 0, 0 ) **)**
 - void **set_cell** **(** :ref:`int<class_int>` x, :ref:`int<class_int>` y, :ref:`int<class_int>` tile, :ref:`bool<class_bool>` flip_x=false, :ref:`bool<class_bool>` flip_y=false, :ref:`bool<class_bool>` transpose=false, :ref:`Vector2<class_Vector2>` autotile_coord=Vector2( 0, 0 ) **)**
 
 
-Sets the tile index for the cell given by a Vector2.
+Sets the tile index for the given cell.
 
 
 An index of ``-1`` clears the cell.
 An index of ``-1`` clears the cell.
 
 

+ 2 - 0
classes/class_tileset.rst

@@ -694,6 +694,8 @@ Sets the tile's material.
 
 
 Sets the tile's modulation color.
 Sets the tile's modulation color.
 
 
+**Note:** Modulation is performed by setting the tile's vertex color. To access this in a shader, use ``COLOR`` rather than ``MODULATE`` (which instead accesses the :ref:`TileMap<class_TileMap>`'s :ref:`CanvasItem.modulate<class_CanvasItem_property_modulate>` property).
+
 ----
 ----
 
 
 .. _class_TileSet_method_tile_set_name:
 .. _class_TileSet_method_tile_set_name:

+ 4 - 4
classes/class_tree.rst

@@ -504,7 +504,7 @@ Clears the tree. This removes all items.
 
 
 - :ref:`TreeItem<class_TreeItem>` **create_item** **(** :ref:`Object<class_Object>` parent=null, :ref:`int<class_int>` idx=-1 **)**
 - :ref:`TreeItem<class_TreeItem>` **create_item** **(** :ref:`Object<class_Object>` parent=null, :ref:`int<class_int>` idx=-1 **)**
 
 
-Creates an item in the tree and adds it as a child of ``parent``.
+Creates an item in the tree and adds it as a child of ``parent``, which can be either a valid :ref:`TreeItem<class_TreeItem>` or ``null``.
 
 
 If ``parent`` is ``null``, the root item will be the parent, or the new item will be the root itself if the tree is empty.
 If ``parent`` is ``null``, the root item will be the parent, or the new item will be the root itself if the tree is empty.
 
 
@@ -604,7 +604,7 @@ Returns the column for the currently edited item.
 
 
 - :ref:`Rect2<class_Rect2>` **get_item_area_rect** **(** :ref:`Object<class_Object>` item, :ref:`int<class_int>` column=-1 **)** |const|
 - :ref:`Rect2<class_Rect2>` **get_item_area_rect** **(** :ref:`Object<class_Object>` item, :ref:`int<class_int>` column=-1 **)** |const|
 
 
-Returns the rectangle area for the specified item. If ``column`` is specified, only get the position and size of that column, otherwise get the rectangle containing all columns.
+Returns the rectangle area for the specified :ref:`TreeItem<class_TreeItem>`. If ``column`` is specified, only get the position and size of that column, otherwise get the rectangle containing all columns.
 
 
 ----
 ----
 
 
@@ -620,7 +620,7 @@ Returns the tree item at the specified position (relative to the tree origin pos
 
 
 - :ref:`TreeItem<class_TreeItem>` **get_next_selected** **(** :ref:`Object<class_Object>` from **)**
 - :ref:`TreeItem<class_TreeItem>` **get_next_selected** **(** :ref:`Object<class_Object>` from **)**
 
 
-Returns the next selected item after the given one, or ``null`` if the end is reached.
+Returns the next selected :ref:`TreeItem<class_TreeItem>` after the given one, or ``null`` if the end is reached.
 
 
 If ``from`` is ``null``, this returns the first selected item.
 If ``from`` is ``null``, this returns the first selected item.
 
 
@@ -678,7 +678,7 @@ To tell whether a column of an item is selected, use :ref:`TreeItem.is_selected<
 
 
 - void **scroll_to_item** **(** :ref:`Object<class_Object>` item **)**
 - void **scroll_to_item** **(** :ref:`Object<class_Object>` item **)**
 
 
-Causes the ``Tree`` to jump to the specified item.
+Causes the ``Tree`` to jump to the specified :ref:`TreeItem<class_TreeItem>`.
 
 
 ----
 ----