All pages
Powered by GitBook
1 of 1

Loading...

SPhysics

Index

Functions Index

Function Name

Properties Index

Property Name

Functions

RayCast

[] RayCast ( origin, normal, float distance, layerMask=null)

Raycasts from origin along normal, distance meters - and returns a list of collisions in distance order (closest first)

Parameter
Type
Description

RayCastSingle

RayCastSingle ( origin, normal, float distance, layerMask=null)

Raycasts from origin along normal, distance meters - and returns the first collision.

Parameter
Type
Description

SphereCast

[] SphereCast ( origin, float radius, float distance, direction, layerMask=null) [] SphereCast ( origin, float radius, float distance, layerMask=null)

Sweeps from origin in a spherical ray 'radius' wide, and returns the list of collided objects

Parameter
Type
Description

CapsuleCast

[] CapsuleCast ( origin, end, float radius, float distance, up, SLayerMask layerMask=null) [] CapsuleCast ( origin, end, float radius, float distance, layerMask=null)

Sweeps a capsule from origin to end, radius wide and returns a list of collisions.

Parameter
Type
Description

BoxCast

[] BoxCast ( origin, extents, direction, orientation, float distance, layerMask=null)

Sweeps a box defined by origin+halfExtents along direction, distance meters with a orientation matching orientation - and returns a list of collisions in distance order.

Parameter
Type
Description

Properties

Gravity

Gravity get set

The gravity applied to all rigid bodies in the Scene.

Gravity can be turned off for an individual Rigidbody using its property.

SLayerMask

Include a layer mask if you do not want to use viewer's defaults.

SPhysicsHit[] RayCast (SVector origin, SVector normal, float distance, SLayerMask layerMask=null)

SPhysicsHit RayCastSingle (SVector origin, SVector normal, float distance, SLayerMask layerMask=null)

SPhysicsHit[] SphereCast (SVector origin, float radius, float distance, SVector direction, SLayerMask layerMask=null) SPhysicsHit[] SphereCast (SVector origin, float radius, float distance, SLayerMask layerMask=null)

SPhysicsHit[] CapsuleCast (SVector origin, SVector end, float radius, float distance, SVector up, SLayerMask layerMask=null) SPhysicsHit[] CapsuleCast (SVector origin, SVector end, float radius, float distance, SLayerMask layerMask=null)

SPhysicsHit[] BoxCast (SVector origin, SVector extents, SVector direction, SQuaternion orientation, float distance, SLayerMask layerMask=null)

SVector Gravity get set

origin

SVector

normal

SVector

distance

SVector

SPhysicsHit
SVector
SVector
SLayerMask
SPhysicsHit
SVector
SVector
SLayerMask
SPhysicsHit
SVector
SVector
SLayerMask
SPhysicsHit
SVector
SLayerMask
SPhysicsHit
SVector
SVector
SVector
SPhysicsHit
SVector
SVector
SLayerMask
SPhysicsHit
SVector
SVector
SVector
SQuaternion
SLayerMask
SVector
UseGravity

layerMask

tableSPhysicsHit = Space.Physics.RayCast(Vector.New(0,0,0), Vector.New(1,0,0), 2.0)
local trans=Space.Host.ExecutingObject
function Raycast()
    local rays = Space.Physics.RayCast(trans.WorldPosition,trans.Forward,50)
    if(rays~=nil and #rays>0) then
for i=0,#rays - 1 do
    Space.Log(rays[i].Object.Name.." i = "..i)
end
    end
end
trans.OnUpdate(Raycast)
SPhysicsHit = Space.Physics.RayCastSingle(Vector.New(0,0,0), Vector.New(1,0,0), 2.0)
local trans=Space.Host.ExecutingObject
function RaycastSingle()
    local ray=Space.Physics.RayCastSingle(trans.WorldPosition,trans.Forward,50)
    if(ray~=nil and ray.ContainsHit==true) then
Space.Log(ray.Object.Name)     end
end
trans.OnUpdate(RaycastSingle)
 --this script will make this object jump to wherever you right click
--(Example: moving objects with right click )

thisGameObject = Space.Host.ExecutingObject


OnUpdate = function()
  if Space.Input.GetMouseDown(1) then
   clickRay = Space.Camera.ScreenCoordinatesToRay(Space.Input.MousePosition)
  rayCastHit = Space.Physics.RayCastSingle(clickRay.Origin, clickRay.Direction, 50.0)
  thisGameObject.WorldPosition = rayCastHit.Position
  end
end

thisGameObject.SubscribeToEvents()
thisGameObject.OnUpdate(OnUpdate)  
tableSPhysicsHit = Space.Physics.SphereCast(Vector.New(0,0,0), 3.0, 2.0, Vector.New(1,0,0))
--or
tableSPhysicsHit = Space.Physics.SphereCast(Vector.New(0,0,0), 3.0, 2.0)
local trans=Space.Host.ExecutingObject
function SphereRaycast()
    local center=trans.WorldPosition + Vector.New(0.5,0.5,0.5)
    local rays=Space.Physics.SphereCast(center,10,10,trans.Forward)
    if rays~=nil and #rays>0 then
for i=0,#rays - 1 do
    Space.Log(rays[i].Object.Name.." i = "..i)
end
    end
end
trans.OnUpdate(SphereRaycast)
tableSPhysicsHit = Space.Physics.CapsuleCast(Vector.New(0,0,0),Vector.New(0,5,0), 3.0, 2.0, Vector.New(1,0,0))
--or
tableSPhysicsHit = Space.Physics.CapsuleCast(Vector.New(0,0,0),Vector.New(0,5,0), 3.0, 2.0)
local trans=Space.Host.ExecutingObject
function CapsuleCast()
    local startp=trans.WorldPosition
    local endp=startp+trans.Up*10
    local rays=Space.Physics.CapsuleCast(startp,endp,1,10,trans.Up)
    if rays~=nil and #rays>0 then
for i=0,#rays - 1 do
    Space.Log(rays[i].Object.Name.." i = "..i)
end
    end
end
trans.OnUpdate(CapsuleCast)
tableSPhysicsHit = Space.Physics.BoxCast(Vector.New(0,0,0),Vector.New(1,1,1), Vector.New(0,1,0), Quaternion.New(0,60,0), 10.0)
local trans=Space.Host.ExecutingObject
function BoxCast()
    local center=trans.WorldPosition + Vector.New(0.5,0.5,0.5)
    local endp=local extents=Vector.new(2,2,2)
    local rays=Space.Physics.BoxCast(center,extents,trans.Forward,Quaternion.Identity,2)
    if rays~=nil and #rays>0 then
for i=0,#rays - 1 do
    Space.Log(rays[i].Object.Name.." i = "..i)
end
    end
end
trans.OnUpdate(BoxCast)
Space.Physics.Gravity = Vector.New(0,-1.0,0)