Bitbybit Docs
    Preparing search index...

    Class BabylonMeshBuilder

    Las primitivas de malla propias de BabylonJS, construidas directamente en la escena como mallas listas para renderizar en lugar de a través de un núcleo CAD: cajas, esferas, discos, toros, polígonos, tubos, poliedros, cápsulas, cilindros, extrusiones, cintas, torneados y suelos. Son rápidas de crear y baratas de dibujar pero no llevan geometría exacta, así que usa los núcleos cuando la forma deba medirse, cortarse o exportarse. Cada constructor centra su malla en el origen, establece sideOrientation y la registra para las sombras a menos que enableShadows sea false.

    Index

    Constructors

    create simple

    • Construye una caja centrada en el origen con width a lo largo de X, height a lo largo de Y y depth a lo largo de Z.

      Parameters

      • inputs: CreateBoxDto

        Los tres tamaños, la orientación de las caras y el indicador de sombra

      Returns Mesh

      La malla de la caja

      const box = bitbybit.babylon.meshBuilder.createBox({ width: 10, height: 5, depth: 20, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Construye un cubo centrado en el origen con cada arista de longitud size.

      Parameters

      • inputs: CreateCubeDto

        La longitud de la arista, la orientación de las caras y el indicador de sombra

      Returns Mesh

      La malla del cubo

      const cube = bitbybit.babylon.meshBuilder.createCube({ size: 10, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Construye un cuadrado plano de lado size centrado en el origen en el plano XY, mirando al eje Z; un plano de una sola cara es invisible desde atrás salvo que sideOrientation sea a dos caras.

      Parameters

      • inputs: CreateSquarePlaneDto

        La longitud del lado, la orientación de las caras y el indicador de sombra

      Returns Mesh

      La malla del plano

      const plane = bitbybit.babylon.meshBuilder.createSquarePlane({ size: 10, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Construye una esfera del diameter dado centrada en el origen; segments establece con qué finura se divide, siendo más redonda y pesada cuanto más.

      Parameters

      • inputs: CreateSphereDto

        El diámetro, el número de segmentos, la orientación de las caras y el indicador de sombra

      Returns Mesh

      La malla de la esfera

      const ball = bitbybit.babylon.meshBuilder.createSphere({ diameter: 10, segments: 32, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Construye una esfera a partir de triángulos de tamaño uniforme, subdividida desde un icosaedro, que se sombrea de forma más uniforme que createSphere.

      radiusX, radiusY y radiusZ la estiran por eje y recurren a radius cuando son 0; flat da un sombreado facetado.

      Parameters

      • inputs: CreateIcoSphereDto

        Los radios, el indicador de plano, las subdivisiones, la orientación de las caras y el indicador de sombra

      Returns Mesh

      La malla de la icoesfera

      const ball = bitbybit.babylon.meshBuilder.createIcoSphere({ radius: 5, radiusX: 0, radiusY: 0, radiusZ: 0, flat: false, subdivisions: 4, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Construye un disco plano del radius dado centrado en el origen en el plano XY; arc por debajo de 1 deja una porción, de modo que 0.5 es medio disco.

      Parameters

      • inputs: CreateDiscDto

        El radio, la teselación, la fracción de arco, la orientación de las caras y el indicador de sombra

      Returns Mesh

      La malla del disco

      const disc = bitbybit.babylon.meshBuilder.createDisc({ radius: 5, tessellation: 32, arc: 1, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Construye un anillo tumbado en el plano XZ alrededor del origen: diameter es el diámetro total del anillo y thickness el diámetro de su tubo.

      Parameters

      • inputs: CreateTorusDto

        El diámetro, el grosor del tubo, la teselación, la orientación de las caras y el indicador de sombra

      Returns Mesh

      La malla del toro

      const ring = bitbybit.babylon.meshBuilder.createTorus({ diameter: 10, thickness: 2, tessellation: 32, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Construye un tubo enrollado en un nudo alrededor del origen: p y q son cuántas veces se enrolla alrededor del anillo y a través de su agujero, de modo que 2 y 3 dan el trébol clásico.

      Parameters

      • inputs: CreateTorusKnotDto

        El radio, el radio del tubo, los números de segmentos, los números de vueltas, la orientación de las caras y el indicador de sombra

      Returns Mesh

      La malla del nudo toroidal

      const knot = bitbybit.babylon.meshBuilder.createTorusKnot({ radius: 5, tube: 1, radialSegments: 128, tubularSegments: 32, p: 2, q: 3, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Construye un polígono plano relleno a partir de los puntos de su contorno, con agujeros opcionales, tumbado en el plano XZ; un depth mayor que 0 le da grosor hacia abajo.

      Los puntos son 3D pero solo se usan X y Z, y el contorno no debe cruzarse a sí mismo.

      Parameters

      • inputs: CreatePolygonDto

        El contorno, los agujeros, la profundidad, el suavizado, la orientación de las caras, el indicador de envoltura y el indicador de sombra

      Returns Mesh

      La malla del polígono

      const slab = bitbybit.babylon.meshBuilder.createPolygon({ shape: [[0, 0, 0], [10, 0, 0], [10, 0, 10], [0, 0, 10]], holes: [], depth: 0, smoothingThreshold: 0.01, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, wrap: false, enableShadows: true });
      
    • Construye un sólido extruyendo un polígono plano, dado por los puntos de su contorno en el plano XZ con agujeros opcionales, hacia abajo depth.

      Parameters

      • inputs: ExtrudePolygonDto

        El contorno, los agujeros, la profundidad, la orientación de las caras, el indicador de envoltura y el indicador de sombra

      Returns Mesh

      La malla extruida

      const block = bitbybit.babylon.meshBuilder.extrudePolygon({ shape: [[0, 0, 0], [10, 0, 0], [10, 0, 10], [0, 0, 10]], holes: [[[3, 0, 3], [7, 0, 3], [7, 0, 7], [3, 0, 7]]], depth: 5, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, wrap: false, enableShadows: true });
      
    • Construye un tubo del radius dado a lo largo de una ruta de puntos; cap cierra ninguno, uno o ambos extremos, y arc por debajo de 1 deja el tubo abierto a lo largo de su longitud.

      Parameters

      • inputs: CreateTubeDto

        La trayectoria, el radio, la teselación, el modo de tapa, la fracción de arco, la orientación de las caras y el indicador de sombra

      Returns Mesh

      La malla del tubo

      const pipe = bitbybit.babylon.meshBuilder.createTube({ path: [[0, 0, 0], [10, 0, 0], [10, 10, 0]], radius: 1, tessellation: 32, cap: 3, arc: 1, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Construye uno de los quince poliedros integrados según type, del tetraedro (0) a la cúpula pentagonal elongada (14), o el tuyo propio a partir de datos custom.

      sizeX, sizeY y sizeZ lo estiran por eje y recurren a size cuando son 0; flat da un sombreado facetado.

      Parameters

      • inputs: CreatePolyhedronDto

        El tamaño y el tipo, los datos personalizados, el indicador de plano, la orientación de las caras y el indicador de sombra

      Returns Mesh

      La malla del poliedro

      const dodecahedron = bitbybit.babylon.meshBuilder.createPolyhedron({ size: 5, type: 2, sizeX: 0, sizeY: 0, sizeZ: 0, flat: true, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Construye una esfera geodésica, un icosaedro cuyas caras se subdividen en triángulos según dicen m y n, de modo que la superficie está hecha de triángulos casi iguales.

      sizeX, sizeY y sizeZ la estiran por eje y recurren a size cuando son 0.

      Parameters

      • inputs: CreateGeodesicDto

        Los números de subdivisión, los tamaños, el indicador de plano, la orientación de las caras y el indicador de sombra

      Returns Mesh

      La malla geodésica

      const dome = bitbybit.babylon.meshBuilder.createGeodesic({ m: 4, n: 4, size: 5, sizeX: 0, sizeY: 0, sizeZ: 0, flat: false, subdivisions: 4, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Construye un poliedro de Goldberg, una bola hecha de hexágonos y doce pentágonos como un balón de fútbol, con m y n estableciendo cuántos hexágonos hay.

      sizeX, sizeY y sizeZ lo estiran por eje y recurren a size cuando son 0.

      Parameters

      • inputs: CreateGoldbergDto

        Los números de subdivisión, los tamaños, la orientación de las caras y el indicador de sombra

      Returns Mesh

      La malla de Goldberg

      const ball = bitbybit.babylon.meshBuilder.createGoldberg({ m: 4, n: 4, size: 5, sizeX: 0, sizeY: 0, sizeZ: 0, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Construye una cápsula, un cilindro con extremos redondeados, de la height y el radius dados a lo largo de orientation; radiusTop y radiusBottom dimensionan los dos extremos por separado.

      Parameters

      • inputs: CreateCapsuleDto

        La orientación, los tamaños, los números de subdivisiones, la orientación de las caras y el indicador de sombra

      Returns Mesh

      La malla de la cápsula

      const pill = bitbybit.babylon.meshBuilder.createCapsule({ orientation: [0, 1, 0], subdivisions: 2, tessellation: 16, height: 10, radius: 2, capSubdivisions: 6, radiusTop: 2, radiusBottom: 2, topCapSubdivisions: 6, bottomCapSubdivisions: 6, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Construye un cilindro erguido a lo largo de Y, centrado en el origen; diámetros superior e inferior distintos hacen un cono o una forma cónica, y 0 cierra un extremo en un punto.

      Parameters

      • inputs: CreateCylinderDto

        La altura, los dos diámetros, la teselación, las subdivisiones, la orientación de las caras y el indicador de sombra

      Returns Mesh

      La malla del cilindro

      const cone = bitbybit.babylon.meshBuilder.createCylinder({ height: 10, diameterTop: 0, diameterBottom: 6, tessellation: 64, subdivisions: 1, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Barre un perfil a lo largo de una ruta: shape es el perfil como puntos en el plano XY y path los puntos por los que viaja, con scale y rotation en radianes aplicados paso a paso por el camino.

      closeShape une los extremos del perfil, closePath une los de la ruta, y cap cierra ninguno, uno o ambos extremos.

      Parameters

      • inputs: CreateExtrudedShapeDto

        El perfil, la trayectoria, la escala, la rotación por paso, los indicadores de cierre, el modo de tapa, la orientación de las caras y el indicador de sombra

      Returns Mesh

      La malla barrida

      const rail = bitbybit.babylon.meshBuilder.createExtrudedSahpe({ shape: [[-1, 0, 0], [1, 0, 0], [1, 1, 0], [-1, 1, 0]], path: [[0, 0, 0], [10, 0, 0], [10, 0, 10]], scale: 1, rotation: 0, closeShape: true, closePath: false, cap: 3, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Construye una superficie a través de varias rutas de puntos, uniendo las rutas vecinas con triángulos, como una tela tensada sobre un conjunto de líneas.

      closePath une los extremos de cada ruta, closeArray une la última ruta de vuelta con la primera, y offset desplaza cómo se emparejan los puntos cuando solo se da una ruta.

      Parameters

      • inputs: CreateRibbonDto

        Las trayectorias, los indicadores de cierre, el desfase, el indicador de actualizable, la orientación de las caras y el indicador de sombra

      Returns Mesh

      La malla de la cinta

      const sheet = bitbybit.babylon.meshBuilder.createRibbon({ pathArray: [[[0, 0, 0], [10, 0, 0], [20, 0, 0]], [[0, 5, 5], [10, 5, 5], [20, 5, 5]]], closeArray: false, closePath: false, offset: 0, updatable: false, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Revoluciona un perfil alrededor del eje Y, como un torno tornea la madera: shape es el perfil como puntos en el plano XY con X como la distancia al eje, radius lo empuja hacia fuera, y arc por debajo de 1 deja la revolución abierta.

      Parameters

      • inputs: CreateLatheDto

        El perfil, el radio, la teselación, la fracción de arco, el indicador de cerrado, la orientación de las caras y el indicador de sombra

      Returns Mesh

      La malla torneada

      const vase = bitbybit.babylon.meshBuilder.createLathe({ shape: [[2, 0, 0], [3, 3, 0], [2, 6, 0], [2.5, 8, 0]], radius: 0, tessellation: 64, arc: 1, closed: true, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Construye un plano de suelo centrado en el origen en el plano XZ, width a lo largo de X y height a lo largo de Z, dividido en una cuadrícula de subdivisionsX por subdivisionsY celdas.

      Parameters

      • inputs: CreateGroundDto

        La anchura, la altura, las subdivisiones, la orientación de las caras y el indicador de sombra

      Returns Mesh

      La malla del suelo

      const ground = bitbybit.babylon.meshBuilder.createGround({ width: 100, height: 100, subdivisionsX: 1, subdivisionsY: 1, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Construye un rectángulo plano centrado en el origen en el plano XY, width a lo largo de X y height a lo largo de Y, mirando al eje Z.

      Parameters

      Returns Mesh

      La malla del plano

      const plane = bitbybit.babylon.meshBuilder.createRectanglePlane({ width: 20, height: 10, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });