Preparing search index...

    Class FaceCropTextureProvider

    Texture Provider giving a cropped region of the input texture, calculated based on face position. Can be accessed using Texture.control on a FaceCropTexture asset. For more information, see the Crop Textures guide.

    //@input Asset.Texture faceCropTexture
    //@input Asset.Texture deviceCameraTexture

    var cropProvider = script.faceCropTexture.control;
    cropProvider.inputTexture = script.deviceCameraTexture;
    cropProvider.faceIndex = 0;
    cropProvider.textureScale = new vec2(1.25, 1.25);
    cropProvider.faceCenterMouthWeight = 0.0;

    Hierarchy (View Summary)

    Index

    Properties

    faceCenterMouthWeight: number

    Ratio of the mouth position on the cropped texture. Value ranges from 0 to 1, with 0 having no effect and 1 centering the image on the mouth.

    0.1
    
    faceIndex: number

    Index of the face being tracked.

    0
    
    inputTexture: Texture

    Input texture to crop.

    null
    
    textureScale: vec2

    Scaling of the cropped texture.

    (1, 1)
    

    The tracking context this effect is being applied to.

    Lens Scripting Version 309

    null
    
    trackingStatus: TrackingStatus

    Access to the TrackingStatus for this Texture. Can be used to check if tracking is available and subscribe to events for status changes. Subscribing to events on TrackingStatus will also trigger the Texture to request tracking even if it is not otherwise being used in the Scene.

    Methods

    • Returns a new copy of this FaceCropTextureProvider. Useful for keeping crop settings while assigning a different TrackingScope for instance.

      Returns FaceCropTextureProvider

      Lens Scripting Version 328

    • Returns a Promise that resolves once this Provider has finished loading its resource.

      Returns Promise<void>

      If the Provider is already loaded when ensureLoaded() is called, the returned Promise resolves immediately. Otherwise it resolves once loading completes.

      Completion is determined by the Provider's load status (see Provider.getLoadStatus). Some Providers only become loaded once supporting runtime data is available — for example, a Provider whose resource depends on tracking will not report loaded until the relevant tracking data has arrived — so the returned Promise stays pending until that data is produced.

      This method is useful when Lens script needs to await a Provider before reading its data — for example, waiting for a remote-asset Provider to finish downloading before sampling it.

      Lens Scripting Version 370

      Fetch a Texture at runtime via RemoteMediaModule and wait for its Provider to finish loading before using it:

      const internetModule = require("LensStudio:InternetModule");
      const remoteMediaModule = require("LensStudio:RemoteMediaModule");

      function loadImageTexture(url) {
      const resource = internetModule.makeResourceFromUrl(url);
      return new Promise((resolve, reject) => {
      remoteMediaModule.loadResourceAsImageTexture(resource, resolve, reject);
      });
      }

      const texture = await loadImageTexture("https://example.com/image.png");

      // Wait until the fetched Texture's Provider has finished loading before using it.
      await texture.control.ensureLoaded();
      print("Texture ready, loadStatus: " + texture.control.getLoadStatus());
    • Returns the texture's aspect ratio, which is calculated as width / height.

      Returns number

    • Returns the fully-qualified JavaScript type name for this class (for example, "Component.Camera"). This is a static accessor (no instance required) and returns the same value as the instance getTypeName().

      Returns string

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

      Parameters

      • type: string

      Returns boolean