PhysicsDirectSpaceState
Inherits: Object PhysicsServer.
Description
PhysicsServer. It’s used mainly to do queries against objects and areas residing in a given space.
Tutorials
- Physics introduction
- Ray-casting
Methods
Method Descriptions
- Array cast_motion ( PhysicsShapeQueryParameters shape, Vector3 motion )
Shape can move without colliding. All the parameters for the query, including the shape, are supplied through a PhysicsShapeQueryParameters object.
[1.0, 1.0]will be returned. Note: Any Shapes that the shape is already colliding with e.g. inside of, will be ignored. Use collide_shape to determine the Shapes that the shape is already colliding with.
- Array collide_shape ( PhysicsShapeQueryParameters shape, int max_results=32 ) PhysicsShapeQueryParameters object, against the space. The resulting array contains a list of points where the shape intersects another. Like with intersect_shape, the number of returned results can be limited to save processing time.
- Dictionary get_rest_info ( PhysicsShapeQueryParameters shape )
PhysicsShapeQueryParameters 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:
collider_id: The colliding object’s ID.linear_velocity: The colliding object’s velocity Vector3. If the object is an Area, the result is(0, 0, 0).normal: The object’s surface normal at the intersection point.point: The intersection point.rid: The intersecting object’s RID.shape: The shape index of the colliding shape. If the shape did not intersect anything, then an empty dictionary is returned instead.
- Array intersect_point ( Vector3 point, int max_results=32, Array exclude=[ ], int collision_layer=2147483647, bool collide_with_bodies=true, bool collide_with_areas=false )
Checks whether a point is inside any solid shape. The shapes the point is inside of are returned in an array containing dictionaries with the following fields:
collider: The colliding object.collider_id: The colliding object’s ID.rid: The intersecting object’s RID.shape: The shape index of the colliding shape.max_resultsparameter, to reduce the processing time.excludearray of objects or RIDs that are to be excluded from collisions, acollision_maskbitmask representing the physics layers to check in, or booleans to determine if the ray should collide with PhysicsBodys or Areas, respectively.
- Dictionary intersect_ray ( Vector3 from, Vector3 to, Array exclude=[ ], int collision_mask=2147483647, bool collide_with_bodies=true, bool collide_with_areas=false )
Intersects a ray in a given space. The returned object is a dictionary with the following fields:
collider: The colliding object.collider_id: The colliding object’s ID.normal: The object’s surface normal at the intersection point.position: The intersection point.rid: The intersecting object’s RID.shape: The shape index of the colliding shape. If the ray did not intersect anything, then an empty dictionary is returned instead.excludearray of objects or RIDs that are to be excluded from collisions, acollision_maskbitmask representing the physics layers to check in, or booleans to determine if the ray should collide with PhysicsBodys or Areas, respectively.
- Array intersect_shape ( PhysicsShapeQueryParameters shape, int max_results=32 )
PhysicsShapeQueryParameters object, against the space. The intersected shapes are returned in an array containing dictionaries with the following fields:
collider: The colliding object.collider_id: The colliding object’s ID.rid: The intersecting object’s RID.shape: The shape index of the colliding shape.max_resultsparameter, to reduce the processing time.
