2024-02-24 19:20:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								<?xml version="1.0" encoding="UTF-8" ?> 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-28 09:11:43 +09:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								<class  name= "XRBodyModifier3D"  inherits= "SkeletonModifier3D"  experimental= ""  xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"  xsi:noNamespaceSchemaLocation= "../class.xsd" > 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-24 19:20:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									<brief_description > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										A node for driving body meshes from [XRBodyTracker] data.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									</brief_description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-13 17:26:46 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
										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].
							 
						 
					
						
							
								
									
										
										
										
											2024-03-03 20:42:11 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
										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.
							 
						 
					
						
							
								
									
										
										
										
											2024-02-24 19:20:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									<tutorials > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										<link  title= "XR documentation index" > $DOCS_URL/tutorials/xr/index.html</link> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									</tutorials> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									<members > 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-13 17:26:46 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
										<member  name= "body_tracker"  type= "StringName"  setter= "set_body_tracker"  getter= "get_body_tracker"  default= "&"/user/body_tracker"" > 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-24 19:20:11 -05:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
											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" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
											Specifies the body parts to update.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										</member> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										<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> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									</members> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									<constants > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										<constant  name= "BODY_UPDATE_UPPER_BODY"  value= "1"  enum= "BodyUpdate"  is_bitfield= "true" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
											The skeleton's upper body joints are updated.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										</constant> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										<constant  name= "BODY_UPDATE_LOWER_BODY"  value= "2"  enum= "BodyUpdate"  is_bitfield= "true" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
											The skeleton's lower body joints are updated.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										</constant> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										<constant  name= "BODY_UPDATE_HANDS"  value= "4"  enum= "BodyUpdate"  is_bitfield= "true" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
											The skeleton's hand joints are updated.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										</constant> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										<constant  name= "BONE_UPDATE_FULL"  value= "0"  enum= "BoneUpdate" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
											The skeleton's bones are fully updated (both position and rotation) to match the tracked bones.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										</constant> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										<constant  name= "BONE_UPDATE_ROTATION_ONLY"  value= "1"  enum= "BoneUpdate" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
											The skeleton's bones are only rotated to align with the tracked bones, preserving bone length.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										</constant> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										<constant  name= "BONE_UPDATE_MAX"  value= "2"  enum= "BoneUpdate" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
											Represents the size of the [enum BoneUpdate] enum.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										</constant> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									</constants> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								</class>