mask
TypeScriptget mask(): CollisionGroupSwift declarationvar mask: CollisionGroupThe collision group or groups, stored as a bitmask, with which the entity can collide.
struct · iOS 13.0+ · SDK 27.1
struct CollisionFilterA set of masks that determine whether entities can collide during simulations. Use Collision filters in combination with collision groups to define which entities collide with which other entities in a scene. For more information on using collision filters, see ``CollisionGroup``
get mask(): CollisionGroupSwift declarationvar mask: CollisionGroupThe collision group or groups, stored as a bitmask, with which the entity can collide.
set mask(value: CollisionGroup)Swift declarationvar mask: CollisionGroupThe collision group or groups, stored as a bitmask, with which the entity can collide.
static init(group: CollisionGroup, mask: CollisionGroup): CollisionFilterSwift declarationinit(group: CollisionGroup, mask: CollisionGroup)Creates a collision filter. Collision filters are created for the collision group specified in the `group` parameter. The `mask` parameter defines which objects will collide with the objects that use this filter. Because ``CollisionGroup`` conforms to <doc://com.apple.documentation/documentation/swift/optionset>, you can specify any combination of collision groups in the `mask` parameter by using the various <doc://com.apple.documentation/documentation/swift/optionset> methods like ``CollisionGroup/union(_:)``, ``CollisionGroup/subtracting(_:)``, and ``CollisionGroup/intersection(_:)``. Entities from any group contained in `mask` will collide with entities using this filter, while those not contained by `mask` will not. To combine multiple groups into a filter, use the ``CollisionGroup/union(_:)`` method, like this: ```swift let groupA = CollisionGroup(rawValue: 1 << 0) let groupB = CollisionGroup(rawValue: 1 << 1) let groupC = CollisionGroup(rawValue: 1 << 2) // Create a filter that collides with A and C, but not B let theFilter = CollisionFilter(group: groupA, mask: groupA.union(groupB)) ``` A common use case is to want entities to collide with everything except one group, or a few groups. In a game, for example, you might not want a player’s pieces to collide with their own pieces, or you might not want players on the same team to collide with each other. You can accomplish that by starting with the ``CollisionGroup/all`` property, subtracting the group or groups that you don’t want the entities using this filter to collide with, like this: ```swift // Create a filter that collides with everything except B let notGroupB = CollisionGroup.all.subtracting(groupB) ``` - Parameters: - group: The collision group identifier. - mask: The collision mask defines what objects will collide with objects using this filter.
get group(): CollisionGroupSwift declarationvar group: CollisionGroupThe collision group or groups, stored as a bit mask, to which the entity belongs.
set group(value: CollisionGroup)Swift declarationvar group: CollisionGroupThe collision group or groups, stored as a bit mask, to which the entity belongs.
static get sensor(): CollisionFilterSwift declarationstatic let sensor: CollisionFilterA collision filter for an entity that collides with everything. The sensor collision filter is typically used by rays in ray casts, shapes in convex shape casts, and trigger volumes. It corresponds to a ``CollisionFilter/group`` and ``CollisionFilter/mask`` both set to ``CollisionGroup/all``.
static get default(): CollisionFilterSwift declarationstatic let `default`: CollisionFilterThe default collision filter. Entities with a ``CollisionFilter/default`` collision filter have a ``CollisionFilter/group`` of ``CollisionGroup/default`` and a ``CollisionFilter/mask`` of ``CollisionGroup/all``.
No declarations were skipped in this snapshot.