Bitbybit Docs
    Preparing search index...

    Class BabylonMeshBuilder

    As primitivas de malha do próprio BabylonJS, construídas diretamente na cena como malhas prontas a renderizar e não através de um kernel CAD: caixas, esferas, discos, toros, polígonos, tubos, poliedros, cápsulas, cilindros, extrusões, fitas, revoluções e chãos. São rápidas de fazer e baratas de desenhar mas não têm geometria exata, por isso use os kernels quando a forma tiver de ser medida, cortada ou exportada. Cada construtor centra a sua malha na origem, define sideOrientation e regista-a para sombras a menos que enableShadows seja false.

    Index

    Constructors

    create simple

    • Constrói uma caixa centrada na origem com width ao longo de X, height ao longo de Y e depth ao longo de Z.

      Parameters

      • inputs: CreateBoxDto

        Os três tamanhos, a orientação dos lados e o indicador de sombra

      Returns Mesh

      A malha da caixa

      const box = bitbybit.babylon.meshBuilder.createBox({ width: 10, height: 5, depth: 20, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Constrói um cubo centrado na origem com todas as arestas de comprimento size.

      Parameters

      • inputs: CreateCubeDto

        O comprimento da aresta, a orientação dos lados e o indicador de sombra

      Returns Mesh

      A malha do cubo

      const cube = bitbybit.babylon.meshBuilder.createCube({ size: 10, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Constrói um quadrado plano de lado size centrado na origem no plano XY, virado para o eixo Z; um plano de um só lado é invisível por trás a menos que sideOrientation seja de dois lados.

      Parameters

      • inputs: CreateSquarePlaneDto

        O comprimento do lado, a orientação dos lados e o indicador de sombra

      Returns Mesh

      A malha do plano

      const plane = bitbybit.babylon.meshBuilder.createSquarePlane({ size: 10, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Constrói uma esfera com o diameter dado centrada na origem; segments define quão finamente é dividida, mais sendo mais redonda e mais pesada.

      Parameters

      • inputs: CreateSphereDto

        O diâmetro, o número de segmentos, a orientação dos lados e o indicador de sombra

      Returns Mesh

      A malha da esfera

      const ball = bitbybit.babylon.meshBuilder.createSphere({ diameter: 10, segments: 32, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Constrói uma esfera a partir de triângulos de tamanho uniforme, subdivididos a partir de um icosaedro, que sombreia mais uniformemente do que createSphere.

      radiusX, radiusY e radiusZ esticam-na por eixo e recorrem a radius quando 0; flat dá sombreamento facetado.

      Parameters

      • inputs: CreateIcoSphereDto

        Os raios, o indicador de faces planas, as subdivisões, a orientação dos lados e o indicador de sombra

      Returns Mesh

      A malha da icosfera

      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 });
      
    • Constrói um disco plano com o radius dado centrado na origem no plano XY; arc abaixo de 1 deixa uma fatia, de modo que 0.5 é meio disco.

      Parameters

      • inputs: CreateDiscDto

        O raio, a tesselação, a fração do arco, a orientação dos lados e o indicador de sombra

      Returns Mesh

      A malha do disco

      const disc = bitbybit.babylon.meshBuilder.createDisc({ radius: 5, tessellation: 32, arc: 1, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Constrói um anel deitado no plano XZ em torno da origem: diameter é o diâmetro global do anel e thickness o diâmetro do seu tubo.

      Parameters

      • inputs: CreateTorusDto

        O diâmetro, a espessura do tubo, a tesselação, a orientação dos lados e o indicador de sombra

      Returns Mesh

      A malha do toro

      const ring = bitbybit.babylon.meshBuilder.createTorus({ diameter: 10, thickness: 2, tessellation: 32, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Constrói um tubo enrolado num nó em torno da origem: p e q são quantas vezes ele enrola à volta do anel e através do seu furo, de modo que 2 e 3 dão o clássico trevo.

      Parameters

      • inputs: CreateTorusKnotDto

        O raio, o raio do tubo, os números de segmentos, os números de enrolamento, a orientação dos lados e o indicador de sombra

      Returns Mesh

      A malha do nó tórico

      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 });
      
    • Constrói um polígono plano preenchido a partir dos pontos do seu contorno, com furos opcionais, deitado no plano XZ; um depth acima de 0 dá-lhe espessura para baixo.

      Os pontos são 3D mas só X e Z são usados, e o contorno não se pode cruzar a si próprio.

      Parameters

      • inputs: CreatePolygonDto

        O contorno, os furos, a profundidade, a suavização, a orientação dos lados, o indicador de envolvimento e o indicador de sombra

      Returns Mesh

      A malha do 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 });
      
    • Constrói um sólido extrudindo um polígono plano, dado pelos pontos do seu contorno no plano XZ com furos opcionais, para baixo por depth.

      Parameters

      • inputs: ExtrudePolygonDto

        O contorno, os furos, a profundidade, a orientação dos lados, o indicador de envolvimento e o indicador de sombra

      Returns Mesh

      A malha extrudida

      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 });
      
    • Constrói um tubo com o radius dado ao longo de um caminho de pontos; cap fecha nenhuma, uma ou ambas as extremidades, e arc abaixo de 1 deixa o tubo aberto ao longo do seu comprimento.

      Parameters

      • inputs: CreateTubeDto

        O caminho, o raio, a tesselação, o modo de tampa, a fração do arco, a orientação dos lados e o indicador de sombra

      Returns Mesh

      A malha do 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 });
      
    • Constrói um dos quinze poliedros incorporados por type, do tetraedro (0) à cúpula pentagonal alongada (14), ou o seu próprio a partir de dados custom.

      sizeX, sizeY e sizeZ esticam-no por eixo e recorrem a size quando 0; flat dá sombreamento facetado.

      Parameters

      • inputs: CreatePolyhedronDto

        O tamanho e o tipo, os dados personalizados, o indicador de faces planas, a orientação dos lados e o indicador de sombra

      Returns Mesh

      A malha do 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 });
      
    • Constrói uma esfera geodésica, um icosaedro cujas faces são subdivididas em triângulos tal como m e n indicam, de modo que a superfície é feita de triângulos quase iguais.

      sizeX, sizeY e sizeZ esticam-na por eixo e recorrem a size quando 0.

      Parameters

      • inputs: CreateGeodesicDto

        Os números de subdivisão, os tamanhos, o indicador de faces planas, a orientação dos lados e o indicador de sombra

      Returns Mesh

      A malha 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 });
      
    • Constrói um poliedro de Goldberg, uma bola feita de hexágonos e doze pentágonos como uma bola de futebol, com m e n a definir quantos hexágonos há.

      sizeX, sizeY e sizeZ esticam-no por eixo e recorrem a size quando 0.

      Parameters

      • inputs: CreateGoldbergDto

        Os números de subdivisão, os tamanhos, a orientação dos lados e o indicador de sombra

      Returns Mesh

      A malha 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 });
      
    • Constrói uma cápsula, um cilindro com extremidades arredondadas, com a height e o radius dados ao longo de orientation; radiusTop e radiusBottom dimensionam as duas extremidades separadamente.

      Parameters

      • inputs: CreateCapsuleDto

        A orientação, os tamanhos, os números de subdivisões, a orientação dos lados e o indicador de sombra

      Returns Mesh

      A malha da 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 });
      
    • Constrói um cilindro de pé ao longo de Y, centrado na origem; diâmetros de topo e de base diferentes criam um cone ou um afunilamento, e 0 fecha uma extremidade num ponto.

      Parameters

      • inputs: CreateCylinderDto

        A altura, os dois diâmetros, a tesselação, as subdivisões, a orientação dos lados e o indicador de sombra

      Returns Mesh

      A malha do 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 });
      
    • Varre um perfil ao longo de um caminho: shape é o perfil como pontos no plano XY e path os pontos por onde ele viaja, com scale e rotation em radianos aplicados passo a passo pelo caminho.

      closeShape une as extremidades do perfil, closePath une as do caminho, e cap fecha nenhuma, uma ou ambas as extremidades.

      Parameters

      • inputs: CreateExtrudedShapeDto

        O perfil, o caminho, a escala, a rotação por passo, os indicadores de fecho, o modo de tampa, a orientação dos lados e o indicador de sombra

      Returns Mesh

      A malha varrida

      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 });
      
    • Constrói uma superfície através de vários caminhos de pontos, unindo caminhos vizinhos com triângulos, como tecido esticado sobre um conjunto de linhas.

      closePath une as extremidades de cada caminho, closeArray une o último caminho de volta ao primeiro, e offset desloca a forma como os pontos se emparelham quando só um caminho é dado.

      Parameters

      • inputs: CreateRibbonDto

        Os caminhos, os indicadores de fecho, o deslocamento, o indicador de atualizável, a orientação dos lados e o indicador de sombra

      Returns Mesh

      A malha da fita

      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 });
      
    • Revolve um perfil em torno do eixo Y, como um torno trabalha a madeira: shape é o perfil como pontos no plano XY com X como a distância ao eixo, radius empurra-o para fora, e arc abaixo de 1 deixa a revolução aberta.

      Parameters

      • inputs: CreateLatheDto

        O perfil, o raio, a tesselação, a fração do arco, o indicador de fechado, a orientação dos lados e o indicador de sombra

      Returns Mesh

      A malha de revolução

      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 });
      
    • Constrói um plano de chão plano centrado na origem no plano XZ, width ao longo de X e height ao longo de Z, dividido numa grelha de subdivisionsX por subdivisionsY células.

      Parameters

      • inputs: CreateGroundDto

        A largura, a altura, as subdivisões, a orientação dos lados e o indicador de sombra

      Returns Mesh

      A malha do chão

      const ground = bitbybit.babylon.meshBuilder.createGround({ width: 100, height: 100, subdivisionsX: 1, subdivisionsY: 1, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Constrói um retângulo plano centrado na origem no plano XY, width ao longo de X e height ao longo de Y, virado para o eixo Z.

      Parameters

      Returns Mesh

      A malha do plano

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