Documentation
¶
Overview ¶
Package PhysicsDirectBodyState3D provides methods for working with PhysicsDirectBodyState3D object instances.
Index ¶
- type Advanced
- type Any
- type Instance
- func (self Instance) AddConstantCentralForce()
- func (self Instance) AddConstantForce(force Vector3.XYZ)
- func (self Instance) AddConstantTorque(torque Vector3.XYZ)
- func (self Instance) AngularVelocity() Vector3.XYZ
- func (self Instance) ApplyCentralForce()
- func (self Instance) ApplyCentralImpulse()
- func (self Instance) ApplyForce(force Vector3.XYZ)
- func (self Instance) ApplyImpulse(impulse Vector3.XYZ)
- func (self Instance) ApplyTorque(torque Vector3.XYZ)
- func (self Instance) ApplyTorqueImpulse(impulse Vector3.XYZ)
- func (self Instance) AsObject() [1]gd.Object
- func (self Instance) AsPhysicsDirectBodyState3D() Instance
- func (self Instance) CenterOfMass() Vector3.XYZ
- func (self Instance) CenterOfMassLocal() Vector3.XYZ
- func (self Instance) GetConstantForce() Vector3.XYZ
- func (self Instance) GetConstantTorque() Vector3.XYZ
- func (self Instance) GetContactCollider(contact_idx int) RID.Body3D
- func (self Instance) GetContactColliderId(contact_idx int) int
- func (self Instance) GetContactColliderObject(contact_idx int) Object.Instance
- func (self Instance) GetContactColliderPosition(contact_idx int) Vector3.XYZ
- func (self Instance) GetContactColliderShape(contact_idx int) int
- func (self Instance) GetContactColliderVelocityAtPosition(contact_idx int) Vector3.XYZ
- func (self Instance) GetContactCount() int
- func (self Instance) GetContactImpulse(contact_idx int) Vector3.XYZ
- func (self Instance) GetContactLocalNormal(contact_idx int) Vector3.XYZ
- func (self Instance) GetContactLocalPosition(contact_idx int) Vector3.XYZ
- func (self Instance) GetContactLocalShape(contact_idx int) int
- func (self Instance) GetContactLocalVelocityAtPosition(contact_idx int) Vector3.XYZ
- func (self Instance) GetSpaceState() [1]gdclass.PhysicsDirectSpaceState3D
- func (self Instance) GetVelocityAtLocalPosition(local_position Vector3.XYZ) Vector3.XYZ
- func (self Instance) IntegrateForces()
- func (self Instance) InverseInertia() Vector3.XYZ
- func (self Instance) InverseInertiaTensor() Basis.XYZ
- func (self Instance) InverseMass() Float.X
- func (self Instance) LinearVelocity() Vector3.XYZ
- func (self Instance) PrincipalInertiaAxes() Basis.XYZ
- func (self Instance) SetAngularVelocity(value Vector3.XYZ)
- func (self Instance) SetConstantForce(force Vector3.XYZ)
- func (self Instance) SetConstantTorque(torque Vector3.XYZ)
- func (self Instance) SetLinearVelocity(value Vector3.XYZ)
- func (self Instance) SetSleeping(value bool)
- func (self Instance) SetTransform(value Transform3D.BasisOrigin)
- func (self Instance) Sleeping() bool
- func (self Instance) Step() Float.X
- func (self Instance) TotalAngularDamp() Float.X
- func (self Instance) TotalGravity() Vector3.XYZ
- func (self Instance) TotalLinearDamp() Float.X
- func (self Instance) Transform() Transform3D.BasisOrigin
- func (self *Instance) UnsafePointer() unsafe.Pointer
- func (self Instance) Virtual(name string) reflect.Value
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Advanced ¶
type Advanced = class
Advanced exposes a 1:1 low-level instance of the class, undocumented, for those who know what they are doing.
type Instance ¶
type Instance [1]gdclass.PhysicsDirectBodyState3D
Provides direct access to a physics body in the [PhysicsServer3D], allowing safe changes to physics properties. This object is passed via the direct state callback of [RigidBody3D], and is intended for changing the direct state of that body. See [method RigidBody3D._integrate_forces].
var Nil Instance
Nil is a nil/null instance of the class. Equivalent to the zero value.
func (Instance) AddConstantCentralForce ¶
func (self Instance) AddConstantCentralForce()
Adds a constant directional force without affecting rotation that keeps being applied over time until cleared with [code]constant_force = Vector3(0, 0, 0)[/code]. This is equivalent to using [method add_constant_force] at the body's center of mass.
func (Instance) AddConstantForce ¶
Adds a constant positioned force to the body that keeps being applied over time until cleared with [code]constant_force = Vector3(0, 0, 0)[/code]. [param position] is the offset from the body origin in global coordinates.
func (Instance) AddConstantTorque ¶
Adds a constant rotational force without affecting position that keeps being applied over time until cleared with [code]constant_torque = Vector3(0, 0, 0)[/code].
func (Instance) AngularVelocity ¶
func (Instance) ApplyCentralForce ¶
func (self Instance) ApplyCentralForce()
Applies a directional force without affecting rotation. A force is time dependent and meant to be applied every physics update. This is equivalent to using [method apply_force] at the body's center of mass.
func (Instance) ApplyCentralImpulse ¶
func (self Instance) ApplyCentralImpulse()
Applies a directional impulse without affecting rotation. An impulse is time-independent! Applying an impulse every frame would result in a framerate-dependent force. For this reason, it should only be used when simulating one-time impacts (use the "_force" functions otherwise). This is equivalent to using [method apply_impulse] at the body's center of mass.
func (Instance) ApplyForce ¶
Applies a positioned force to the body. A force is time dependent and meant to be applied every physics update. [param position] is the offset from the body origin in global coordinates.
func (Instance) ApplyImpulse ¶
Applies a positioned impulse to the body. An impulse is time-independent! Applying an impulse every frame would result in a framerate-dependent force. For this reason, it should only be used when simulating one-time impacts (use the "_force" functions otherwise). [param position] is the offset from the body origin in global coordinates.
func (Instance) ApplyTorque ¶
Applies a rotational force without affecting position. A force is time dependent and meant to be applied every physics update. [b]Note:[/b] [member inverse_inertia] is required for this to work. To have [member inverse_inertia], an active [CollisionShape3D] must be a child of the node, or you can manually set [member inverse_inertia].
func (Instance) ApplyTorqueImpulse ¶
Applies a rotational impulse to the body without affecting the position. An impulse is time-independent! Applying an impulse every frame would result in a framerate-dependent force. For this reason, it should only be used when simulating one-time impacts (use the "_force" functions otherwise). [b]Note:[/b] [member inverse_inertia] is required for this to work. To have [member inverse_inertia], an active [CollisionShape3D] must be a child of the node, or you can manually set [member inverse_inertia].
func (Instance) AsPhysicsDirectBodyState3D ¶
func (Instance) CenterOfMass ¶
func (Instance) CenterOfMassLocal ¶
func (Instance) GetConstantForce ¶
Returns the body's total constant positional forces applied during each physics update. See [method add_constant_force] and [method add_constant_central_force].
func (Instance) GetConstantTorque ¶
Returns the body's total constant rotational forces applied during each physics update. See [method add_constant_torque].
func (Instance) GetContactCollider ¶
Returns the collider's [RID].
func (Instance) GetContactColliderId ¶
Returns the collider's object id.
func (Instance) GetContactColliderObject ¶
Returns the collider object.
func (Instance) GetContactColliderPosition ¶
Returns the position of the contact point on the collider in the global coordinate system.
func (Instance) GetContactColliderShape ¶
Returns the collider's shape index.
func (Instance) GetContactColliderVelocityAtPosition ¶
Returns the linear velocity vector at the collider's contact point.
func (Instance) GetContactCount ¶
Returns the number of contacts this body has with other bodies. [b]Note:[/b] By default, this returns 0 unless bodies are configured to monitor contacts. See [member RigidBody3D.contact_monitor].
func (Instance) GetContactImpulse ¶
Impulse created by the contact.
func (Instance) GetContactLocalNormal ¶
Returns the local normal at the contact point.
func (Instance) GetContactLocalPosition ¶
Returns the position of the contact point on the body in the global coordinate system.
func (Instance) GetContactLocalShape ¶
Returns the local shape index of the collision.
func (Instance) GetContactLocalVelocityAtPosition ¶
Returns the linear velocity vector at the body's contact point.
func (Instance) GetSpaceState ¶
func (self Instance) GetSpaceState() [1]gdclass.PhysicsDirectSpaceState3D
Returns the current state of the space, useful for queries.
func (Instance) GetVelocityAtLocalPosition ¶
Returns the body's velocity at the given relative position, including both translation and rotation.
func (Instance) IntegrateForces ¶
func (self Instance) IntegrateForces()
Updates the body's linear and angular velocity by applying gravity and damping for the equivalent of one physics tick.
func (Instance) InverseInertia ¶
func (Instance) InverseInertiaTensor ¶
func (Instance) InverseMass ¶
func (Instance) LinearVelocity ¶
func (Instance) PrincipalInertiaAxes ¶
func (Instance) SetAngularVelocity ¶
func (Instance) SetConstantForce ¶
Sets the body's total constant positional forces applied during each physics update. See [method add_constant_force] and [method add_constant_central_force].
func (Instance) SetConstantTorque ¶
Sets the body's total constant rotational forces applied during each physics update. See [method add_constant_torque].
func (Instance) SetLinearVelocity ¶
func (Instance) SetSleeping ¶
func (Instance) SetTransform ¶
func (self Instance) SetTransform(value Transform3D.BasisOrigin)
func (Instance) TotalAngularDamp ¶
func (Instance) TotalGravity ¶
func (Instance) TotalLinearDamp ¶
func (Instance) Transform ¶
func (self Instance) Transform() Transform3D.BasisOrigin