API

Variable MeshBuilderConst

MeshBuilder: {
    CreateBox: (
        name: string,
        options?: {
            backUVs?: Vector4;
            bottomBaseAt?: number;
            depth?: number;
            faceColors?: Color4[];
            faceUV?: Vector4[];
            frontUVs?: Vector4;
            height?: number;
            sideOrientation?: number;
            size?: number;
            topBaseAt?: number;
            updatable?: boolean;
            width?: number;
            wrap?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => Mesh;
    CreateCapsule: (
        name: string,
        options?: ICreateCapsuleOptions,
        scene?: Nullable<Scene>,
    ) => Mesh;
    CreateCylinder: (
        name: string,
        options?: {
            arc?: number;
            backUVs?: Vector4;
            cap?: number;
            diameter?: number;
            diameterBottom?: number;
            diameterTop?: number;
            enclose?: boolean;
            faceColors?: Color4[];
            faceUV?: Vector4[];
            frontUVs?: Vector4;
            hasRings?: boolean;
            height?: number;
            sideOrientation?: number;
            subdivisions?: number;
            tessellation?: number;
            updatable?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => Mesh;
    CreateDashedLines: (
        name: string,
        options: {
            dashNb?: number;
            dashSize?: number;
            gapSize?: number;
            instance?: LinesMesh;
            material?: Material;
            points: Vector3[];
            updatable?: boolean;
            useVertexAlpha?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => LinesMesh;
    CreateDecal: (
        name: string,
        sourceMesh: AbstractMesh,
        options: {
            angle?: number;
            captureUVS?: boolean;
            cullBackFaces?: boolean;
            localMode?: boolean;
            normal?: Vector3;
            position?: Vector3;
            size?: Vector3;
        },
    ) => Mesh;
    CreateDisc: (
        name: string,
        options?: {
            arc?: number;
            backUVs?: Vector4;
            frontUVs?: Vector4;
            radius?: number;
            sideOrientation?: number;
            tessellation?: number;
            updatable?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => Mesh;
    CreateGeodesic: (
        name: string,
        options: {
            backUVs?: Vector4;
            faceColors?: Color4[];
            faceUV?: Vector4[];
            flat?: boolean;
            frontUVs?: Vector4;
            m?: number;
            n?: number;
            sideOrientation?: number;
            size?: number;
            sizeX?: number;
            sizeY?: number;
            sizeZ?: number;
            updatable?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => Mesh;
    CreateGoldberg: (
        name: string,
        options: GoldbergCreationOption,
        scene?: Nullable<Scene>,
    ) => GoldbergMesh;
    CreateGround: (
        name: string,
        options?: {
            height?: number;
            subdivisions?: number;
            subdivisionsX?: number;
            subdivisionsY?: number;
            updatable?: boolean;
            width?: number;
        },
        scene?: Scene,
    ) => GroundMesh;
    CreateGroundFromHeightMap: (
        name: string,
        url: string | { data: Uint8Array; height: number; width: number },
        options?: {
            alphaFilter?: number;
            colorFilter?: Color3;
            height?: number;
            maxHeight?: number;
            minHeight?: number;
            onError?: (message?: string, exception?: any) => void;
            onReady?: (
                mesh: GroundMesh,
                heightBuffer?: Float32Array<ArrayBufferLike>,
            ) => void;
            passHeightBufferInCallback?: boolean;
            subdivisions?: number;
            updatable?: boolean;
            width?: number;
        },
        scene?: Nullable<Scene>,
    ) => GroundMesh;
    CreateIcoSphere: (
        name: string,
        options?: {
            backUVs?: Vector4;
            flat?: boolean;
            frontUVs?: Vector4;
            radius?: number;
            radiusX?: number;
            radiusY?: number;
            radiusZ?: number;
            sideOrientation?: number;
            subdivisions?: number;
            updatable?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => Mesh;
    CreateLathe: (
        name: string,
        options: {
            arc?: number;
            backUVs?: Vector4;
            cap?: number;
            clip?: number;
            closed?: boolean;
            frontUVs?: Vector4;
            invertUV?: boolean;
            radius?: number;
            shape: Vector3[];
            sideOrientation?: number;
            tessellation?: number;
            updatable?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => Mesh;
    CreateLines: (
        name: string,
        options: {
            colors?: Color4[];
            instance?: Nullable<LinesMesh>;
            material?: Material;
            points: Vector3[];
            updatable?: boolean;
            useVertexAlpha?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => LinesMesh;
    CreateLineSystem: (
        name: string,
        options: {
            colors?: Nullable<Color4[][]>;
            instance?: Nullable<LinesMesh>;
            lines: Vector3[][];
            material?: Material;
            updatable?: boolean;
            useVertexAlpha?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => LinesMesh;
    CreatePlane: (
        name: string,
        options?: {
            backUVs?: Vector4;
            frontUVs?: Vector4;
            height?: number;
            sideOrientation?: number;
            size?: number;
            sourcePlane?: Plane;
            updatable?: boolean;
            width?: number;
        },
        scene?: Nullable<Scene>,
    ) => Mesh;
    CreatePolygon: (
        name: string,
        options: {
            backUVs?: Vector4;
            depth?: number;
            faceColors?: Color4[];
            faceUV?: Vector4[];
            frontUVs?: Vector4;
            holes?: Vector3[][];
            shape: Vector3[];
            sideOrientation?: number;
            smoothingThreshold?: number;
            updatable?: boolean;
            wrap?: boolean;
        },
        scene?: Nullable<Scene>,
        earcutInjection?: any,
    ) => Mesh;
    CreatePolyhedron: (
        name: string,
        options?: {
            backUVs?: Vector4;
            custom?: any;
            faceColors?: Color4[];
            faceUV?: Vector4[];
            flat?: boolean;
            frontUVs?: Vector4;
            sideOrientation?: number;
            size?: number;
            sizeX?: number;
            sizeY?: number;
            sizeZ?: number;
            type?: number;
            updatable?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => Mesh;
    CreateRibbon: (
        name: string,
        options: {
            backUVs?: Vector4;
            closeArray?: boolean;
            closePath?: boolean;
            colors?: Color4[];
            frontUVs?: Vector4;
            instance?: Mesh;
            invertUV?: boolean;
            offset?: number;
            pathArray: Vector3[][];
            sideOrientation?: number;
            updatable?: boolean;
            uvs?: Vector2[];
        },
        scene?: Nullable<Scene>,
    ) => Mesh;
    CreateSphere: (
        name: string,
        options?: {
            arc?: number;
            backUVs?: Vector4;
            diameter?: number;
            diameterX?: number;
            diameterY?: number;
            diameterZ?: number;
            frontUVs?: Vector4;
            segments?: number;
            sideOrientation?: number;
            slice?: number;
            updatable?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => Mesh;
    CreateText: (
        name: string,
        text: string,
        fontData: IFontData,
        options?: {
            depth?: number;
            faceColors?: Color4[];
            faceUV?: Vector4[];
            perLetterFaceColors?: (letterIndex: number) => Color4[];
            perLetterFaceUV?: (letterIndex: number) => Vector4[];
            resolution?: number;
            sideOrientation?: number;
            size?: number;
        },
        scene?: Nullable<Scene>,
        earcutInjection?: any,
    ) => Nullable<Mesh>;
    CreateTiledBox: (
        name: string,
        options: {
            alignHorizontal?: number;
            alignVertical?: number;
            depth?: number;
            faceColors?: Color4[];
            faceUV?: Vector4[];
            height?: number;
            pattern?: number;
            sideOrientation?: number;
            tileHeight?: number;
            tileSize?: number;
            tileWidth?: number;
            updatable?: boolean;
            width?: number;
        },
        scene?: Nullable<Scene>,
    ) => Mesh;
    CreateTiledGround: (
        name: string,
        options: {
            precision?: { h: number; w: number };
            subdivisions?: { h: number; w: number };
            updatable?: boolean;
            xmax: number;
            xmin: number;
            zmax: number;
            zmin: number;
        },
        scene?: Nullable<Scene>,
    ) => Mesh;
    CreateTiledPlane: (
        name: string,
        options: {
            alignHorizontal?: number;
            alignVertical?: number;
            backUVs?: Vector4;
            frontUVs?: Vector4;
            height?: number;
            pattern?: number;
            sideOrientation?: number;
            size?: number;
            tileHeight?: number;
            tileSize?: number;
            tileWidth?: number;
            updatable?: boolean;
            width?: number;
        },
        scene?: Nullable<Scene>,
    ) => Mesh;
    CreateTorus: (
        name: string,
        options?: {
            backUVs?: Vector4;
            diameter?: number;
            frontUVs?: Vector4;
            sideOrientation?: number;
            tessellation?: number;
            thickness?: number;
            updatable?: boolean;
        },
        scene?: Scene,
    ) => Mesh;
    CreateTorusKnot: (
        name: string,
        options?: {
            backUVs?: Vector4;
            frontUVs?: Vector4;
            p?: number;
            q?: number;
            radialSegments?: number;
            radius?: number;
            sideOrientation?: number;
            tube?: number;
            tubularSegments?: number;
            updatable?: boolean;
        },
        scene?: Scene,
    ) => Mesh;
    CreateTube: (
        name: string,
        options: {
            arc?: number;
            backUVs?: Vector4;
            cap?: number;
            frontUVs?: Vector4;
            instance?: Mesh;
            invertUV?: boolean;
            path: Vector3[];
            radius?: number;
            radiusFunction?: (i: number, distance: number) => number;
            sideOrientation?: number;
            tessellation?: number;
            updatable?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => Mesh;
    ExtrudePolygon: (
        name: string,
        options: {
            backUVs?: Vector4;
            depth?: number;
            faceColors?: Color4[];
            faceUV?: Vector4[];
            frontUVs?: Vector4;
            holes?: Vector3[][];
            shape: Vector3[];
            sideOrientation?: number;
            smoothingThreshold?: number;
            updatable?: boolean;
            wrap?: boolean;
        },
        scene?: Nullable<Scene>,
        earcutInjection?: any,
    ) => Mesh;
    ExtrudeShape: (
        name: string,
        options: {
            adjustFrame?: boolean;
            backUVs?: Vector4;
            cap?: number;
            capFunction?: Nullable<(shapePath: Vector3[]) => Vector3[]>;
            closePath?: boolean;
            closeShape?: boolean;
            firstNormal?: Vector3;
            frontUVs?: Vector4;
            instance?: Mesh;
            invertUV?: boolean;
            path: Vector3[];
            rotation?: number;
            scale?: number;
            shape: Vector3[];
            sideOrientation?: number;
            updatable?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => Mesh;
    ExtrudeShapeCustom: (
        name: string,
        options: {
            adjustFrame?: boolean;
            backUVs?: Vector4;
            cap?: number;
            capFunction?: Nullable<(shapePath: Vector3[]) => Vector3[]>;
            closePath?: boolean;
            closeShape?: boolean;
            firstNormal?: Vector3;
            frontUVs?: Vector4;
            instance?: Mesh;
            invertUV?: boolean;
            path: Vector3[];
            ribbonCloseArray?: boolean;
            ribbonClosePath?: boolean;
            rotationFunction?: Nullable<(i: number, distance: number) => number>;
            scaleFunction?: Nullable<(i: number, distance: number) => number>;
            scaleVectorFunction?: Nullable<(i: number, distance: number) => Vector3>;
            shape: Vector3[];
            sideOrientation?: number;
            updatable?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => Mesh;
} = ...

Class containing static functions to help procedurally build meshes

Type Declaration

  • CreateBox: (
        name: string,
        options?: {
            backUVs?: Vector4;
            bottomBaseAt?: number;
            depth?: number;
            faceColors?: Color4[];
            faceUV?: Vector4[];
            frontUVs?: Vector4;
            height?: number;
            sideOrientation?: number;
            size?: number;
            topBaseAt?: number;
            updatable?: boolean;
            width?: number;
            wrap?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => Mesh
  • CreateCapsule: (name: string, options?: ICreateCapsuleOptions, scene?: Nullable<Scene>) => Mesh
  • CreateCylinder: (
        name: string,
        options?: {
            arc?: number;
            backUVs?: Vector4;
            cap?: number;
            diameter?: number;
            diameterBottom?: number;
            diameterTop?: number;
            enclose?: boolean;
            faceColors?: Color4[];
            faceUV?: Vector4[];
            frontUVs?: Vector4;
            hasRings?: boolean;
            height?: number;
            sideOrientation?: number;
            subdivisions?: number;
            tessellation?: number;
            updatable?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => Mesh
  • CreateDashedLines: (
        name: string,
        options: {
            dashNb?: number;
            dashSize?: number;
            gapSize?: number;
            instance?: LinesMesh;
            material?: Material;
            points: Vector3[];
            updatable?: boolean;
            useVertexAlpha?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => LinesMesh
  • CreateDecal: (
        name: string,
        sourceMesh: AbstractMesh,
        options: {
            angle?: number;
            captureUVS?: boolean;
            cullBackFaces?: boolean;
            localMode?: boolean;
            normal?: Vector3;
            position?: Vector3;
            size?: Vector3;
        },
    ) => Mesh
  • CreateDisc: (
        name: string,
        options?: {
            arc?: number;
            backUVs?: Vector4;
            frontUVs?: Vector4;
            radius?: number;
            sideOrientation?: number;
            tessellation?: number;
            updatable?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => Mesh
  • CreateGeodesic: (
        name: string,
        options: {
            backUVs?: Vector4;
            faceColors?: Color4[];
            faceUV?: Vector4[];
            flat?: boolean;
            frontUVs?: Vector4;
            m?: number;
            n?: number;
            sideOrientation?: number;
            size?: number;
            sizeX?: number;
            sizeY?: number;
            sizeZ?: number;
            updatable?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => Mesh
  • CreateGoldberg: (
        name: string,
        options: GoldbergCreationOption,
        scene?: Nullable<Scene>,
    ) => GoldbergMesh
  • CreateGround: (
        name: string,
        options?: {
            height?: number;
            subdivisions?: number;
            subdivisionsX?: number;
            subdivisionsY?: number;
            updatable?: boolean;
            width?: number;
        },
        scene?: Scene,
    ) => GroundMesh
  • CreateGroundFromHeightMap: (
        name: string,
        url: string | { data: Uint8Array; height: number; width: number },
        options?: {
            alphaFilter?: number;
            colorFilter?: Color3;
            height?: number;
            maxHeight?: number;
            minHeight?: number;
            onError?: (message?: string, exception?: any) => void;
            onReady?: (
                mesh: GroundMesh,
                heightBuffer?: Float32Array<ArrayBufferLike>,
            ) => void;
            passHeightBufferInCallback?: boolean;
            subdivisions?: number;
            updatable?: boolean;
            width?: number;
        },
        scene?: Nullable<Scene>,
    ) => GroundMesh
  • CreateIcoSphere: (
        name: string,
        options?: {
            backUVs?: Vector4;
            flat?: boolean;
            frontUVs?: Vector4;
            radius?: number;
            radiusX?: number;
            radiusY?: number;
            radiusZ?: number;
            sideOrientation?: number;
            subdivisions?: number;
            updatable?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => Mesh
  • CreateLathe: (
        name: string,
        options: {
            arc?: number;
            backUVs?: Vector4;
            cap?: number;
            clip?: number;
            closed?: boolean;
            frontUVs?: Vector4;
            invertUV?: boolean;
            radius?: number;
            shape: Vector3[];
            sideOrientation?: number;
            tessellation?: number;
            updatable?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => Mesh
  • CreateLines: (
        name: string,
        options: {
            colors?: Color4[];
            instance?: Nullable<LinesMesh>;
            material?: Material;
            points: Vector3[];
            updatable?: boolean;
            useVertexAlpha?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => LinesMesh
  • CreateLineSystem: (
        name: string,
        options: {
            colors?: Nullable<Color4[][]>;
            instance?: Nullable<LinesMesh>;
            lines: Vector3[][];
            material?: Material;
            updatable?: boolean;
            useVertexAlpha?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => LinesMesh
  • CreatePlane: (
        name: string,
        options?: {
            backUVs?: Vector4;
            frontUVs?: Vector4;
            height?: number;
            sideOrientation?: number;
            size?: number;
            sourcePlane?: Plane;
            updatable?: boolean;
            width?: number;
        },
        scene?: Nullable<Scene>,
    ) => Mesh
  • CreatePolygon: (
        name: string,
        options: {
            backUVs?: Vector4;
            depth?: number;
            faceColors?: Color4[];
            faceUV?: Vector4[];
            frontUVs?: Vector4;
            holes?: Vector3[][];
            shape: Vector3[];
            sideOrientation?: number;
            smoothingThreshold?: number;
            updatable?: boolean;
            wrap?: boolean;
        },
        scene?: Nullable<Scene>,
        earcutInjection?: any,
    ) => Mesh
  • CreatePolyhedron: (
        name: string,
        options?: {
            backUVs?: Vector4;
            custom?: any;
            faceColors?: Color4[];
            faceUV?: Vector4[];
            flat?: boolean;
            frontUVs?: Vector4;
            sideOrientation?: number;
            size?: number;
            sizeX?: number;
            sizeY?: number;
            sizeZ?: number;
            type?: number;
            updatable?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => Mesh
  • CreateRibbon: (
        name: string,
        options: {
            backUVs?: Vector4;
            closeArray?: boolean;
            closePath?: boolean;
            colors?: Color4[];
            frontUVs?: Vector4;
            instance?: Mesh;
            invertUV?: boolean;
            offset?: number;
            pathArray: Vector3[][];
            sideOrientation?: number;
            updatable?: boolean;
            uvs?: Vector2[];
        },
        scene?: Nullable<Scene>,
    ) => Mesh
  • CreateSphere: (
        name: string,
        options?: {
            arc?: number;
            backUVs?: Vector4;
            diameter?: number;
            diameterX?: number;
            diameterY?: number;
            diameterZ?: number;
            frontUVs?: Vector4;
            segments?: number;
            sideOrientation?: number;
            slice?: number;
            updatable?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => Mesh
  • CreateText: (
        name: string,
        text: string,
        fontData: IFontData,
        options?: {
            depth?: number;
            faceColors?: Color4[];
            faceUV?: Vector4[];
            perLetterFaceColors?: (letterIndex: number) => Color4[];
            perLetterFaceUV?: (letterIndex: number) => Vector4[];
            resolution?: number;
            sideOrientation?: number;
            size?: number;
        },
        scene?: Nullable<Scene>,
        earcutInjection?: any,
    ) => Nullable<Mesh>
  • CreateTiledBox: (
        name: string,
        options: {
            alignHorizontal?: number;
            alignVertical?: number;
            depth?: number;
            faceColors?: Color4[];
            faceUV?: Vector4[];
            height?: number;
            pattern?: number;
            sideOrientation?: number;
            tileHeight?: number;
            tileSize?: number;
            tileWidth?: number;
            updatable?: boolean;
            width?: number;
        },
        scene?: Nullable<Scene>,
    ) => Mesh
  • CreateTiledGround: (
        name: string,
        options: {
            precision?: { h: number; w: number };
            subdivisions?: { h: number; w: number };
            updatable?: boolean;
            xmax: number;
            xmin: number;
            zmax: number;
            zmin: number;
        },
        scene?: Nullable<Scene>,
    ) => Mesh
  • CreateTiledPlane: (
        name: string,
        options: {
            alignHorizontal?: number;
            alignVertical?: number;
            backUVs?: Vector4;
            frontUVs?: Vector4;
            height?: number;
            pattern?: number;
            sideOrientation?: number;
            size?: number;
            tileHeight?: number;
            tileSize?: number;
            tileWidth?: number;
            updatable?: boolean;
            width?: number;
        },
        scene?: Nullable<Scene>,
    ) => Mesh
  • CreateTorus: (
        name: string,
        options?: {
            backUVs?: Vector4;
            diameter?: number;
            frontUVs?: Vector4;
            sideOrientation?: number;
            tessellation?: number;
            thickness?: number;
            updatable?: boolean;
        },
        scene?: Scene,
    ) => Mesh
  • CreateTorusKnot: (
        name: string,
        options?: {
            backUVs?: Vector4;
            frontUVs?: Vector4;
            p?: number;
            q?: number;
            radialSegments?: number;
            radius?: number;
            sideOrientation?: number;
            tube?: number;
            tubularSegments?: number;
            updatable?: boolean;
        },
        scene?: Scene,
    ) => Mesh
  • CreateTube: (
        name: string,
        options: {
            arc?: number;
            backUVs?: Vector4;
            cap?: number;
            frontUVs?: Vector4;
            instance?: Mesh;
            invertUV?: boolean;
            path: Vector3[];
            radius?: number;
            radiusFunction?: (i: number, distance: number) => number;
            sideOrientation?: number;
            tessellation?: number;
            updatable?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => Mesh
  • ExtrudePolygon: (
        name: string,
        options: {
            backUVs?: Vector4;
            depth?: number;
            faceColors?: Color4[];
            faceUV?: Vector4[];
            frontUVs?: Vector4;
            holes?: Vector3[][];
            shape: Vector3[];
            sideOrientation?: number;
            smoothingThreshold?: number;
            updatable?: boolean;
            wrap?: boolean;
        },
        scene?: Nullable<Scene>,
        earcutInjection?: any,
    ) => Mesh
  • ExtrudeShape: (
        name: string,
        options: {
            adjustFrame?: boolean;
            backUVs?: Vector4;
            cap?: number;
            capFunction?: Nullable<(shapePath: Vector3[]) => Vector3[]>;
            closePath?: boolean;
            closeShape?: boolean;
            firstNormal?: Vector3;
            frontUVs?: Vector4;
            instance?: Mesh;
            invertUV?: boolean;
            path: Vector3[];
            rotation?: number;
            scale?: number;
            shape: Vector3[];
            sideOrientation?: number;
            updatable?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => Mesh
  • ExtrudeShapeCustom: (
        name: string,
        options: {
            adjustFrame?: boolean;
            backUVs?: Vector4;
            cap?: number;
            capFunction?: Nullable<(shapePath: Vector3[]) => Vector3[]>;
            closePath?: boolean;
            closeShape?: boolean;
            firstNormal?: Vector3;
            frontUVs?: Vector4;
            instance?: Mesh;
            invertUV?: boolean;
            path: Vector3[];
            ribbonCloseArray?: boolean;
            ribbonClosePath?: boolean;
            rotationFunction?: Nullable<(i: number, distance: number) => number>;
            scaleFunction?: Nullable<(i: number, distance: number) => number>;
            scaleVectorFunction?: Nullable<(i: number, distance: number) => Vector3>;
            shape: Vector3[];
            sideOrientation?: number;
            updatable?: boolean;
        },
        scene?: Nullable<Scene>,
    ) => Mesh