Difference between revisions of "Math.raycast"

From GiderosMobile
m (Text replacement - "<source" to "<syntaxhighlight")
m (Text replacement - "</source>" to "</syntaxhighlight>")
 
Line 7: Line 7:
 
<syntaxhighlight lang="lua">
 
<syntaxhighlight lang="lua">
 
(table) = math.raycast(origin,direction,shape)
 
(table) = math.raycast(origin,direction,shape)
</source>
+
</syntaxhighlight>
  
 
Shapes are tables which can have the following forms:
 
Shapes are tables which can have the following forms:

Latest revision as of 14:30, 13 July 2023

Available since: Gideros 2020.9
Class: math

Description

Returns collisions between a ray and a shape.

(table) = math.raycast(origin,direction,shape)

Shapes are tables which can have the following forms:

  • { x, y, z, radius }: Represent a sphere (3D) or a circle (2D)
  • { x, y, z, normal }: Represent a plane (3D) or a line (2D)
  • { x, y, z, normal, extent }: Represent a disk (3D) or a segment (2D)
  • { x, y, x2, y2 }: Represent a segment (2D)
  • { x, y, z, 1, 2, ... }: Represent a shape group

Each resulting collison contains the following fields:

  • point: collision point
  • distance: distance of the collision point from the origin
  • normal: normal vector of the shape surface at the collision point
  • reflect: reflection direction

Parameters

origin: (table) the origin of the ray
direction: (table) the direction of the ray
shape: (table) the shape to test against

Return values

Returns (table) a list of intersections