Preparing search index...

    Class LocationTextureProvider

    Provides access to a location's texture--such as when working with City Scale AR.

    // @input Asset.Material material

    // This is an example of displaying one tile(center tile which is 0, 0) of nearby area. 9 tiles are supported, including:

    // center tile: LocationAsset.getNearby(0, 0, 0)

    // east tile of center: LocationAsset.getNearby(1, 0, 0)
    // west tile of center: LocationAsset.getNearby(-1, 0, 0)
    // south tile of center: LocationAsset.getNearby(0, 1, 0)
    // north tile of center: LocationAsset.getNearby(0, -1, 0)

    // southEast tile of center: LocationAsset.getNearby(1, 1, 0)
    // southWest tile of center: LocationAsset.getNearby(-1, 1, 0)
    // northEast tile of center: LocationAsset.getNearby(1, -1, 0)
    // northWest tile of center: LocationAsset.getNearby(-1, -1, 0)

    // Get the tile location asset of current position
    var centerTile_0_0 = LocationAsset.getNearby(0, 0, 0);

    // Create a Location Texture
    var locationTexture = LocationTextureProvider.create();
    locationTexture.control.location = centerTile_0_0;

    // Create a Location mesh
    var locationMesh = LocationRenderObjectProvider.create();
    locationMesh.control.location = centerTile_0_0;

    // Create a LocatedAtComponent to put location mesh in correct place
    var centerPin = global.scene.createSceneObject("center_tile_0_0");
    centerPin.setParent(script.getSceneObject());
    var locatedAt = centerPin.createComponent("Component.LocatedAtComponent");
    locatedAt.location = centerTile_0_0;

    // Create render mesh to display
    var mesh = global.scene.createSceneObject("mesh");
    mesh.setParent(centerPin);
    var renderMeshVisual = mesh.createComponent("Component.RenderMeshVisual");

    // Assign texture
    var locationMaterial = script.material.clone();
    renderMeshVisual.clearMaterials();
    renderMeshVisual.addMaterial(locationMaterial);
    renderMeshVisual.mainPass["baseTex"] = locationTexture;

    renderMeshVisual.mesh = locationMesh;

    Hierarchy (View Summary)

    Index

    Properties

    location: LocationAsset

    The location texture's LocationAsset nearby tile.

    Methods

    • 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 the width of the texture in pixels.

      Returns number

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

      Parameters

      • type: string

      Returns boolean

    • Returns true if this object is the same as other. Useful for checking if two references point to the same thing.

      Parameters

      Returns boolean