Difference between revisions of "Math.raycast"

From GiderosMobile
m (Text replacement - "</source>" to "</syntaxhighlight>")
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
<languages />
+
'''Available since:''' Gideros 2020.9<br/>
'''<translate>Available since</translate>:''' Gideros 2020.9<br/>
+
'''Class:''' [[math]]<br/>
'''<translate>Class</translate>:''' [[Special:MyLanguage/math|math]]<br/>
+
 
=== <translate>Description</translate> ===
+
=== Description ===
<translate>Returns collisions between a ray and a shape.</translate>
+
Returns collisions between a ray and a shape.
<source 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:
Line 17: Line 17:
  
 
Each resulting collison contains the following fields:
 
Each resulting collison contains the following fields:
- point: collision point
+
* point: collision point
- distance: distance of the collision point from the origin
+
* distance: distance of the collision point from the origin
- normal: normal vector of the shape surface at the collision point
+
* normal: normal vector of the shape surface at the collision point
- reflect: reflection direction
+
* reflect: reflection direction
  
=== <translate>Parameters</translate> ===
+
=== Parameters ===
'''origin''': (table) <translate>The origin of the ray</translate> <br/>
+
'''origin''': (table) the origin of the ray<br/>
'''direction''': (table) <translate>The direction of the ray</translate> <br/>
+
'''direction''': (table) the direction of the ray<br/>
'''shape''': (table) <translate>The shape to test against</translate> <br/>
+
'''shape''': (table) the shape to test against<br/>
  
=== <translate>Return values</translate> ===
+
=== Return values ===
'''<translate>Returns</translate>''' (table) <translate>A list of intersections</translate><br/>
+
'''Returns''' (table) a list of intersections<br/>
  
 
{{Math}}
 
{{Math}}

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