PhysicsDirectSpaceState3D

package
v0.0.0-...-5eaf078 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 4, 2025 License: MIT Imports: 27 Imported by: 0

Documentation

Overview

Package PhysicsDirectSpaceState3D provides methods for working with PhysicsDirectSpaceState3D object instances.

Index

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 Any

type Any interface {
	gd.IsClass
	AsPhysicsDirectSpaceState3D() Instance
}

type Expanded

func (Expanded) CollideShape

func (self Expanded) CollideShape(parameters PhysicsShapeQueryParameters3D.Instance, max_results int) []Vector3.XYZ

Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters3D] object, against the space. The resulting array contains a list of points where the shape intersects another. Like with [method intersect_shape], the number of returned results can be limited to save processing time. Returned points are a list of pairs of contact points. For each pair the first one is in the shape passed in [PhysicsShapeQueryParameters3D] object, second one is in the collided shape from the physics space. [b]Note:[/b] This method does not take into account the [code]motion[/code] property of the object.

func (Expanded) IntersectPoint

func (self Expanded) IntersectPoint(parameters PhysicsPointQueryParameters3D.Instance, max_results int) []PhysicsDirectSpaceState3D_Intersection

Checks whether a point is inside any solid shape. Position and other parameters are defined through [PhysicsPointQueryParameters3D]. The shapes the point is inside of are returned in an array containing dictionaries with the following fields: [code]collider[/code]: The colliding object. [code]collider_id[/code]: The colliding object's ID. [code]rid[/code]: The intersecting object's [RID]. [code]shape[/code]: The shape index of the colliding shape. The number of intersections can be limited with the [param max_results] parameter, to reduce the processing time.

func (Expanded) IntersectShape

func (self Expanded) IntersectShape(parameters PhysicsShapeQueryParameters3D.Instance, max_results int) []PhysicsDirectSpaceState3D_Intersection

Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters3D] object, against the space. The intersected shapes are returned in an array containing dictionaries with the following fields: [code]collider[/code]: The colliding object. [code]collider_id[/code]: The colliding object's ID. [code]rid[/code]: The intersecting object's [RID]. [code]shape[/code]: The shape index of the colliding shape. The number of intersections can be limited with the [param max_results] parameter, to reduce the processing time. [b]Note:[/b] This method does not take into account the [code]motion[/code] property of the object.

type Extension

type Extension[T gdclass.Interface] struct{ gdclass.Extension[T, Instance] }

Extension can be embedded in a new struct to create an extension of this class. T should be the type that is embedding this Extension

func (*Extension[T]) AsObject

func (self *Extension[T]) AsObject() [1]gd.Object

func (*Extension[T]) AsPhysicsDirectSpaceState3D

func (self *Extension[T]) AsPhysicsDirectSpaceState3D() Instance

type ID

type ID Object.ID

ID is a typed object ID (reference) to an instance of this class, use it to store references to objects with unknown lifetimes, as an ID will not panic on use if the underlying object has been destroyed.

func (ID) Instance

func (id ID) Instance() (Instance, bool)

type Instance

Provides direct access to a physics space in the [PhysicsServer3D]. It's used mainly to do queries against objects and areas residing in a given space.

var Nil Instance

Nil is a nil/null instance of the class. Equivalent to the zero value.

func New

func New() Instance

func (Instance) AsObject

func (self Instance) AsObject() [1]gd.Object

func (Instance) AsPhysicsDirectSpaceState3D

func (self Instance) AsPhysicsDirectSpaceState3D() Instance

func (Instance) CastMotion

func (self Instance) CastMotion(parameters PhysicsShapeQueryParameters3D.Instance) []float32

Checks how far a [Shape3D] can move without colliding. All the parameters for the query, including the shape, are supplied through a [PhysicsShapeQueryParameters3D] object. Returns an array with the safe and unsafe proportions (between 0 and 1) of the motion. The safe proportion is the maximum fraction of the motion that can be made without a collision. The unsafe proportion is the minimum fraction of the distance that must be moved for a collision. If no collision is detected a result of [code][1.0, 1.0][/code] will be returned. [b]Note:[/b] Any [Shape3D]s that the shape is already colliding with e.g. inside of, will be ignored. Use [method collide_shape] to determine the [Shape3D]s that the shape is already colliding with.

func (Instance) CollideShape

