API Reference


raycast(origin, dir, maxDist, sortByDistanceopt) → {Array.<ActorRef>}

Performs a raycast, checking which objects the given ray intersects. This returns all hits along the ray, not just the first one, up to the maximum distance given.
Parameters:
Name Type Attributes Default Description
origin THREE.Vector3 The origin of the ray (point in world space).
dir THREE.Vector3 The direction of the ray (vector in world space).
maxDist number The maximum distance to scan. For performance reasons, keep this distance small.
sortByDistance boolean <optional>
false If true, results will be sorted by distance along the ray (doing this is slightly more expensive). If false (default), order is not guaranteed.
Returns:
Array of actors that the ray cast hit. This will never be null (an absence of hits is represented by an empty array). Note that depending on how you built the ray, this MAY include the player actor itself, so check for that.
Type
Array.<ActorRef>
Example
// Image this is a behavior for a handheld magnetic repulsor tool.
// The player carries it around, and wherever it's aimed, it repels
// metal objects out of the way. It's sci-fi. It's totally possible.

export function onTick() {
  // Find all actors that are standing directly in my line of sight,
  // up to a distance of 3 units.
  let actors = raycast(getPos(), getForward(), 6);
  // Find all the ones tagged "made_of_metal", and push them forward.
  for (let actor of actors) {
    if (hasTag("made_of_metal", actor)) {
      push(actor, getForward(20));
    }
  }
}

< All Functions
Transform
Position Get
getPosXgetPosYgetPosZgetPosgetDistanceTogetDistanceBetweengetLocalPosgetSpawnPosselfToWorldPosworldToSelfPosselfToWorldDirworldToSelfDir
Position Set
moveForwardmoveBackwardmoveLeftmoveRightmoveUpmoveDownmovemoveGlobalmoveTowardsetPosXsetPosYsetPosZsetPosXYZsetPossetSpawnPossetLocalPos
Rotation Get
getPointAheadgetPointBehindgetPointAbovegetPointBelowgetPointToRightOfgetPointToLeftOfgetYawgetPitchgetRollgetRotgetLocalRotgetSpawnRotgetForwardgetBackwardgetUpgetDowngetRightgetLeft
Rotation Set
setYawsetPitchsetRollsetYawPitchRollturnspinrotateapplyQuaternionapplyQuaternionSelfsetRotresetRotsetSpawnRotresetSpawnRotsetLocalRotresetLocalRotlookAtlookDirlookTowardlookTowardDir
Scale
getScaleUniformsetScaleUniformgetScalesetScalegrowshrink
Actors
Actors
ActorRefActorRefmyselfdestroySelfexistsgetActorsgetPlayerActorsgetActorsWithTaggetActorWithTaghasTaggetGameRulesActorisOnstageisOffstagegoOffstagegoOnstageisActorInGroupgetActorsInGroupgetActorGroupDescriptiongetClosestActorgetCardTargetActorgetCardTargetActorDescription
Attributes
getDisplayNamesetDisplayNamegetCommentTextsetCommentTextsetVardeleteVargetVar
Cloning
getCloneParentisCloneclone
Properties
propspropNumberpropDecimalpropBooleanpropStringpropActorpropActorGrouppropImagepropSoundpropParticleEffectpropDeckpropColorpropEnumpropCardTargetActorrequireTruerequireFalserequireEqualrequireNotEqualPropOptionsPropDeckOptionsPropDefRequirement
Memory
memcardtempdeclareMemoryUnchangedsaveRotloadRotsaveVecloadVec
Messages
cooldownsendsendDelayedsendToManysendToManyDelayedsendToSelfsendToSelfDelayedsendToAllbroadcastsendToAllDelayedcallDeckcallActionDeckcallEventDeckdeactivateActionDeck
Player
Camera/Lights
CameraSettingssetCameraSettingssetLightclearLightrequestCameraOffset
Hierarchy
Parenting
attachToParentdetachFromParentisAttachedgetParent
Rendering
Visibility
isVisibleshowhide
Body
getBodyPossetBodyPosgetBodyRotsetBodyRotgetBoundsSizegetBoundsRadiusOutergetBoundsRadiusInnergetBoundsRadiusAveragegetBoundsCenter
Color
setTintsetTintColorsetTintHexgetTintgetTintColorgetTintHex
Scene
SkyTypeSceneLightingModesetSkyTypegetSkyTypesetSkyColorgetSkyColorsetSceneLightinggetSceneLighting
Physics
Presets
PhysicsPresetsetPhysicsPresetgetPhysicsPreset
Attributes
setSolidisSolidsetKinematicisKinematicenableGravityisGravityEnabledenableKeepUprightisKeepUprightEnabledsetBouncinesssetMasssetDragsetAngularDrag
Velocity
getVelocityaddVelocitypush
Casting
raycastraycastTerraincastAdvancedCastHitoverlapSpherecheckBoxCastMode
Collisions
onCollisiononTerrainCollision
Player Controls (high level input)
Actions
onJumponPrimaryActiononSecondaryAction
Controls
isGroundedisSprintinggetWorldThrottlegetThrottlegetRawThrottlegetLookAxessetCameraActorgetCameraActorresetCameraActorisPlayerControllablesetIsPlayerControllablesetControllingPlayergetControllingPlayer
Aiming
getAimTargetgetAimOrigingetAimDirectiongetLastAimHitPoint
Low Level Input
Keyboard
keyIsPressedkeyJustPressedkeyJustReleasedonKeyDownonKeyHeldKeyMessageKeyCode
Mouse
hasPlayerInputgetMouseXgetMouseYmouseIsPressedmousePressedmouseJustPressedmouseJustReleasedgetMouseRayOrigingetMouseRayDirgetActorUnderMousegetActorsUnderMousegetTerrainPointUnderMouseonMouseDownonMouseUponMouseHeldonActorClicked
Multiplayer
Players
isInMultiplayerModegetAllPlayersgetLocalPlayergetPlayerByNumbergetPlayerNickNamegetPlayerNumberplayerExistsisMasterPlayerisClaimedgetPlayerControlledActor
Events
onPlayerJoinedonPlayerLeftPlayerJoinedMessagePlayerLeftMessage
User Interface
Tooltips
Widgets
uiTextuiRectuiCircleuiTriangleuiLineuiButtonuiSpriteuiImageuiImageSliceuiGetTextWidthuiGetTextHeightuiGetScreenWidthuiGetScreenHeightuiGetScreenInfoUiColorShapeStyleRectStyleUiShapeOptionsUiSpriteOptionsUiImageOptionsUiButtonOptionsUiTextOptionsUiScreenInfo
Screen
getScreenPointgetScreenSpheregetScreenRect
Terrain
Blocks
BlockShapeBlockDirBlockStylesetBlocksetBlockAtPointgetBlockgetBlockAtPointclearBlockclearBlockAtPointgetBlockCoordsAtPointgetBlockCentergetBlockSize
Walls
Sound
SFX
playSoundtryPlaySoundSounds
Particle Effects
ParticleEffects
spawnParticleEffecttrySpawnParticleEffectParticles
Polite Requests
Requests
setPosPleasesetYawPleasesetPitchPleasesetRollPleasesetYawPitchRollPleaseturnPleaseapplyQuaternionPleaseapplyQuaternionSelfPleasesetRotPleaseresetRotPleaselookAtPleaselookDirPleasesetScaleUniformPleasesetScalePleaseattachToParentPleasedetachFromParentPleasesetVarPleasedeleteVarPleasesetDisplayNamePleasesetCommentTextPleasesetSolidPleasesetKinematicPleaseenableGravityPleaseenableKeepUprightPleasesetBouncinessPleasesetMassPleasesetDragPleasesetAngularDragPleasesetPhysicsPresetPleaseaddVelocityPleasesetCameraActorPleasesetIsPlayerControllablePleasesetControllingPlayerPleasesetBodyPosPleasesetBodyRotPleasesetTintColorPleasesetTintHexPleaseshowPleasehidePlease
Misc
Time
deltaTimegetTimegetTimeSinceResetonTickonLocalTickonOffstageTick
Math
vec3degToRadradToDegrevToRadinterpvec3zerovec3onevec3xvec3yvec3zvec3addvec3addXvec3addYvec3addZvec3withXvec3withYvec3withZvec3subvec3scalevec3addScaledvec3negvec3lengthSqvec3lengthvec3normalizedvec3withLengthvec3toStringvec3equal
Colors
colorFromHexcolorToHex
Game
onResetGameonInitresetGame
Util
toFixedLengthdeepCopyloglogError
(Advanced) Cards
Cards
getCardStatusRuntimeCardStatusgetCardErrorMessageonCardRemoved
Reference
GActionCardGActionMessageGEventGEventCard