Lens Scripting API

    Class FaceMaskVisual

    Maps a 2D texture to the user's face.

    The texture appears to be painted on user's skin and contorts with facial movements. Great for full face masks but also can be used for realistic makeup.

    Face Mask guide.

    // Run this in the "Frame Updated" event to switch between drawn faces twice a second
    // Make sure "Use Orig. Face" is enabled on the FaceMask

    //@input Component.FaceMaskVisual faceMask
    //@input Component.Head head

    var numFaces = script.head.getFacesCount();
    script.faceMask.originalFaceIndex = Math.floor(getTime() * 2.0) % numFaces;

    Hierarchy (View Summary, Expand)

    Index

    Constructors

    Properties

    customMaskOnMouthClosed: Texture

    A custom mask that will be shown when the detected face's mouth is closed.

    enabled: boolean

    If disabled, the Component will stop enacting its behavior.

    extentsTarget: ScreenTransform

    When a ScreenTransform is present on this SceneObject, and extentsTarget is a child of this SceneObject, extentsTarget will be repositioned to match the exact area this MeshVisual is being rendered. Very useful for Image and Text components.

    faceIndex: number

    The index of the face this effect is attached to.

    hidesMaskOnMouthClosed: boolean

    Whether to hide the opacity mask when the detected face's mouth is closed.

    horizontalAlignment: HorizontalAlignment

    When a ScreenTransform is attached to the same SceneObject, this controls how the mesh will be positioned horizontally depending on stretchMode.

    mainMaterial: Material

    Returns the first Material.

    mainPass: Pass

    Returns the mainPass of the mainMaterial.

    mainPassOverrides: any
    materials: Material[]

    Get the array of materials used by the MaterialMeshVisual.

    meshShadowMode: MeshShadowMode

    None = 0, Caster = 1, Receiver = 2

    originalFaceIndex: number

    If "Use Orig. Face" is enabled for this FaceMaskVisual in the Inspector panel, this property specifies the face index to use for drawing the mask.

    propertyOverrides: PropertyOverrides
    sceneObject: SceneObject

    The scene object this component is on.

    shadowColor: vec4

    Affects the color of shadows being cast by this MeshVisual. The color of the cast shadow is a mix between shadowColor and the material's base texture color. The alpha value of shadowColor controls the mixing of these two colors, with 0 = shadowColor and 1 = shadowColor * textureColor.

    shadowDensity: number

    Density of shadows cast by this MeshVisual.

    stretchMode: StretchMode

    When a ScreenTransform is attached to the same SceneObject, this controls how the mesh will be stretched relative to the ScreenTransform's boundaries.

    swapsMaskOnMouthClosed: boolean

    Whether to swap the opacity mask when the detected face's mouth is closed.

    teethAlpha: number
    uniqueIdentifier: string
    useOriginalTexCoords: boolean
    verticalAlignment: VerticalAlignment

    When a ScreenTransform is attached to the same SceneObject, this controls how the mesh will be positioned vertically depending on stretchMode.

    Methods

    • Returns true if the object matches or derives from the passed in type.

      Parameters

      • type: string

      Returns boolean

    • Sets the order of this Visual in the render queue.

      Parameters

      • value: number

      Returns void

    • Projects screen positions from camera's view onto the mesh's UVs. If the MeshVisual's material uses the same texture as the camera input, the MeshVisual will look identical to the part of the screen it covers.

      Parameters

      Returns void

    MMNEPVFCICPMFPCPTTAAATR