diff options
Diffstat (limited to 'doc/classes')
-rw-r--r-- | doc/classes/ClassDB.xml | 9 | ||||
-rw-r--r-- | doc/classes/FileAccess.xml | 7 | ||||
-rw-r--r-- | doc/classes/MeshInstance3D.xml | 8 | ||||
-rw-r--r-- | doc/classes/NavigationMeshSourceGeometryData2D.xml | 14 | ||||
-rw-r--r-- | doc/classes/NavigationMeshSourceGeometryData3D.xml | 8 | ||||
-rw-r--r-- | doc/classes/SurfaceTool.xml | 10 | ||||
-rw-r--r-- | doc/classes/TileMapLayer.xml | 2 | ||||
-rw-r--r-- | doc/classes/XRBodyModifier3D.xml | 9 | ||||
-rw-r--r-- | doc/classes/XRBodyTracker.xml | 3 | ||||
-rw-r--r-- | doc/classes/XRControllerTracker.xml | 17 | ||||
-rw-r--r-- | doc/classes/XRFaceModifier3D.xml | 2 | ||||
-rw-r--r-- | doc/classes/XRFaceTracker.xml | 3 | ||||
-rw-r--r-- | doc/classes/XRHandModifier3D.xml | 6 | ||||
-rw-r--r-- | doc/classes/XRHandTracker.xml | 19 | ||||
-rw-r--r-- | doc/classes/XRNode3D.xml | 3 | ||||
-rw-r--r-- | doc/classes/XRPositionalTracker.xml | 22 | ||||
-rw-r--r-- | doc/classes/XRServer.xml | 163 | ||||
-rw-r--r-- | doc/classes/XRTracker.xml | 30 |
18 files changed, 153 insertions, 182 deletions
diff --git a/doc/classes/ClassDB.xml b/doc/classes/ClassDB.xml index 3f71406091..bdb0ec9bc6 100644 --- a/doc/classes/ClassDB.xml +++ b/doc/classes/ClassDB.xml @@ -192,6 +192,15 @@ Returns whether this [param class] is enabled or not. </description> </method> + <method name="is_class_enum_bitfield" qualifiers="const"> + <return type="bool" /> + <param index="0" name="class" type="StringName" /> + <param index="1" name="enum" type="StringName" /> + <param index="2" name="no_inheritance" type="bool" default="false" /> + <description> + Returns whether [param class] (or its ancestor classes if [param no_inheritance] is [code]false[/code]) has an enum called [param enum] that is a bitfield. + </description> + </method> <method name="is_parent_class" qualifiers="const"> <return type="bool" /> <param index="0" name="class" type="StringName" /> diff --git a/doc/classes/FileAccess.xml b/doc/classes/FileAccess.xml index 4052e48400..fafc02734a 100644 --- a/doc/classes/FileAccess.xml +++ b/doc/classes/FileAccess.xml @@ -324,6 +324,13 @@ Returns [code]null[/code] if opening the file failed. You can use [method get_open_error] to check the error that occurred. </description> </method> + <method name="resize"> + <return type="int" enum="Error" /> + <param index="0" name="length" type="int" /> + <description> + Resizes the file to a specified length. The file must be open in a mode that permits writing. If the file is extended, NUL characters are appended. If the file is truncated, all data from the end file to the original length of the file is lost. + </description> + </method> <method name="seek"> <return type="void" /> <param index="0" name="position" type="int" /> diff --git a/doc/classes/MeshInstance3D.xml b/doc/classes/MeshInstance3D.xml index e5187cf7a1..abbb4c4eeb 100644 --- a/doc/classes/MeshInstance3D.xml +++ b/doc/classes/MeshInstance3D.xml @@ -13,6 +13,14 @@ <link title="Third Person Shooter (TPS) Demo">https://godotengine.org/asset-library/asset/2710</link> </tutorials> <methods> + <method name="bake_mesh_from_current_blend_shape_mix"> + <return type="ArrayMesh" /> + <param index="0" name="existing" type="ArrayMesh" default="null" /> + <description> + Takes a snapshot from the current [ArrayMesh] with all blend shapes applied according to their current weights and bakes it to the provided [param existing] mesh. If no [param existing] mesh is provided a new [ArrayMesh] is created, baked and returned. Mesh surface materials are not copied. + [b]Performance:[/b] [Mesh] data needs to be received from the GPU, stalling the [RenderingServer] in the process. + </description> + </method> <method name="create_convex_collision"> <return type="void" /> <param index="0" name="clean" type="bool" default="true" /> diff --git a/doc/classes/NavigationMeshSourceGeometryData2D.xml b/doc/classes/NavigationMeshSourceGeometryData2D.xml index 609877fadc..1d8689420b 100644 --- a/doc/classes/NavigationMeshSourceGeometryData2D.xml +++ b/doc/classes/NavigationMeshSourceGeometryData2D.xml @@ -31,6 +31,20 @@ Adds the outline points of a shape as traversable area. </description> </method> + <method name="append_obstruction_outlines"> + <return type="void" /> + <param index="0" name="obstruction_outlines" type="PackedVector2Array[]" /> + <description> + Appends another array of [param obstruction_outlines] at the end of the existing obstruction outlines array. + </description> + </method> + <method name="append_traversable_outlines"> + <return type="void" /> + <param index="0" name="traversable_outlines" type="PackedVector2Array[]" /> + <description> + Appends another array of [param traversable_outlines] at the end of the existing traversable outlines array. + </description> + </method> <method name="clear"> <return type="void" /> <description> diff --git a/doc/classes/NavigationMeshSourceGeometryData3D.xml b/doc/classes/NavigationMeshSourceGeometryData3D.xml index 322e2e7c66..0b3126a63b 100644 --- a/doc/classes/NavigationMeshSourceGeometryData3D.xml +++ b/doc/classes/NavigationMeshSourceGeometryData3D.xml @@ -43,6 +43,14 @@ Adds a projected obstruction shape to the source geometry. The [param vertices] are considered projected on a xz-axes plane, placed at the global y-axis [param elevation] and extruded by [param height]. If [param carve] is [code]true[/code] the carved shape will not be affected by additional offsets (e.g. agent radius) of the navigation mesh baking process. </description> </method> + <method name="append_arrays"> + <return type="void" /> + <param index="0" name="vertices" type="PackedFloat32Array" /> + <param index="1" name="indices" type="PackedInt32Array" /> + <description> + Appends arrays of [param vertices] and [param indices] at the end of the existing arrays. Adds the existing index as an offset to the appended indices. + </description> + </method> <method name="clear"> <return type="void" /> <description> diff --git a/doc/classes/SurfaceTool.xml b/doc/classes/SurfaceTool.xml index 576587a5df..a8bd068b1c 100644 --- a/doc/classes/SurfaceTool.xml +++ b/doc/classes/SurfaceTool.xml @@ -93,7 +93,7 @@ <method name="commit_to_arrays"> <return type="Array" /> <description> - Commits the data to the same format used by [method ArrayMesh.add_surface_from_arrays]. This way you can further process the mesh data using the [ArrayMesh] API. + Commits the data to the same format used by [method ArrayMesh.add_surface_from_arrays], [method ImporterMesh.add_surface], and [method create_from_arrays]. This way you can further process the mesh data using the [ArrayMesh] or [ImporterMesh] APIs. </description> </method> <method name="create_from"> @@ -104,6 +104,14 @@ Creates a vertex array from an existing [Mesh]. </description> </method> + <method name="create_from_arrays"> + <return type="void" /> + <param index="0" name="arrays" type="Array" /> + <param index="1" name="primitive_type" type="int" enum="Mesh.PrimitiveType" default="3" /> + <description> + Creates this SurfaceTool from existing vertex arrays such as returned by [method commit_to_arrays], [method Mesh.surface_get_arrays], [method Mesh.surface_get_blend_shape_arrays], [method ImporterMesh.get_surface_arrays], and [method ImporterMesh.get_surface_blend_shape_arrays]. [param primitive_type] controls the type of mesh data, defaulting to [constant Mesh.PRIMITIVE_TRIANGLES]. + </description> + </method> <method name="create_from_blend_shape"> <return type="void" /> <param index="0" name="existing" type="Mesh" /> diff --git a/doc/classes/TileMapLayer.xml b/doc/classes/TileMapLayer.xml index da716a8fe3..0513a7934c 100644 --- a/doc/classes/TileMapLayer.xml +++ b/doc/classes/TileMapLayer.xml @@ -268,7 +268,7 @@ The quadrant size does not apply on a Y-sorted [TileMapLayer], as tiles are be grouped by Y position instead in that case. [b]Note:[/b] As quadrants are created according to the map's coordinate system, the quadrant's "square shape" might not look like square in the [TileMapLayer]'s local coordinate system. </member> - <member name="tile_map_data" type="PackedByteArray" setter="set_tile_map_data_from_array" getter="get_tile_map_data_as_array" default="PackedByteArray("AAA=")"> + <member name="tile_map_data" type="PackedByteArray" setter="set_tile_map_data_from_array" getter="get_tile_map_data_as_array" default="PackedByteArray()"> The raw tile map data as a byte array. </member> <member name="tile_set" type="TileSet" setter="set_tile_set" getter="get_tile_set"> diff --git a/doc/classes/XRBodyModifier3D.xml b/doc/classes/XRBodyModifier3D.xml index 49a226c106..d08b92a56c 100644 --- a/doc/classes/XRBodyModifier3D.xml +++ b/doc/classes/XRBodyModifier3D.xml @@ -4,15 +4,15 @@ A node for driving body meshes from [XRBodyTracker] data. </brief_description> <description> - This node uses body tracking data from a [XRBodyTracker] to animate the skeleton of a body mesh. - This node positions itself at the [constant XRBodyTracker.JOINT_ROOT] position and scales itself to [member XRServer.world_scale]. Adding the body model as a child of this node will result in the model being positioned and scaled correctly for XR experiences. + This node uses body tracking data from an [XRBodyTracker] to pose the skeleton of a body mesh. + Positioning of the body is performed by creating an [XRNode3D] ancestor of the body mesh driven by the same [XRBodyTracker]. The body tracking position-data is scaled by [member Skeleton3D.motion_scale] when applied to the skeleton, which can be used to adjust the tracked body to match the scale of the body model. </description> <tutorials> <link title="XR documentation index">$DOCS_URL/tutorials/xr/index.html</link> </tutorials> <members> - <member name="body_tracker" type="StringName" setter="set_body_tracker" getter="get_body_tracker" default="&"/user/body""> + <member name="body_tracker" type="StringName" setter="set_body_tracker" getter="get_body_tracker" default="&"/user/body_tracker""> The name of the [XRBodyTracker] registered with [XRServer] to obtain the body tracking data from. </member> <member name="body_update" type="int" setter="set_body_update" getter="get_body_update" enum="XRBodyModifier3D.BodyUpdate" is_bitfield="true" default="7"> @@ -21,9 +21,6 @@ <member name="bone_update" type="int" setter="set_bone_update" getter="get_bone_update" enum="XRBodyModifier3D.BoneUpdate" default="0"> Specifies the type of updates to perform on the bones. </member> - <member name="show_when_tracked" type="bool" setter="set_show_when_tracked" getter="get_show_when_tracked" default="true"> - If true then the nodes visibility is determined by whether tracking data is available. - </member> </members> <constants> <constant name="BODY_UPDATE_UPPER_BODY" value="1" enum="BodyUpdate" is_bitfield="true"> diff --git a/doc/classes/XRBodyTracker.xml b/doc/classes/XRBodyTracker.xml index 9c869b4f5f..06a4879953 100644 --- a/doc/classes/XRBodyTracker.xml +++ b/doc/classes/XRBodyTracker.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="XRBodyTracker" inherits="RefCounted" experimental="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> +<class name="XRBodyTracker" inherits="XRPositionalTracker" experimental="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> A tracked body in XR. </brief_description> @@ -49,6 +49,7 @@ <member name="has_tracking_data" type="bool" setter="set_has_tracking_data" getter="get_has_tracking_data" default="false"> If [code]true[/code], the body tracking data is valid. </member> + <member name="type" type="int" setter="set_tracker_type" getter="get_tracker_type" overrides="XRTracker" enum="XRServer.TrackerType" default="32" /> </members> <constants> <constant name="BODY_FLAG_UPPER_BODY_SUPPORTED" value="1" enum="BodyFlags" is_bitfield="true"> diff --git a/doc/classes/XRControllerTracker.xml b/doc/classes/XRControllerTracker.xml new file mode 100644 index 0000000000..50727a7633 --- /dev/null +++ b/doc/classes/XRControllerTracker.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="XRControllerTracker" inherits="XRPositionalTracker" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> + <brief_description> + A tracked controller. + </brief_description> + <description> + An instance of this object represents a controller that is tracked. + As controllers are turned on and the [XRInterface] detects them, instances of this object are automatically added to this list of active tracking objects accessible through the [XRServer]. + The [XRController3D] consumes objects of this type and should be used in your project. + </description> + <tutorials> + <link title="XR documentation index">$DOCS_URL/tutorials/xr/index.html</link> + </tutorials> + <members> + <member name="type" type="int" setter="set_tracker_type" getter="get_tracker_type" overrides="XRTracker" enum="XRServer.TrackerType" default="2" /> + </members> +</class> diff --git a/doc/classes/XRFaceModifier3D.xml b/doc/classes/XRFaceModifier3D.xml index 8caa74cff7..9599051b1b 100644 --- a/doc/classes/XRFaceModifier3D.xml +++ b/doc/classes/XRFaceModifier3D.xml @@ -12,7 +12,7 @@ <link title="XR documentation index">$DOCS_URL/tutorials/xr/index.html</link> </tutorials> <members> - <member name="face_tracker" type="StringName" setter="set_face_tracker" getter="get_face_tracker" default="&"/user/head""> + <member name="face_tracker" type="StringName" setter="set_face_tracker" getter="get_face_tracker" default="&"/user/face_tracker""> The [XRFaceTracker] path. </member> <member name="target" type="NodePath" setter="set_target" getter="get_target" default="NodePath("")"> diff --git a/doc/classes/XRFaceTracker.xml b/doc/classes/XRFaceTracker.xml index 96ed137324..23a9a9cb17 100644 --- a/doc/classes/XRFaceTracker.xml +++ b/doc/classes/XRFaceTracker.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="XRFaceTracker" inherits="RefCounted" experimental="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> +<class name="XRFaceTracker" inherits="XRTracker" experimental="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> A tracked face. </brief_description> @@ -31,6 +31,7 @@ <member name="blend_shapes" type="PackedFloat32Array" setter="set_blend_shapes" getter="get_blend_shapes" default="PackedFloat32Array()"> The array of face blend shape weights with indices corresponding to the [enum BlendShapeEntry] enum. </member> + <member name="type" type="int" setter="set_tracker_type" getter="get_tracker_type" overrides="XRTracker" enum="XRServer.TrackerType" default="64" /> </members> <constants> <constant name="FT_EYE_LOOK_OUT_RIGHT" value="0" enum="BlendShapeEntry"> diff --git a/doc/classes/XRHandModifier3D.xml b/doc/classes/XRHandModifier3D.xml index 9ff27bb982..09ff321070 100644 --- a/doc/classes/XRHandModifier3D.xml +++ b/doc/classes/XRHandModifier3D.xml @@ -4,8 +4,8 @@ A node for driving hand meshes from [XRHandTracker] data. </brief_description> <description> - This node uses hand tracking data from a [XRHandTracker] to animate the skeleton of a hand mesh. - This node positions itself at the [constant XRHandTracker.HAND_JOINT_PALM] position and scales itself to [member XRServer.world_scale]. Adding the hand model as a child of this node will result in the model being positioned and scaled correctly for XR experiences. + This node uses hand tracking data from an [XRHandTracker] to pose the skeleton of a hand mesh. + Positioning of hands is performed by creating an [XRNode3D] ancestor of the hand mesh driven by the same [XRHandTracker]. The hand tracking position-data is scaled by [member Skeleton3D.motion_scale] when applied to the skeleton, which can be used to adjust the tracked hand to match the scale of the hand model. </description> <tutorials> @@ -15,7 +15,7 @@ <member name="bone_update" type="int" setter="set_bone_update" getter="get_bone_update" enum="XRHandModifier3D.BoneUpdate" default="0"> Specifies the type of updates to perform on the bones. </member> - <member name="hand_tracker" type="StringName" setter="set_hand_tracker" getter="get_hand_tracker" default="&"/user/left""> + <member name="hand_tracker" type="StringName" setter="set_hand_tracker" getter="get_hand_tracker" default="&"/user/hand_tracker/left""> The name of the [XRHandTracker] registered with [XRServer] to obtain the hand tracking data from. </member> </members> diff --git a/doc/classes/XRHandTracker.xml b/doc/classes/XRHandTracker.xml index 932fec083a..69390df696 100644 --- a/doc/classes/XRHandTracker.xml +++ b/doc/classes/XRHandTracker.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="XRHandTracker" inherits="RefCounted" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> +<class name="XRHandTracker" inherits="XRPositionalTracker" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> A tracked hand in XR. </brief_description> @@ -11,6 +11,12 @@ <link title="XR documentation index">$DOCS_URL/tutorials/xr/index.html</link> </tutorials> <methods> + <method name="get_hand" qualifiers="const"> + <return type="int" enum="XRHandTracker.Hand" /> + <description> + Returns the type of hand. + </description> + </method> <method name="get_hand_joint_angular_velocity" qualifiers="const"> <return type="Vector3" /> <param index="0" name="joint" type="int" enum="XRHandTracker.HandJoint" /> @@ -46,6 +52,13 @@ Returns the transform for the given hand joint. </description> </method> + <method name="set_hand"> + <return type="void" /> + <param index="0" name="hand" type="int" enum="XRHandTracker.Hand" /> + <description> + Sets the type of hand. + </description> + </method> <method name="set_hand_joint_angular_velocity"> <return type="void" /> <param index="0" name="joint" type="int" enum="XRHandTracker.HandJoint" /> @@ -88,15 +101,13 @@ </method> </methods> <members> - <member name="hand" type="int" setter="set_hand" getter="get_hand" enum="XRHandTracker.Hand" default="0"> - The type of hand. - </member> <member name="hand_tracking_source" type="int" setter="set_hand_tracking_source" getter="get_hand_tracking_source" enum="XRHandTracker.HandTrackingSource" default="0"> The source of the hand tracking data. </member> <member name="has_tracking_data" type="bool" setter="set_has_tracking_data" getter="get_has_tracking_data" default="false"> If [code]true[/code], the hand tracking data is valid. </member> + <member name="type" type="int" setter="set_tracker_type" getter="get_tracker_type" overrides="XRTracker" enum="XRServer.TrackerType" default="16" /> </members> <constants> <constant name="HAND_LEFT" value="0" enum="Hand"> diff --git a/doc/classes/XRNode3D.xml b/doc/classes/XRNode3D.xml index 3da1873ed8..dfe5600fcc 100644 --- a/doc/classes/XRNode3D.xml +++ b/doc/classes/XRNode3D.xml @@ -46,6 +46,9 @@ The name of the pose we're bound to. Which poses a tracker supports is not known during design time. Godot defines number of standard pose names such as [code]aim[/code] and [code]grip[/code] but other may be configured within a given [XRInterface]. </member> + <member name="show_when_tracked" type="bool" setter="set_show_when_tracked" getter="get_show_when_tracked" default="false"> + Enables showing the node when tracking starts, and hiding the node when tracking is lost. + </member> <member name="tracker" type="StringName" setter="set_tracker" getter="get_tracker" default="&"""> The name of the tracker we're bound to. Which trackers are available is not known during design time. Godot defines a number of standard trackers such as [code]left_hand[/code] and [code]right_hand[/code] but others may be configured within a given [XRInterface]. diff --git a/doc/classes/XRPositionalTracker.xml b/doc/classes/XRPositionalTracker.xml index bd2432af50..2b2eae0c5e 100644 --- a/doc/classes/XRPositionalTracker.xml +++ b/doc/classes/XRPositionalTracker.xml @@ -1,18 +1,18 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="XRPositionalTracker" inherits="RefCounted" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> +<class name="XRPositionalTracker" inherits="XRTracker" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> A tracked object. </brief_description> <description> An instance of this object represents a device that is tracked, such as a controller or anchor point. HMDs aren't represented here as they are handled internally. As controllers are turned on and the [XRInterface] detects them, instances of this object are automatically added to this list of active tracking objects accessible through the [XRServer]. - The [XRController3D] and [XRAnchor3D] both consume objects of this type and should be used in your project. The positional trackers are just under-the-hood objects that make this all work. These are mostly exposed so that GDExtension-based interfaces can interact with them. + The [XRNode3D] and [XRAnchor3D] both consume objects of this type and should be used in your project. The positional trackers are just under-the-hood objects that make this all work. These are mostly exposed so that GDExtension-based interfaces can interact with them. </description> <tutorials> <link title="XR documentation index">$DOCS_URL/tutorials/xr/index.html</link> </tutorials> <methods> - <method name="get_input" qualifiers="const"> + <method name="get_input" qualifiers="const" deprecated="Use through [XRControllerTracker]."> <return type="Variant" /> <param index="0" name="name" type="StringName" /> <description> @@ -40,7 +40,7 @@ Marks this pose as invalid, we don't clear the last reported state but it allows users to decide if trackers need to be hidden if we lose tracking or just remain at their last known position. </description> </method> - <method name="set_input"> + <method name="set_input" deprecated="Use through [XRControllerTracker]."> <return type="void" /> <param index="0" name="name" type="StringName" /> <param index="1" name="value" type="Variant" /> @@ -61,23 +61,12 @@ </method> </methods> <members> - <member name="description" type="String" setter="set_tracker_desc" getter="get_tracker_desc" default=""""> - The description of this tracker. - </member> <member name="hand" type="int" setter="set_tracker_hand" getter="get_tracker_hand" enum="XRPositionalTracker.TrackerHand" default="0"> Defines which hand this tracker relates to. </member> - <member name="name" type="StringName" setter="set_tracker_name" getter="get_tracker_name" default="&"Unknown""> - The unique name of this tracker. The trackers that are available differ between various XR runtimes and can often be configured by the user. Godot maintains a number of reserved names that it expects the [XRInterface] to implement if applicable: - - [code]left_hand[/code] identifies the controller held in the players left hand - - [code]right_hand[/code] identifies the controller held in the players right hand - </member> <member name="profile" type="String" setter="set_tracker_profile" getter="get_tracker_profile" default=""""> The profile associated with this tracker, interface dependent but will indicate the type of controller being tracked. </member> - <member name="type" type="int" setter="set_tracker_type" getter="get_tracker_type" enum="XRServer.TrackerType" default="128"> - The type of tracker. - </member> </members> <signals> <signal name="button_pressed"> @@ -135,5 +124,8 @@ <constant name="TRACKER_HAND_RIGHT" value="2" enum="TrackerHand"> This tracker is the right hand controller. </constant> + <constant name="TRACKER_HAND_MAX" value="3" enum="TrackerHand"> + Represents the size of the [enum TrackerHand] enum. + </constant> </constants> </class> diff --git a/doc/classes/XRServer.xml b/doc/classes/XRServer.xml index 671cc8f15c..d5714980c3 100644 --- a/doc/classes/XRServer.xml +++ b/doc/classes/XRServer.xml @@ -10,30 +10,6 @@ <link title="XR documentation index">$DOCS_URL/tutorials/xr/index.html</link> </tutorials> <methods> - <method name="add_body_tracker"> - <return type="void" /> - <param index="0" name="tracker_name" type="StringName" /> - <param index="1" name="body_tracker" type="XRBodyTracker" /> - <description> - Registers a new [XRBodyTracker] that tracks the joints of a body. - </description> - </method> - <method name="add_face_tracker"> - <return type="void" /> - <param index="0" name="tracker_name" type="StringName" /> - <param index="1" name="face_tracker" type="XRFaceTracker" /> - <description> - Registers a new [XRFaceTracker] that tracks the blend shapes of a face. - </description> - </method> - <method name="add_hand_tracker"> - <return type="void" /> - <param index="0" name="tracker_name" type="StringName" /> - <param index="1" name="hand_tracker" type="XRHandTracker" /> - <description> - Registers a new [XRHandTracker] that tracks the joints of a hand. - </description> - </method> <method name="add_interface"> <return type="void" /> <param index="0" name="interface" type="XRInterface" /> @@ -43,9 +19,9 @@ </method> <method name="add_tracker"> <return type="void" /> - <param index="0" name="tracker" type="XRPositionalTracker" /> + <param index="0" name="tracker" type="XRTracker" /> <description> - Registers a new [XRPositionalTracker] that tracks a spatial location in real space. + Registers a new [XRTracker] that tracks a physical object. </description> </method> <method name="center_on_hmd"> @@ -74,45 +50,6 @@ Finds an interface by its [param name]. For example, if your project uses capabilities of an AR/VR platform, you can find the interface for that platform by name and initialize it. </description> </method> - <method name="get_body_tracker" qualifiers="const"> - <return type="XRBodyTracker" /> - <param index="0" name="tracker_name" type="StringName" /> - <description> - Returns the [XRBodyTracker] with the given tracker name. - </description> - </method> - <method name="get_body_trackers" qualifiers="const"> - <return type="Dictionary" /> - <description> - Returns a dictionary of the registered body trackers. Each element of the dictionary is a tracker name mapping to the [XRBodyTracker] instance. - </description> - </method> - <method name="get_face_tracker" qualifiers="const"> - <return type="XRFaceTracker" /> - <param index="0" name="tracker_name" type="StringName" /> - <description> - Returns the [XRFaceTracker] with the given tracker name. - </description> - </method> - <method name="get_face_trackers" qualifiers="const"> - <return type="Dictionary" /> - <description> - Returns a dictionary of the registered face trackers. Each element of the dictionary is a tracker name mapping to the [XRFaceTracker] instance. - </description> - </method> - <method name="get_hand_tracker" qualifiers="const"> - <return type="XRHandTracker" /> - <param index="0" name="tracker_name" type="StringName" /> - <description> - Returns the [XRHandTracker] with the given tracker name. - </description> - </method> - <method name="get_hand_trackers" qualifiers="const"> - <return type="Dictionary" /> - <description> - Returns a dictionary of the registered hand trackers. Each element of the dictionary is a tracker name mapping to the [XRHandTracker] instance. - </description> - </method> <method name="get_hmd_transform"> <return type="Transform3D" /> <description> @@ -145,7 +82,7 @@ </description> </method> <method name="get_tracker" qualifiers="const"> - <return type="XRPositionalTracker" /> + <return type="XRTracker" /> <param index="0" name="tracker_name" type="StringName" /> <description> Returns the positional tracker with the given [param tracker_name]. @@ -158,27 +95,6 @@ Returns a dictionary of trackers for [param tracker_types]. </description> </method> - <method name="remove_body_tracker"> - <return type="void" /> - <param index="0" name="tracker_name" type="StringName" /> - <description> - Removes a registered [XRBodyTracker]. - </description> - </method> - <method name="remove_face_tracker"> - <return type="void" /> - <param index="0" name="tracker_name" type="StringName" /> - <description> - Removes a registered [XRFaceTracker]. - </description> - </method> - <method name="remove_hand_tracker"> - <return type="void" /> - <param index="0" name="tracker_name" type="StringName" /> - <description> - Removes a registered [XRHandTracker]. - </description> - </method> <method name="remove_interface"> <return type="void" /> <param index="0" name="interface" type="XRInterface" /> @@ -188,9 +104,9 @@ </method> <method name="remove_tracker"> <return type="void" /> - <param index="0" name="tracker" type="XRPositionalTracker" /> + <param index="0" name="tracker" type="XRTracker" /> <description> - Removes this positional [param tracker]. + Removes this [param tracker]. </description> </method> </methods> @@ -207,66 +123,6 @@ </member> </members> <signals> - <signal name="body_tracker_added"> - <param index="0" name="tracker_name" type="StringName" /> - <param index="1" name="body_tracker" type="XRBodyTracker" /> - <description> - Emitted when a new body tracker is added. - </description> - </signal> - <signal name="body_tracker_removed"> - <param index="0" name="tracker_name" type="StringName" /> - <description> - Emitted when a body tracker is removed. - </description> - </signal> - <signal name="body_tracker_updated"> - <param index="0" name="tracker_name" type="StringName" /> - <param index="1" name="body_tracker" type="XRBodyTracker" /> - <description> - Emitted when an existing body tracker is updated. - </description> - </signal> - <signal name="face_tracker_added"> - <param index="0" name="tracker_name" type="StringName" /> - <param index="1" name="face_tracker" type="XRFaceTracker" /> - <description> - Emitted when a new face tracker is added. - </description> - </signal> - <signal name="face_tracker_removed"> - <param index="0" name="tracker_name" type="StringName" /> - <description> - Emitted when a face tracker is removed. - </description> - </signal> - <signal name="face_tracker_updated"> - <param index="0" name="tracker_name" type="StringName" /> - <param index="1" name="face_tracker" type="XRFaceTracker" /> - <description> - Emitted when an existing face tracker is updated. - </description> - </signal> - <signal name="hand_tracker_added"> - <param index="0" name="tracker_name" type="StringName" /> - <param index="1" name="hand_tracker" type="XRHandTracker" /> - <description> - Emitted when a new hand tracker is added. - </description> - </signal> - <signal name="hand_tracker_removed"> - <param index="0" name="tracker_name" type="StringName" /> - <description> - Emitted when a hand tracker is removed. - </description> - </signal> - <signal name="hand_tracker_updated"> - <param index="0" name="tracker_name" type="StringName" /> - <param index="1" name="hand_tracker" type="XRHandTracker" /> - <description> - Emitted when an existing hand tracker is updated. - </description> - </signal> <signal name="interface_added"> <param index="0" name="interface_name" type="StringName" /> <description> @@ -314,6 +170,15 @@ <constant name="TRACKER_ANCHOR" value="8" enum="TrackerType"> The tracker tracks the location and size of an AR anchor. </constant> + <constant name="TRACKER_HAND" value="16" enum="TrackerType"> + The tracker tracks the location and joints of a hand. + </constant> + <constant name="TRACKER_BODY" value="32" enum="TrackerType"> + The tracker tracks the location and joints of a body. + </constant> + <constant name="TRACKER_FACE" value="64" enum="TrackerType"> + The tracker tracks the expressions of a face. + </constant> <constant name="TRACKER_ANY_KNOWN" value="127" enum="TrackerType"> Used internally to filter trackers of any known type. </constant> diff --git a/doc/classes/XRTracker.xml b/doc/classes/XRTracker.xml new file mode 100644 index 0000000000..00a44bd03e --- /dev/null +++ b/doc/classes/XRTracker.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="XRTracker" inherits="RefCounted" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> + <brief_description> + A tracked object. + </brief_description> + <description> + This object is the base of all XR trackers. + </description> + <tutorials> + <link title="XR documentation index">$DOCS_URL/tutorials/xr/index.html</link> + </tutorials> + <members> + <member name="description" type="String" setter="set_tracker_desc" getter="get_tracker_desc" default=""""> + The description of this tracker. + </member> + <member name="name" type="StringName" setter="set_tracker_name" getter="get_tracker_name" default="&"Unknown""> + The unique name of this tracker. The trackers that are available differ between various XR runtimes and can often be configured by the user. Godot maintains a number of reserved names that it expects the [XRInterface] to implement if applicable: + - [code]head[/code] identifies the [XRPositionalTracker] of the players head + - [code]left_hand[/code] identifies the [XRControllerTracker] in the players left hand + - [code]right_hand[/code] identifies the [XRControllerTracker] in the players right hand + - [code]/user/hand_tracker/left[/code] identifies the [XRHandTracker] for the players left hand + - [code]/user/hand_tracker/right[/code] identifies the [XRHandTracker] for the players right hand + - [code]/user/body_tracker[/code] identifies the [XRBodyTracker] for the players body + - [code]/user/face_tracker[/code] identifies the [XRFaceTracker] for the players face + </member> + <member name="type" type="int" setter="set_tracker_type" getter="get_tracker_type" enum="XRServer.TrackerType" default="128"> + The type of tracker. + </member> + </members> +</class> |