sm.areaTrigger

An area trigger is an invisible collider in the world that can trigger events when objects move in or out of it. This allows the script to, for instance, detect when a character enters a door, or count the number of shapes there are in a room.

Example usage:

function MyClass.server_onCreate( self )
    local size = sm.vec3.new( 1, 1, 1 )
    local position = self.shape:getWorldPosition()

    self.myArea = sm.areaTrigger.createBox( size, position )
    self.myArea:bindOnEnter( "onEnter" )
end

function MyClass.onEnter( self, trigger, results )
    for i, object in ipairs( results ) do
        print( object, "just entered" )
    end
end

Example with a filter:

function MyClass.server_onCreate( self )
    local size = sm.vec3.new( 10, 10, 5 )
    local position = sm.vec3.new( 50, 40, 30 )

    -- Only detect characters
    local filter = sm.areaTrigger.filter.character

    self.myArea = sm.areaTrigger.createBox( size, position, filter )
    self.myArea:bindOnStay( "onStay" )
end

-- Callback receives a list of characters
function MyClass.onStay( self, trigger, results )
    if #results > 0 then
        print( "Intruder alert!" )
    end
end

Constants

Name Type Description
areaTriggerProxyType table The area trigger proxy type list.
filter table The filter type list.
liquidType table The liquid type list.

areaTriggerProxyType

Value type: table

Defines special area trigger features:

  • default – Nothing special.
  • water – Buoyancy applied to colliding objects.
  • interactable – Can be interacted with if implementing bindCanInteract, bindOnInteract, bindCanErase and bindOnDestroy.
  • ladder – Attach colliding players to the trigger.
  • melee – Can react to melee attack callbacks if implementing bindOnMelee.
{
    default      = 0,
    water        = 1,
    interactable = 2,
    ladder       = 3,
}

filter

Value type: table

Filters are used to specify what object types an area trigger is able to detect. If an area trigger is created with a filter, it will only react to objects of that type. Filters can be combined by adding them.

The filters are:

  • dynamicBody – Detects bodies that are free to move around in the world.
  • staticBody – Detects bodies that are built on the ground or on the lift.
  • character – Detects characters such as players.
  • areatrigger – Detects areatriggers such as water areas.
  • harvestable – Detects harvestables such as planted objects.
  • lift – Detects lifts.
  • voxelTerrain – Detects destructible terrain.
  • all – Detects all of the object types above. (Default)
{
    dynamicBody  = 1,
    staticBody   = 2,
    character    = 4,
    areatrigger  = 8,
    harvestable  = 512,
    lift         = 1024,
    voxelTerrain = 32768,
    all          = 34319,
}

liquidType

Value type: table

Defines the liquid type of an area trigger.

Only has an effect on area triggers with the water proxy type; setting it on any other proxy type has no effect.

Currently only lava has special behavior.

  • water – Water. The default. No special behavior beyond the water proxy buoyancy.
  • chemical – Chemical. No special behavior beyond the water proxy buoyancy.
  • oil – Oil. No special behavior beyond the water proxy buoyancy.
  • lava – Lava. Occasionally destroys submerged shapes. Requires AreaTrigger: setIncludeShapesInContent.

Functions

createAttachedBox - Character

sm.areaTrigger.createAttachedBox(
    character,
    dimension,
    position,
    rotation,
    filter,
    userdata,
    areaTriggerProxyType,
    boneName
)

Creates an area trigger box with a given size that stays attached to an Character

If a filter is specified, the trigger area will only be able to detects objects of that certain type. See sm.areaTrigger.filter for more information about filters.

Parameters:

