Difference between revisions of "Math.raycast"
From GiderosMobile
m (removed language stuff) |
|||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
− | + | '''Available since:''' Gideros 2020.9<br/> | |
− | ''' | + | '''Class:''' [[math]]<br/> |
− | ''' | + | |
− | === | + | === Description === |
− | + | Returns collisions between a ray and a shape. | |
<source lang="lua"> | <source lang="lua"> | ||
(table) = math.raycast(origin,direction,shape) | (table) = math.raycast(origin,direction,shape) | ||
Line 22: | Line 22: | ||
* reflect: reflection direction | * reflect: reflection direction | ||
− | === | + | === Parameters === |
− | '''origin''': (table) | + | '''origin''': (table) the origin of the ray<br/> |
− | '''direction''': (table) | + | '''direction''': (table) the direction of the ray<br/> |
− | '''shape''': (table) | + | '''shape''': (table) the shape to test against<br/> |
− | === | + | === Return values === |
− | ''' | + | '''Returns''' (table) a list of intersections<br/> |
{{Math}} | {{Math}} |
Revision as of 06:30, 13 June 2021
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
- Math
- Math.abs
- Math.acos
- Math.asin
- Math.atan
- Math.atan2
- Math.ceil
- Math.clamp
- Math.cos
- Math.cosh
- Math.cross
- Math.deg
- Math.distance
- Math.distances
- Math.dot
- Math.edge
- Math.exp
- Math.fft
- Math.floor
- Math.fmod
- Math.frexp
- Math.ifft
- Math.inside
- Math.ldexp
- Math.length
- Math.log
- Math.log10
- Math.max
- Math.min
- Math.modf
- Math.nearest
- Math.noise
- Math.normalize
- Math.pow
- Math.rad
- Math.random
- Math.randomseed
- Math.raycast
- Math.round
- Math.sign
- Math.sin
- Math.sinh
- Math.sqrt
- Math.tan
- Math.tanh