-
-
Notifications
You must be signed in to change notification settings - Fork 26.4k
Expand file tree
/
Copy pathSpringBoneCollision3D.xml
More file actions
48 lines (48 loc) · 2.74 KB
/
Copy pathSpringBoneCollision3D.xml
File metadata and controls
48 lines (48 loc) · 2.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?xml version="1.0" encoding="UTF-8" ?>
<class name="SpringBoneCollision3D" inherits="Node3D" api_type="core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
A base class of the collision that interacts with [SpringBoneSimulator3D].
</brief_description>
<description>
A collision can be a child of [SpringBoneSimulator3D]. If it is not a child of [SpringBoneSimulator3D], it has no effect.
The colliding and sliding are done in the [SpringBoneSimulator3D]'s modification process in order of its collision list which is set by [method SpringBoneSimulator3D.set_collision_path]. If [method SpringBoneSimulator3D.are_all_child_collisions_enabled] is [code]true[/code], the order matches [SceneTree].
If [member bone] is set, it synchronizes with the bone pose of the ancestor [Skeleton3D], which is done in before the [SpringBoneSimulator3D]'s modification process as the pre-process.
[b]Warning:[/b] A scaled [SpringBoneCollision3D] will likely not behave as expected. Make sure that the parent [Skeleton3D] and its bones are not scaled.
</description>
<tutorials>
</tutorials>
<methods>
<method name="get_skeleton" qualifiers="const">
<return type="Skeleton3D" />
<description>
Get parent [Skeleton3D] node of the parent [SpringBoneSimulator3D] if found.
</description>
</method>
</methods>
<members>
<member name="bone" type="int" setter="set_bone" getter="get_bone" default="-1">
The index of the attached bone.
</member>
<member name="bone_name" type="String" setter="set_bone_name" getter="get_bone_name" default="""">
The name of the attached bone.
</member>
<member name="physics_interpolation_mode" type="int" setter="set_physics_interpolation_mode" getter="get_physics_interpolation_mode" overrides="Node" enum="Node.PhysicsInterpolationMode" default="2" />
<member name="position_offset" type="Vector3" setter="set_position_offset" getter="get_position_offset">
The offset of the position from [Skeleton3D]'s [member bone] pose position.
</member>
<member name="rotation_offset" type="Quaternion" setter="set_rotation_offset" getter="get_rotation_offset">
The offset of the rotation from [Skeleton3D]'s [member bone] pose rotation.
</member>
</members>
<constants>
<constant name="COLLIDE_MODE_JOINT" value="0" enum="CollideMode">
Collision is only with spheres around the joints.
</constant>
<constant name="COLLIDE_MODE_INSIDE" value="1" enum="CollideMode">
Collision acts to trap the spheres around the joints within the collision.
</constant>
<constant name="COLLIDE_MODE_CHAIN" value="2" enum="CollideMode">
Collision is against the joint spheres and the tapered cones between them.
</constant>
</constants>
</class>