Name Type Description
character Character The host character.
dimension Vec3 The size of the box
position (optional) Vec3 The position offset (Defaults to sm.vec3.zero)
rotation (optional) Quat The rotation offset (Defaults to sm.quat.identity)
filter (optional) integer The object types the area trigger may detect. (See sm.areaTrigger.filter). (Defaults to sm.areaTrigger.filter.all)
userdata (optional) table An optional table of user data
areaTriggerProxyType (optional) integer The proxy type of the area trigger. (See sm.areaTrigger.areaTriggerProxyType) (Defaults to sm.areaTrigger.areaTriggerProxyType.default)
boneName (optional) string The bone name of the character to attach the area trigger to. (optional)

Returns:

Type Description
AreaTrigger The created area trigger.

createAttachedBox - Harvestable

sm.areaTrigger.createAttachedBox(
    harvestable,
    dimension,
    position,
    rotation,
    filter,
    userdata,
    areaTriggerProxyType
)

Creates an area trigger box with a given size that stays attached to an Harvestable

If a filter is specified, the trigger area will only be able to detects objects of that certain type. See sm.areaTrigger.filter for more information about filters.

Parameters:

Name Type Description
harvestable Harvestable The host harvestable.
dimension Vec3 The size of the box
position (optional) Vec3 The position offset (Defaults to sm.vec3.zero)
rotation (optional) Quat The rotation offset (Defaults to sm.quat.identity)
filter (optional) integer The object types the area trigger may detect. (See sm.areaTrigger.filter). (Defaults to sm.areaTrigger.filter.all)
userdata (optional) table An optional table of user data
areaTriggerProxyType (optional) integer The proxy type of the area trigger. (See sm.areaTrigger.areaTriggerProxyType) (Defaults to sm.areaTrigger.areaTriggerProxyType.default)

Returns:

Type Description
AreaTrigger The created area trigger.

createAttachedBox - Shape

sm.areaTrigger.createAttachedBox(
    shape,
    dimension,
    position,
    rotation,
    filter,
    userdata,
    areaTriggerProxyType,
    boneName
)

Creates an area trigger box with a given size that stays attached to an Shape

If a filter is specified, the trigger area will only be able to detects objects of that certain type. See sm.areaTrigger.filter for more information about filters.

Parameters:

Name Type Description
shape Shape The host shape
dimension Vec3 The size of the box
position (optional) Vec3 The position offset (Defaults to sm.vec3.zero)
rotation (optional) Quat The rotation offset (Defaults to sm.quat.identity)
filter (optional) integer The object types the area trigger may detect. (See sm.areaTrigger.filter). (Defaults to sm.areaTrigger.filter.all)
userdata (optional) table An optional table of user data
areaTriggerProxyType (optional) integer The proxy type of the area trigger. (See sm.areaTrigger.areaTriggerProxyType) (Defaults to sm.areaTrigger.areaTriggerProxyType.default)
boneName (optional) string The bone name of the shape to attach the area trigger to. (optional)

Returns:

Type Description
AreaTrigger The created area trigger.

createAttachedBox - Interactable

sm.areaTrigger.createAttachedBox(
    interactable,
    dimension,
    position,
    rotation,
    filter,
    userdata,
    areaTriggerProxyType,
    boneName
)

Creates an area trigger box with a given size that stays attached to an Interactable

If a filter is specified, the trigger area will only be able to detects objects of that certain type. See sm.areaTrigger.filter for more information about filters.

Parameters:

Name Type Description
interactable Interactable The host interactable
dimension Vec3 The size of the box
position (optional) Vec3 The position offset (Defaults to sm.vec3.zero)
rotation (optional) Quat The rotation offset (Defaults to sm.quat.identity)
filter (optional) integer The object types the area trigger may detect. (See sm.areaTrigger.filter). (Defaults to sm.areaTrigger.filter.all)
userdata (optional) table An optional table of user data
areaTriggerProxyType (optional) integer The proxy type of the area trigger. (See sm.areaTrigger.areaTriggerProxyType) (Defaults to sm.areaTrigger.areaTriggerProxyType.default)
boneName (optional) string The bone name of the interactable to attach the area trigger to. (optional)

Returns:

Type Description
AreaTrigger The created area trigger.

