summaryrefslogtreecommitdiff
path: root/doc/classes/PhysicalBone3D.xml
blob: f38130fe0c98b64c122d77a87517949c7a56d06e (plain)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<?xml version="1.0" encoding="UTF-8" ?>
<class name="PhysicalBone3D" inherits="PhysicsBody3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
	<brief_description>
	</brief_description>
	<description>
		[b]Warning:[/b] With a non-uniform scale this node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change the size(s) of its collision shape(s) instead.
	</description>
	<tutorials>
	</tutorials>
	<methods>
		<method name="_integrate_forces" qualifiers="virtual">
			<return type="void" />
			<param index="0" name="state" type="PhysicsDirectBodyState3D" />
			<description>
				Called during physics processing, allowing you to read and safely modify the simulation state for the object. By default, it works in addition to the usual physics behavior, but the [member custom_integrator] property allows you to disable the default behavior and do fully custom force integration for a body.
			</description>
		</method>
		<method name="apply_central_impulse">
			<return type="void" />
			<param index="0" name="impulse" type="Vector3" />
			<description>
			</description>
		</method>
		<method name="apply_impulse">
			<return type="void" />
			<param index="0" name="impulse" type="Vector3" />
			<param index="1" name="position" type="Vector3" default="Vector3(0, 0, 0)" />
			<description>
			</description>
		</method>
		<method name="get_bone_id" qualifiers="const">
			<return type="int" />
			<description>
			</description>
		</method>
		<method name="get_simulate_physics">
			<return type="bool" />
			<description>
			</description>
		</method>
		<method name="is_simulating_physics">
			<return type="bool" />
			<description>
			</description>
		</method>
	</methods>
	<members>
		<member name="angular_damp" type="float" setter="set_angular_damp" getter="get_angular_damp" default="0.0">
			Damps the body's rotation. By default, the body will use the [b]Default Angular Damp[/b] in [b]Project &gt; Project Settings &gt; Physics &gt; 3d[/b] or any value override set by an [Area3D] the body is in. Depending on [member angular_damp_mode], you can set [member angular_damp] to be added to or to replace the body's damping value.
			See [member ProjectSettings.physics/3d/default_angular_damp] for more details about damping.
		</member>
		<member name="angular_damp_mode" type="int" setter="set_angular_damp_mode" getter="get_angular_damp_mode" enum="PhysicalBone3D.DampMode" default="0">
			Defines how [member angular_damp] is applied. See [enum DampMode] for possible values.
		</member>
		<member name="angular_velocity" type="Vector3" setter="set_angular_velocity" getter="get_angular_velocity" default="Vector3(0, 0, 0)">
			The PhysicalBone3D's rotational velocity in [i]radians[/i] per second.
		</member>
		<member name="body_offset" type="Transform3D" setter="set_body_offset" getter="get_body_offset" default="Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)">
			Sets the body's transform.
		</member>
		<member name="bounce" type="float" setter="set_bounce" getter="get_bounce" default="0.0">
			The body's bounciness. Values range from [code]0[/code] (no bounce) to [code]1[/code] (full bounciness).
		</member>
		<member name="can_sleep" type="bool" setter="set_can_sleep" getter="is_able_to_sleep" default="true">
			If [code]true[/code], the body is deactivated when there is no movement, so it will not take part in the simulation until it is awakened by an external force.
		</member>
		<member name="custom_integrator" type="bool" setter="set_use_custom_integrator" getter="is_using_custom_integrator" default="false">
			If [code]true[/code], internal force integration will be disabled (like gravity or air friction) for this body. Other than collision response, the body will only move as determined by the [method _integrate_forces] function, if defined.
		</member>
		<member name="friction" type="float" setter="set_friction" getter="get_friction" default="1.0">
			The body's friction, from [code]0[/code] (frictionless) to [code]1[/code] (max friction).
		</member>
		<member name="gravity_scale" type="float" setter="set_gravity_scale" getter="get_gravity_scale" default="1.0">
			This is multiplied by the global 3D gravity setting found in [b]Project &gt; Project Settings &gt; Physics &gt; 3d[/b] to produce the body's gravity. For example, a value of 1 will be normal gravity, 2 will apply double gravity, and 0.5 will apply half gravity to this object.
		</member>
		<member name="joint_offset" type="Transform3D" setter="set_joint_offset" getter="get_joint_offset" default="Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)">
			Sets the joint's transform.
		</member>
		<member name="joint_rotation" type="Vector3" setter="set_joint_rotation" getter="get_joint_rotation" default="Vector3(0, 0, 0)">
			Sets the joint's rotation in radians.
		</member>
		<member name="joint_type" type="int" setter="set_joint_type" getter="get_joint_type" enum="PhysicalBone3D.JointType" default="0">
			Sets the joint type. See [enum JointType] for possible values.
		</member>
		<member name="linear_damp" type="float" setter="set_linear_damp" getter="get_linear_damp" default="0.0">
			Damps the body's movement. By default, the body will use the [b]Default Linear Damp[/b] in [b]Project &gt; Project Settings &gt; Physics &gt; 3d[/b] or any value override set by an [Area3D] the body is in. Depending on [member linear_damp_mode], you can set [member linear_damp] to be added to or to replace the body's damping value.
			See [member ProjectSettings.physics/3d/default_linear_damp] for more details about damping.
		</member>
		<member name="linear_damp_mode" type="int" setter="set_linear_damp_mode" getter="get_linear_damp_mode" enum="PhysicalBone3D.DampMode" default="0">
			Defines how [member linear_damp] is applied. See [enum DampMode] for possible values.
		</member>
		<member name="linear_velocity" type="Vector3" setter="set_linear_velocity" getter="get_linear_velocity" default="Vector3(0, 0, 0)">
			The body's linear velocity in units per second. Can be used sporadically, but [b]don't set this every frame[/b], because physics may run in another thread and runs at a different granularity. Use [method _integrate_forces] as your process loop for precise control of the body state.
		</member>
		<member name="mass" type="float" setter="set_mass" getter="get_mass" default="1.0">
			The body's mass.
		</member>
	</members>
	<constants>
		<constant name="DAMP_MODE_COMBINE" value="0" enum="DampMode">
			In this mode, the body's damping value is added to any value set in areas or the default value.
		</constant>
		<constant name="DAMP_MODE_REPLACE" value="1" enum="DampMode">
			In this mode, the body's damping value replaces any value set in areas or the default value.
		</constant>
		<constant name="JOINT_TYPE_NONE" value="0" enum="JointType">
		</constant>
		<constant name="JOINT_TYPE_PIN" value="1" enum="JointType">
		</constant>
		<constant name="JOINT_TYPE_CONE" value="2" enum="JointType">
		</constant>
		<constant name="JOINT_TYPE_HINGE" value="3" enum="JointType">
		</constant>
		<constant name="JOINT_TYPE_SLIDER" value="4" enum="JointType">
		</constant>
		<constant name="JOINT_TYPE_6DOF" value="5" enum="JointType">
		</constant>
	</constants>
</class>