Matrix Engine Api Documentation - v1.15.7
    Preparing search index...

    Class MeshMorpher

    Index

    Constructors

    Methods

    • Parameters

      • shapeFunc: any
      • resU: any
      • resV: any

      Returns {
          flat: boolean;
          indices: Uint16Array<ArrayBuffer>;
          normals: Float32Array<ArrayBuffer>;
          uvs: Float32Array<ArrayBuffer>;
          vertexCount: number;
          vertices: Float32Array<ArrayBuffer>;
      }

    • Parameters

      • radius: number = 1
      • height: number = 1
      • fromZeroY: boolean = true

      Returns (u: any, v: any) => number[]

    • Parameters

      • ...parts: any[]

      Returns
          | ((u: any, vGlobal: any) => any[])
          | { flat: boolean; func: (u: any, vGlobal: any) => any[] }

    • Parameters

      • positions: any
      • indices: any

      Returns Float32Array<any>

    • Parameters

      • baseRadius: number = 1
      • height: number = 1
      • fromZeroY: boolean = true

      Returns (u: any, v: any) => number[]

    • Parameters

      • baseRadius: number = 1
      • height: number = 1
      • fromZeroX: boolean = true

      Returns (u: any, v: any) => number[]

    • Parameters

      • shapeA: any
      • shapeB: any
      • resolutionU: number = 32
      • resolutionV: number = 32

      Returns {
          meshA: {
              flat: boolean;
              indices: Uint16Array<ArrayBuffer>;
              normals: Float32Array<ArrayBuffer>;
              uvs: Float32Array<ArrayBuffer>;
              vertexCount: number;
              vertices: Float32Array<ArrayBuffer>;
          };
          meshB: {
              flat: boolean;
              indices: Uint16Array<ArrayBuffer>;
              normals: Float32Array<ArrayBuffer>;
              uvs: Float32Array<ArrayBuffer>;
              vertexCount: number;
              vertices: Float32Array<ArrayBuffer>;
          };
          vertexCount: number;
      }

    • Crumble: breaks into small chunks, stays roughly in place Good for: stone/brick crumbling, dust formations

      Parameters

      • S: number = 1
      • detail: number = 4

      Returns (u: any, v: any) => number[]

    • Parameters

      • radius: number = 1
      • height: number = 2

      Returns (u: any, v: any) => number[]

    • Parameters

      • radius: number = 1
      • innerRadius: number = 0.2
      • thickness: number = 0.1

      Returns { flat: boolean; func: (u: any, v: any) => number[] }

    • Parameters

      • numStars: number = 500
      • arms: number = 4
      • twist: number = 2
      • scale: number = 20

      Returns (u: any, v: any) => number[]

    • Parameters

      • scale: number = 10
      • arms: number = 3
      • twist: number = 2

      Returns (u: any, v: any) => number[]

    • Implode: shrinks to near-zero point (singularity effect) Good for: magic absorption, black hole, vortex

      Parameters

      • S: number = 1
      • scale: number = 0.1

      Returns (u: any, v: any) => number[]

    • Parameters

      • radius: number = 1
      • innerRadius: number = 0.4
      • depth: number = 0.2

      Returns (u: any, v: any) => number[]

    • Parameters

      • radius: number = 1
      • width: number = 0.5

      Returns (u: any, v: any) => number[]

    • Scatter: random cloud of small pieces Good for: dust, particle explosion, disintegration

      Parameters

      • S: number = 1
      • spread: number = 0.3

      Returns (u: any, v: any) => number[]

    • Shatter: breaks into radial chunks, splayed outward Good for: explosions, hard breaks Returns a parametric function for MeshMorpher compatibility

      Parameters

      • S: number = 1
      • pieces: number = 8

      Returns (u: any, v: any) => any[]

    • Splinter: thin shards radiating from center Good for: ice/glass shattering, crystalline breaks

      Parameters

      • S: number = 1
      • count: number = 12

      Returns (u: any, v: any) => number[]

    • Parameters

      • radius: number = 1
      • innerRadius: number = 0.4
      • depth: number = 0.3

      Returns (u: any, v: any) => number[]

    • Parameters

      • height: number = 2
      • radius: number = 1

      Returns (u: any, v: any) => number[]

    • Parameters

      • majorRadius: number = 1
      • minorRadius: number = 0.3

      Returns (u: any, v: any) => number[]

    • Parameters

      • R: number = 1
      • r: number = 0.3
      • twists: number = 3

      Returns (u: any, v: any) => number[]