createAttachedCylinder - Character

sm.areaTrigger.createAttachedCylinder(
    character,
    radius,
    halfLength,
    position,
    rotation,
    filter,
    userdata,
    areaTriggerProxyType,
    boneName
)

Creates an area trigger cylinder with a given size that stays attached to a Character

If a filter is specified, the trigger area will only be able to detects objects of that certain type. See sm.areaTrigger.filter for more information about filters.

Parameters:

Name Type Description
character Character The host character.
radius number The radius of the cylinder.
halfLength number The lengthwise extent of the cylinder (i.e. half the length of the cylinder).
position (optional) Vec3 The position offset (Defaults to sm.vec3.zero)
rotation (optional) Quat The rotation offset (Defaults to sm.quat.identity)
filter (optional) integer The object types the area trigger may detect. (See sm.areaTrigger.filter). (Defaults to sm.areaTrigger.filter.all)
userdata (optional) table An optional table of user data
areaTriggerProxyType (optional) integer The proxy type of the area trigger. (See sm.areaTrigger.areaTriggerProxyType) (Defaults to sm.areaTrigger.areaTriggerProxyType.default)
boneName (optional) string The bone name of the character to attach the area trigger to. (optional)

Returns:

Type Description
AreaTrigger The created area trigger.

createAttachedCylinder - Harvestable

sm.areaTrigger.createAttachedCylinder(
    harvestable,
    radius,
    halfLength,
    position,
    rotation,
    filter,
    userdata,
    areaTriggerProxyType
)

Creates an area trigger cylinder with a given size that stays attached to an Harvestable

If a filter is specified, the trigger area will only be able to detects objects of that certain type. See sm.areaTrigger.filter for more information about filters.

Parameters:

Name Type Description
harvestable Harvestable The host harvestable.
radius number The radius of the cylinder.
halfLength number The lengthwise extent of the cylinder (i.e. half the length of the cylinder).
position (optional) Vec3 The position offset (Defaults to sm.vec3.zero)
rotation (optional) Quat The rotation offset (Defaults to sm.quat.identity)
filter (optional) integer The object types the area trigger may detect. (See sm.areaTrigger.filter). (Defaults to sm.areaTrigger.filter.all)
userdata (optional) table An optional table of user data
areaTriggerProxyType (optional) integer The proxy type of the area trigger. (See sm.areaTrigger.areaTriggerProxyType) (Defaults to sm.areaTrigger.areaTriggerProxyType.default)

Returns:

Type Description
AreaTrigger The created area trigger.

createAttachedCylinder - Shape

sm.areaTrigger.createAttachedCylinder(
    shape,
    radius,
    halfLength,
    position,
    rotation,
    filter,
    userdata,
    areaTriggerProxyType,
    boneName
)

Creates an area trigger cylinder with a given size that stays attached to an Shape

If a filter is specified, the trigger area will only be able to detects objects of that certain type. See sm.areaTrigger.filter for more information about filters.

Parameters:

Name Type Description
shape Shape The host shape
radius number The radius of the cylinder.
halfLength number The lengthwise extent of the cylinder (i.e. half the length of the cylinder).
position (optional) Vec3 The position offset (Defaults to sm.vec3.zero)
rotation (optional) Quat The rotation offset (Defaults to sm.quat.identity)
filter (optional) integer The object types the area trigger may detect. (See sm.areaTrigger.filter). (Defaults to sm.areaTrigger.filter.all)
userdata (optional) table An optional table of user data
areaTriggerProxyType (optional) integer The proxy type of the area trigger. (See sm.areaTrigger.areaTriggerProxyType) (Defaults to sm.areaTrigger.areaTriggerProxyType.default)
boneName (optional) string The bone name of the shape to attach the area trigger to. (optional)

Returns:

Type Description
AreaTrigger The created area trigger.

createAttachedCylinder - Interactable

sm.areaTrigger.createAttachedCylinder(
    interactable,
    radius,
    halfLength,
    position,
    rotation,
    filter,
    userdata,
    areaTriggerProxyType,
    boneName
)

Creates an area trigger cylinder with a given size that stays attached to an Interactable

If a filter is specified, the trigger area will only be able to detects objects of that certain type. See sm.areaTrigger.filter for more information about filters.

Parameters:

Name Type Description
interactable Interactable The host interactable
radius number The radius of the cylinder.
halfLength number The lengthwise extent of the cylinder (i.e. half the length of the cylinder).
position (optional) Vec3 The position offset (Defaults to sm.vec3.zero)
rotation (optional) Quat The rotation offset (Defaults to sm.quat.identity)
filter (optional) integer The object types the area trigger may detect. (See sm.areaTrigger.filter). (Defaults to sm.areaTrigger.filter.all)
userdata (optional) table An optional table of user data
areaTriggerProxyType (optional) integer The proxy type of the area trigger. (See sm.areaTrigger.areaTriggerProxyType) (Defaults to sm.areaTrigger.areaTriggerProxyType.default)
boneName (optional) string The bone name of the interactable to attach the area trigger to. (optional)

Returns:

Type Description
AreaTrigger The created area trigger.

createAttachedHull - Character

sm.areaTrigger.createAttachedHull(
    character,
    hull,
    position,
    rotation,
    filter,
    userdata,
    areaTriggerProxyType,
    boneName
)

Creates an area trigger hull with a given size that stays attached to a Character

If a filter is specified, the trigger area will only be able to detects objects of that certain type. See sm.areaTrigger.filter for more information about filters.

Parameters:

Name Type Description
character Character The host character.
hull string The path to the hull file.
position (optional) Vec3 The position offset (Defaults to sm.vec3.zero)
rotation (optional) Quat The rotation offset (Defaults to sm.quat.identity)
filter (optional) integer The object types the area trigger may detect. (See sm.areaTrigger.filter). (Defaults to sm.areaTrigger.filter.all)
userdata (optional) table An optional table of user data
areaTriggerProxyType (optional) integer The proxy type of the area trigger. (See sm.areaTrigger.areaTriggerProxyType) (Defaults to sm.areaTrigger.areaTriggerProxyType.default)
boneName (optional) string The bone name of the character to attach the area trigger to. (optional)

Returns:

Type Description
AreaTrigger The created area trigger.

createAttachedHull - Harvestable

sm.areaTrigger.createAttachedHull(
    harvestable,
    hull,
    position,
    rotation,
    filter,
    userdata,
    areaTriggerProxyType
)

Creates an area trigger hull with a given size that stays attached to an Harvestable

If a filter is specified, the trigger area will only be able to detects objects of that certain type. See sm.areaTrigger.filter for more information about filters.

Parameters:

Name Type Description
harvestable Harvestable The host harvestable.
hull string The path to the hull file.
position (optional) Vec3 The position offset (Defaults to sm.vec3.zero)
rotation (optional) Quat The rotation offset (Defaults to sm.quat.identity)
filter (optional) integer The object types the area trigger may detect. (See sm.areaTrigger.filter). (Defaults to sm.areaTrigger.filter.all)
userdata (optional) table An optional table of user data
areaTriggerProxyType (optional) integer The proxy type of the area trigger. (See sm.areaTrigger.areaTriggerProxyType) (Defaults to sm.areaTrigger.areaTriggerProxyType.default)

Returns:

Type Description
AreaTrigger The created area trigger.

createAttachedHull - Shape

sm.areaTrigger.createAttachedHull(
    shape,
    hull,
    position,
    rotation,
    filter,
    userdata,
    areaTriggerProxyType,
    boneName
)

Creates an area trigger hull with a given size that stays attached to an Shape

If a filter is specified, the trigger area will only be able to detects objects of that certain type. See sm.areaTrigger.filter for more information about filters.

Parameters:

Name Type Description
shape Shape The host shape
hull string The path to the hull file.
position (optional) Vec3 The position offset (Defaults to sm.vec3.zero)
rotation (optional) Quat The rotation offset (Defaults to sm.quat.identity)
filter (optional) integer The object types the area trigger may detect. (See sm.areaTrigger.filter). (Defaults to sm.areaTrigger.filter.all)
userdata (optional) table An optional table of user data
areaTriggerProxyType (optional) integer The proxy type of the area trigger. (See sm.areaTrigger.areaTriggerProxyType) (Defaults to sm.areaTrigger.areaTriggerProxyType.default)
boneName (optional) string The bone name of the shape to attach the area trigger to. (optional)

Returns:

Type Description
AreaTrigger The created area trigger.

createAttachedHull - Interactable

sm.areaTrigger.createAttachedHull(
    interactable,
    hull,
    position,
    rotation,
    filter,
    userdata,
    areaTriggerProxyType,
    boneName
)

Creates an area trigger hull with a given size that stays attached to an Interactable

If a filter is specified, the trigger area will only be able to detects objects of that certain type. See sm.areaTrigger.filter for more information about filters.

Parameters:

Name Type Description
interactable Interactable The host interactable
hull string The path to the hull file.
position (optional) Vec3 The position offset (Defaults to sm.vec3.zero)
rotation (optional) Quat The rotation offset (Defaults to sm.quat.identity)
filter (optional) integer The object types the area trigger may detect. (See sm.areaTrigger.filter). (Defaults to sm.areaTrigger.filter.all)
userdata (optional) table An optional table of user data
areaTriggerProxyType (optional) integer The proxy type of the area trigger. (See sm.areaTrigger.areaTriggerProxyType) (Defaults to sm.areaTrigger.areaTriggerProxyType.default)
boneName (optional) string The bone name of the interactable to attach the area trigger to. (optional)

Returns:

Type Description
AreaTrigger The created area trigger.

createAttachedSphere - Character

sm.areaTrigger.createAttachedSphere(
    character,
    radius,
    position,
    rotation,
    filter,
    userdata,
    areaTriggerProxyType,
    boneName
)

Creates an area trigger sphere with a given size that stays attached to a Character

If a filter is specified, the trigger area will only be able to detects objects of that certain type. See sm.areaTrigger.filter for more information about filters.

Parameters:

Name Type Description
character Character The host character.
radius number The radius of the sphere.
position (optional) Vec3 The position offset (Defaults to sm.vec3.zero)
rotation (optional) Quat The rotation offset (Defaults to sm.quat.identity)
filter (optional) integer The object types the area trigger may detect. (See sm.areaTrigger.filter). (Defaults to sm.areaTrigger.filter.all)
userdata (optional) table An optional table of user data
areaTriggerProxyType (optional) integer The proxy type of the area trigger. (See sm.areaTrigger.areaTriggerProxyType) (Defaults to sm.areaTrigger.areaTriggerProxyType.default)
boneName (optional) string The bone name of the character to attach the area trigger to. (optional)

Returns:

Type Description
AreaTrigger The created area trigger.

createAttachedSphere - Harvestable

sm.areaTrigger.createAttachedSphere(
    harvestable,
    radius,
    position,
    rotation,
    filter,
    userdata,
    areaTriggerProxyType
)

Creates an area trigger sphere with a given size that stays attached to an Harvestable

If a filter is specified, the trigger area will only be able to detects objects of that certain type. See sm.areaTrigger.filter for more information about filters.

Parameters:

Name Type Description
harvestable Harvestable The host harvestable.
radius number The radius of the sphere.
position (optional) Vec3 The position offset (Defaults to sm.vec3.zero)
rotation (optional) Quat The rotation offset (Defaults to sm.quat.identity)
filter (optional) integer The object types the area trigger may detect. (See sm.areaTrigger.filter). (Defaults to sm.areaTrigger.filter.all)
userdata (optional) table An optional table of user data
areaTriggerProxyType (optional) integer The proxy type of the area trigger. (See sm.areaTrigger.areaTriggerProxyType) (Defaults to sm.areaTrigger.areaTriggerProxyType.default)