func (self Instance) CollideShape(parameters PhysicsShapeQueryParameters3D.Instance) []Vector3.XYZ

Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters3D] object, against the space. The resulting array contains a list of points where the shape intersects another. Like with [method intersect_shape], the number of returned results can be limited to save processing time. Returned points are a list of pairs of contact points. For each pair the first one is in the shape passed in [PhysicsShapeQueryParameters3D] object, second one is in the collided shape from the physics space. [b]Note:[/b] This method does not take into account the [code]motion[/code] property of the object.

func (Instance) GetRestInfo

Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters3D] object, against the space. If it collides with more than one shape, the nearest one is selected. The returned object is a dictionary containing the following fields: [code]collider_id[/code]: The colliding object's ID. [code]linear_velocity[/code]: The colliding object's velocity [Vector3]. If the object is an [Area3D], the result is [code](0, 0, 0)[/code]. [code]normal[/code]: The collision normal of the query shape at the intersection point, pointing away from the intersecting object. [code]point[/code]: The intersection point. [code]rid[/code]: The intersecting object's [RID]. [code]shape[/code]: The shape index of the colliding shape. If the shape did not intersect anything, then an empty dictionary is returned instead. [b]Note:[/b] This method does not take into account the [code]motion[/code] property of the object.

func (Instance) ID

func (self Instance) ID() ID

func (Instance) IntersectPoint

Checks whether a point is inside any solid shape. Position and other parameters are defined through [PhysicsPointQueryParameters3D]. The shapes the point is inside of are returned in an array containing dictionaries with the following fields: [code]collider[/code]: The colliding object. [code]collider_id[/code]: The colliding object's ID. [code]rid[/code]: The intersecting object's [RID]. [code]shape[/code]: The shape index of the colliding shape. The number of intersections can be limited with the [param max_results] parameter, to reduce the processing time.

func (Instance) IntersectRay

Intersects a ray in a given space. Ray position and other parameters are defined through [PhysicsRayQueryParameters3D]. The returned object is a dictionary with the following fields: [code]collider[/code]: The colliding object. [code]collider_id[/code]: The colliding object's ID. [code]normal[/code]: The object's surface normal at the intersection point, or [code]Vector3(0, 0, 0)[/code] if the ray starts inside the shape and [member PhysicsRayQueryParameters3D.hit_from_inside] is [code]true[/code]. [code]position[/code]: The intersection point. [code]face_index[/code]: The face index at the intersection point. [b]Note:[/b] Returns a valid number only if the intersected shape is a [ConcavePolygonShape3D]. Otherwise, [code]-1[/code] is returned. [code]rid[/code]: The intersecting object's [RID]. [code]shape[/code]: The shape index of the colliding shape. If the ray did not intersect anything, then an empty dictionary is returned instead.

func (Instance) IntersectShape

Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters3D] object, against the space. The intersected shapes are returned in an array containing dictionaries with the following fields: [code]collider[/code]: The colliding object. [code]collider_id[/code]: The colliding object's ID. [code]rid[/code]: The intersecting object's [RID]. [code]shape[/code]: The shape index of the colliding shape. The number of intersections can be limited with the [param max_results] parameter, to reduce the processing time. [b]Note:[/b] This method does not take into account the [code]motion[/code] property of the object.

func (*Instance) SetObject

func (self *Instance) SetObject(obj [1]gd.Object) bool

func (*Instance) UnsafePointer

func (self *Instance) UnsafePointer() unsafe.Pointer

func (Instance) Virtual

func (self Instance) Virtual(name string) reflect.Value

type PhysicsDirectSpaceState3D_Intersection

type PhysicsDirectSpaceState3D_Intersection struct {
	Collider   Object.Instance `gd:"collider"`
	ColliderID Object.ID       `gd:"collider_id"`
	Normal     struct {
		X float32
		Y float32
		Z float32
	} `gd:"normal"`
	Position struct {
		X float32
		Y float32
		Z float32
	} `gd:"position"`
	FaceIndex int     `gd:"face_index"`
	RID       RID.Any `gd:"rid"`
	Shape     int     `gd:"shape"`
}

type PhysicsDirectSpaceState3D_RestInfo

type PhysicsDirectSpaceState3D_RestInfo struct {
	ColliderID     Object.ID `gd:"collider_id"`
	LinearVelocity struct {
		X float32
		Y float32
		Z float32
	} `gd:"linear_velocity"`
	Normal struct {
		X float32
		Y float32
		Z float32
	} `gd:"normal"`
	Point struct {
		X float32
		Y float32
		Z float32
	} `gd:"point"`
	RID   RID.Any `gd:"rid"`
	Shape int     `gd:"shape"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL