All pages
Powered by GitBook
1 of 1

Loading...

SLayerMask

Index

Functions Index

Function

Properties Index

Property
Description

Functions

SetLayers

void SetLayers (params string[] layerNames) void SetLayers (Table layerNames)

_Function that changes an existing layer mask _

Parameter
Type
Description

AddLayer

void AddLayer (string layerName)

Add a new layer to an existing layer mask.

Parameter
Type
Description

RemoveLayer

void RemoveLayer (string layerName)|

Remove a new layer from an existing layer mask.

Parameter
Type
Description

New

static SLayerMask New (Table layerNames) static SLayerMask New (params string[] layerNames)

Static function that creates a new layer mask

Parameter
Type
Description

Properties

Inverted

bool Inverted get set

Is the mask exclusionary or not.

Layers

string[] Layers get set

The layer names represented in this layer mask

void SetLayers (params string[] layerNames) void SetLayers (Table layerNames)

void AddLayer (string layerName)

void RemoveLayer (string layerName)

Static Functions

static SLayerMask New (Table layerNames) static SLayerMask New (params string[] layerNames)

bool Inverted get set

Is the mask exclusionary or not.

string[] Layers get set

The layer names represented in this layer mask

-- Let's create a new layer mask to filter out other avatars, then overwrite it to be vehicles instead:
local mask = LayerMask.New({"Avatars"});
mask.SetLayers({"Vehicles"});
local hit = Space.Physics.RaycastSingle(Space.Host.ExecutingObject.WorldPosition, Space.Host.ExecutingObject.Forward, 500.0, mask)
-- Let's create a new layer mask to filter out other avatars, then overwrite it to be vehicles instead:
local mask = LayerMask.New("Avatars");
mask.SetLayers("Vehicles");
local hit = Space.Physics.RaycastSingle(Space.Host.ExecutingObject.WorldPosition, Space.Host.ExecutingObject.Forward, 500.0, mask)
local mask = LayerMask.New("Avatars");
mask.AddLayer("Vehicles");
local hit = Space.Physics.RaycastSingle(Space.Host.ExecutingObject.WorldPosition, Space.Host.ExecutingObject.Forward, 500.0, mask)
local mask = LayerMask.New("Avatars");
mask.AddLayer("Vehicles");
local hit = Space.Physics.RaycastSingle(Space.Host.ExecutingObject.WorldPosition, Space.Host.ExecutingObject.Forward, 500.0, mask)
local mask = LayerMask.New("Avatars", "Vehicles", "UI");
mask.RemoveLayer("Vehicles");
local hit = Space.Physics.RaycastSingle(Space.Host.ExecutingObject.WorldPosition, Space.Host.ExecutingObject.Forward, 500.0, mask)
local mask = LayerMask.New("Avatars", "Vehicles", "UI");
mask.RemoveLayer("Vehicles");
local hit = Space.Physics.RaycastSingle(Space.Host.ExecutingObject.WorldPosition, Space.Host.ExecutingObject.Forward, 500.0, mask)
local mask = LayerMask.New({"Avatars", "Vehicles"});
local hit = Space.Physics.RaycastSingle(Space.Host.ExecutingObject.WorldPosition, Space.Host.ExecutingObject.Forward, 500.0, mask)
local mask = LayerMask.New("Avatars");
or
local mask = LayerMask.New("Avatars", "Vehicles", "UI");
local hit = Space.Physics.RaycastSingle(Space.Host.ExecutingObject.WorldPosition, Space.Host.ExecutingObject.Forward, 500.0, mask)
local mask = LayerMask.New("Avatars");
-- Now change it to be an exclusionary mask that gets everything EXCEPT Avatars.'

mask.inverted = true;
local mask = LayerMask.New("Avatars");
-- Get
local layers = mask.Layers;
-- Set
local layers = {"Vehicles", "UI"};

mask.Layers = layers;