Returns:

Type Description
AreaTrigger The created area trigger.

createAttachedSphere - Shape

sm.areaTrigger.createAttachedSphere(
    shape,
    radius,
    position,
    rotation,
    filter,
    userdata,
    areaTriggerProxyType,
    boneName
)

Creates an area trigger sphere with a given size that stays attached to an Shape

If a filter is specified, the trigger area will only be able to detects objects of that certain type. See sm.areaTrigger.filter for more information about filters.

Parameters:

Name Type Description
shape Shape The host shape
radius number The radius of the sphere.
position (optional) Vec3 The position offset (Defaults to sm.vec3.zero)
rotation (optional) Quat The rotation offset (Defaults to sm.quat.identity)
filter (optional) integer The object types the area trigger may detect. (See sm.areaTrigger.filter). (Defaults to sm.areaTrigger.filter.all)
userdata (optional) table An optional table of user data
areaTriggerProxyType (optional) integer The proxy type of the area trigger. (See sm.areaTrigger.areaTriggerProxyType) (Defaults to sm.areaTrigger.areaTriggerProxyType.default)
boneName (optional) string The bone name of the shape to attach the area trigger to. (optional)

Returns:

Type Description
AreaTrigger The created area trigger.

createAttachedSphere - Interactable

sm.areaTrigger.createAttachedSphere(
    interactable,
    radius,
    position,
    rotation,
    filter,
    userdata,
    areaTriggerProxyType,
    boneName
)

Creates an area trigger sphere with a given size that stays attached to an Interactable

If a filter is specified, the trigger area will only be able to detects objects of that certain type. See sm.areaTrigger.filter for more information about filters.

Parameters:

Name Type Description
interactable Interactable The host interactable
radius number The radius of the sphere.
position (optional) Vec3 The position offset (Defaults to sm.vec3.zero)
rotation (optional) Quat The rotation offset (Defaults to sm.quat.identity)
filter (optional) integer The object types the area trigger may detect. (See sm.areaTrigger.filter). (Defaults to sm.areaTrigger.filter.all)
userdata (optional) table An optional table of user data
areaTriggerProxyType (optional) integer The proxy type of the area trigger. (See sm.areaTrigger.areaTriggerProxyType) (Defaults to sm.areaTrigger.areaTriggerProxyType.default)
boneName (optional) string The bone name of the interactable to attach the area trigger to. (optional)

Returns:

Type Description
AreaTrigger The created area trigger.

createBox

sm.areaTrigger.createBox(
    dimension,
    position,
    rotation,
    filter,
    userdata,
    world,
    areaTriggerProxyType
)

Creates a new box area trigger at a given position with a given size.

If a filter is specified, the trigger area will only be able to detects objects of that certain type. See sm.areaTrigger.filter for more information about filters.

Parameters:

Name Type Description
dimension Vec3 The dimensions of the box.
position Vec3 The world position.
rotation (optional) Quat The world rotation. (Defaults to sm.quat.identity)
filter (optional) integer The object types the area trigger may detect. (See sm.areaTrigger.filter). (Defaults to sm.areaTrigger.filter.all)
userdata (optional) table An optional table of user data
world (optional) World The world to create the area trigger in. (optional)
areaTriggerProxyType (optional) integer The proxy type of the area trigger. (See sm.areaTrigger.areaTriggerProxyType) (Defaults to sm.areaTrigger.areaTriggerProxyType.default)

Returns:

Type Description
AreaTrigger The created area trigger.

createBoxWater

sm.areaTrigger.createBoxWater(
    dimension,
    position,
    rotation,
    filter,
    userdata
)

Deprecated: use sm.areaTrigger.createBox with sm.areaTrigger.areaTriggerProxyType instead.

Creates a new box area trigger that represent water ie. certain objects cant be placed in it.

If a filter is specified, the trigger area will only be able to detects objects of that certain type. See sm.areaTrigger.filter for more information about filters.

Parameters:

Name Type Description
dimension Vec3 The dimensions of the box.
position Vec3 The world position.
rotation (optional) Quat The world rotation. (Defaults to sm.quat.identity)
filter (optional) integer The object types the area trigger may detect. (See sm.areaTrigger.filter). (Defaults to sm.areaTrigger.filter.all)
userdata (optional) table An optional table of user data

Returns:

Type Description
AreaTrigger The created area trigger.

createCylinder

sm.areaTrigger.createCylinder(
    radius,
    halfLength,
    position,
    rotation,
    filter,
    userdata,
    world,
    areaTriggerProxyType
)

Creates a new cylinder area trigger at a given position with a given size.

If a filter is specified, the trigger area will only be able to detects objects of that certain type. See sm.areaTrigger.filter for more information about filters.

Parameters:

Name Type Description
radius number The radius of the cylinder.
halfLength number The lengthwise extent of the cylinder (i.e. half the length of the cylinder).
position Vec3 The world position.
rotation (optional) Quat The world rotation. (Defaults to sm.quat.identity)
filter (optional) integer The object types the area trigger may detect. (See sm.areaTrigger.filter). (Defaults to sm.areaTrigger.filter.all)
userdata (optional) table An optional table of user data
world (optional) World The world to create the area trigger in. (optional)
areaTriggerProxyType (optional) integer The proxy type of the area trigger. (See sm.areaTrigger.areaTriggerProxyType) (Defaults to sm.areaTrigger.areaTriggerProxyType.default)

Returns:

Type Description
AreaTrigger The created area trigger.

createHull

sm.areaTrigger.createHull(
    hull,
    position,
    rotation,
    filter,
    userdata,
    world,
    areaTriggerProxyType
)

Creates a new hull area trigger at a given position with a given size.

If a filter is specified, the trigger area will only be able to detects objects of that certain type. See sm.areaTrigger.filter for more information about filters.

Parameters:

Name Type Description
hull string The path to the hull file.
position Vec3 The world position.
rotation (optional) Quat The world rotation. (Defaults to sm.quat.identity)
filter (optional) integer The object types the area trigger may detect. (See sm.areaTrigger.filter). (Defaults to sm.areaTrigger.filter.all)
userdata (optional) table An optional table of user data
world (optional) World The world to create the area trigger in. (optional)
areaTriggerProxyType (optional) integer The proxy type of the area trigger. (See sm.areaTrigger.areaTriggerProxyType) (Defaults to sm.areaTrigger.areaTriggerProxyType.default)

Returns:

Type Description
AreaTrigger The created area trigger.

createSphere

sm.areaTrigger.createSphere(
    radius,
    position,
    rotation,
    filter,
    userdata,
    world,
    areaTriggerProxyType
)

Creates a new sphere area trigger at a given position with a given size.

If a filter is specified, the trigger area will only be able to detects objects of that certain type. See sm.areaTrigger.filter for more information about filters.

Parameters:

Name Type Description
radius number The radius of the sphere.
position Vec3 The world position.
rotation (optional) Quat The world rotation. (Defaults to sm.quat.identity)
filter (optional) integer The object types the area trigger may detect. (See sm.areaTrigger.filter). (Defaults to sm.areaTrigger.filter.all)
userdata (optional) table An optional table of user data
world (optional) World The world to create the area trigger in. (optional)
areaTriggerProxyType (optional) integer The proxy type of the area trigger. (See sm.areaTrigger.areaTriggerProxyType) (Defaults to sm.areaTrigger.areaTriggerProxyType.default)

Returns:

Type Description
AreaTrigger The created area trigger.