Bitbybit Docs
    Bereite Suchindex vor...

    Klasse BabylonMeshBuilder

    Die eigenen Mesh-Primitive von BabylonJS, direkt als renderfertige Meshes in die Szene gebaut statt über einen CAD-Kernel: Quader, Kugeln, Scheiben, Tori, Polygone, Rohre, Polyeder, Kapseln, Zylinder, Extrusionen, Bänder, Drehkörper und Böden. Sie sind schnell erstellt und günstig zu zeichnen, tragen aber keine exakte Geometrie, also verwenden Sie die Kernel, wenn die Form gemessen, geschnitten oder exportiert werden muss. Jeder Builder zentriert sein Mesh auf dem Ursprung, setzt sideOrientation und registriert es für Schatten, sofern enableShadows nicht false ist.

    Index

    Konstruktoren

    create simple

    • Erzeugt einen Quader, zentriert auf dem Ursprung, mit width entlang X, height entlang Y und depth entlang Z.

      Parameter

      • inputs: CreateBoxDto

        Die drei Größen, die Seitenorientierung und das Schatten-Flag

      Rückgabewert Mesh

      Das Quader-Mesh

      const box = bitbybit.babylon.meshBuilder.createBox({ width: 10, height: 5, depth: 20, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Erzeugt einen Würfel, zentriert auf dem Ursprung, mit jeder Kante size lang.

      Parameter

      • inputs: CreateCubeDto

        Die Kantenlänge, die Seitenorientierung und das Schatten-Flag

      Rückgabewert Mesh

      Das Würfel-Mesh

      const cube = bitbybit.babylon.meshBuilder.createCube({ size: 10, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Erzeugt ein flaches Quadrat mit der Seite size, zentriert auf dem Ursprung in der XY-Ebene, zur Z- Achse gerichtet; eine einseitige Ebene ist von hinten unsichtbar, sofern sideOrientation nicht zweiseitig ist.

      Parameter

      Rückgabewert Mesh

      Das Ebenen-Mesh

      const plane = bitbybit.babylon.meshBuilder.createSquarePlane({ size: 10, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Erzeugt eine Kugel mit dem gegebenen diameter, zentriert auf dem Ursprung; segments legt fest, wie fein sie unterteilt ist, wobei mehr runder und schwerer ist.

      Parameter

      • inputs: CreateSphereDto

        Der Durchmesser, die Segmentanzahl, die Seitenorientierung und das Schatten-Flag

      Rückgabewert Mesh

      Das Kugel-Mesh

      const ball = bitbybit.babylon.meshBuilder.createSphere({ diameter: 10, segments: 32, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Erzeugt eine Kugel aus gleichmäßig großen Dreiecken, unterteilt aus einem Ikosaeder, die gleichmäßiger schattiert wird als createSphere.

      radiusX, radiusY und radiusZ strecken sie pro Achse und fallen bei 0 auf radius zurück; flat ergibt facettierte Schattierung.

      Parameter

      • inputs: CreateIcoSphereDto

        Die Radien, das Flach-Flag, die Unterteilungen, die Seitenorientierung und das Schatten-Flag

      Rückgabewert Mesh

      Das Ikosphären-Mesh

      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 });
      
    • Erzeugt eine flache Scheibe mit dem gegebenen radius, zentriert auf dem Ursprung in der XY-Ebene; arc unter 1 lässt ein Tortenstück übrig, sodass 0.5 eine halbe Scheibe ist.

      Parameter

      • inputs: CreateDiscDto

        Der Radius, die Tessellation, der Bogenanteil, die Seitenorientierung und das Schatten-Flag

      Rückgabewert Mesh

      Das Scheiben-Mesh

      const disc = bitbybit.babylon.meshBuilder.createDisc({ radius: 5, tessellation: 32, arc: 1, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Erzeugt einen Ring, der in der XZ-Ebene um den Ursprung liegt: diameter ist der Gesamtdurchmesser des Rings und thickness der Durchmesser seines Schlauchs.

      Parameter

      • inputs: CreateTorusDto

        Der Durchmesser, die Rohrdicke, die Tessellation, die Seitenorientierung und das Schatten-Flag

      Rückgabewert Mesh

      Das Torus-Mesh

      const ring = bitbybit.babylon.meshBuilder.createTorus({ diameter: 10, thickness: 2, tessellation: 32, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Erzeugt einen zu einem Knoten gewundenen Schlauch um den Ursprung: p und q sind, wie oft er sich um den Ring und durch sein Loch windet, sodass 2 und 3 das klassische Kleeblatt ergeben.

      Parameter

      • inputs: CreateTorusKnotDto

        Der Radius, der Rohrradius, die Segmentanzahlen, die Windungszahlen, die Seitenorientierung und das Schatten-Flag

      Rückgabewert Mesh

      Das Torusknoten-Mesh

      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 });
      
    • Erzeugt ein flaches gefülltes Polygon aus seinen Umrisspunkten, mit optionalen Löchern, in der XZ- Ebene liegend; ein depth über 0 gibt ihm Dicke nach unten.

      Die Punkte sind 3D, aber nur X und Z werden verwendet, und der Umriss darf sich nicht selbst kreuzen.

      Parameter

      • inputs: CreatePolygonDto

        Der Umriss, die Löcher, die Tiefe, die Glättung, die Seitenorientierung, das Wrap-Flag und das Schatten-Flag

      Rückgabewert Mesh

      Das Polygon-Mesh

      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 });
      
    • Erzeugt einen Volumenkörper durch Extrudieren eines flachen Polygons, gegeben durch seine Umrisspunkte in der XZ-Ebene mit optionalen Löchern, nach unten um depth.

      Parameter

      • inputs: ExtrudePolygonDto

        Der Umriss, die Löcher, die Tiefe, die Seitenorientierung, das Wrap-Flag und das Schatten-Flag

      Rückgabewert Mesh

      Das extrudierte Mesh

      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 });
      
    • Erzeugt ein Rohr mit dem gegebenen radius entlang eines Pfads aus Punkten; cap schließt kein, ein oder beide Enden, und arc unter 1 lässt das Rohr entlang seiner Länge offen.

      Parameter

      • inputs: CreateTubeDto

        Der Pfad, der Radius, die Tessellation, der Kappenmodus, der Bogenanteil, die Seitenorientierung und das Schatten-Flag

      Rückgabewert Mesh

      Das Rohr-Mesh

      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 });
      
    • Erzeugt eines der fünfzehn eingebauten Polyeder nach type, vom Tetraeder (0) bis zur verlängerten fünfeckigen Kuppel (14), oder ein eigenes aus custom-Daten.

      sizeX, sizeY und sizeZ strecken es pro Achse und fallen bei 0 auf size zurück; flat ergibt facettierte Schattierung.

      Parameter

      • inputs: CreatePolyhedronDto

        Die Größe und der Typ, die benutzerdefinierten Daten, das Flach-Flag, die Seitenorientierung und das Schatten-Flag

      Rückgabewert Mesh

      Das Polyeder-Mesh

      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 });
      
    • Erzeugt eine geodätische Kugel, ein Ikosaeder, dessen Flächen in Dreiecke unterteilt sind, wie m und n es angeben, sodass die Oberfläche aus nahezu gleichen Dreiecken besteht.

      sizeX, sizeY und sizeZ strecken sie pro Achse und fallen bei 0 auf size zurück.

      Parameter

      • inputs: CreateGeodesicDto

        Die Unterteilungszahlen, die Größen, das Flach-Flag, die Seitenorientierung und das Schatten-Flag

      Rückgabewert Mesh

      Das geodätische Mesh

      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 });
      
    • Erzeugt ein Goldberg-Polyeder, einen Ball aus Sechsecken und zwölf Fünfecken wie ein Fußball, wobei m und n festlegen, wie viele Sechsecke es gibt.

      sizeX, sizeY und sizeZ strecken es pro Achse und fallen bei 0 auf size zurück.

      Parameter

      • inputs: CreateGoldbergDto

        Die Unterteilungszahlen, die Größen, die Seitenorientierung und das Schatten-Flag

      Rückgabewert Mesh

      Das Goldberg-Mesh

      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 });
      
    • Erzeugt eine Kapsel, einen Zylinder mit gerundeten Enden, mit der gegebenen height und dem radius entlang orientation; radiusTop und radiusBottom bemessen die beiden Enden getrennt.

      Parameter

      • inputs: CreateCapsuleDto

        Die Orientierung, die Größen, die Unterteilungsanzahlen, die Seitenorientierung und das Schatten-Flag

      Rückgabewert Mesh

      Das Kapsel-Mesh

      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 });
      
    • Erzeugt einen entlang Y stehenden Zylinder, zentriert auf dem Ursprung; unterschiedliche obere und untere Durchmesser ergeben einen Kegel oder eine Verjüngung, und 0 schließt ein Ende zu einer Spitze.

      Parameter

      • inputs: CreateCylinderDto

        Die Höhe, die beiden Durchmesser, die Tessellation, die Unterteilungen, die Seitenorientierung und das Schatten-Flag

      Rückgabewert Mesh

      Das Zylinder-Mesh

      const cone = bitbybit.babylon.meshBuilder.createCylinder({ height: 10, diameterTop: 0, diameterBottom: 6, tessellation: 64, subdivisions: 1, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Führt ein Profil entlang eines Pfads: shape ist das Profil als Punkte in der XY-Ebene und path die Punkte, durch die es wandert, wobei scale und rotation in Radiant Schritt für Schritt unterwegs angewendet werden.

      closeShape verbindet die Enden des Profils, closePath die des Pfads, und cap schließt kein, ein oder beide Enden.

      Parameter

      • inputs: CreateExtrudedShapeDto

        Das Profil, der Pfad, die Skalierung, die Drehung pro Schritt, die Schließ-Flags, der Kappenmodus, die Seitenorientierung und das Schatten-Flag

      Rückgabewert Mesh

      Das per Sweep erzeugte Mesh

      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 });
      
    • Erzeugt eine Oberfläche durch mehrere Pfade aus Punkten, wobei benachbarte Pfade mit Dreiecken verbunden werden, wie Stoff, der über eine Reihe von Linien gespannt ist.

      closePath verbindet die Enden jedes Pfads, closeArray verbindet den letzten Pfad zurück mit dem ersten, und offset verschiebt, wie sich Punkte paaren, wenn nur ein Pfad angegeben ist.

      Parameter

      • inputs: CreateRibbonDto

        Die Pfade, die Schließ-Flags, der Versatz, das Aktualisierbar-Flag, die Seitenorientierung und das Schatten-Flag

      Rückgabewert Mesh

      Das Band-Mesh

      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 });
      
    • Rotiert ein Profil um die Y-Achse, so wie eine Drehbank Holz dreht: shape ist das Profil als Punkte in der XY-Ebene mit X als Abstand von der Achse, radius schiebt es nach außen, und arc unter 1 lässt die Rotation offen.

      Parameter

      • inputs: CreateLatheDto

        Das Profil, der Radius, die Tessellation, der Bogenanteil, das Geschlossen-Flag, die Seitenorientierung und das Schatten-Flag

      Rückgabewert Mesh

      Das Drehkörper-Mesh

      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 });
      
    • Erzeugt eine flache Bodenebene, zentriert auf dem Ursprung in der XZ-Ebene, width entlang X und height entlang Z, unterteilt in ein Gitter aus subdivisionsX mal subdivisionsY Zellen.

      Parameter

      • inputs: CreateGroundDto

        Die Breite, die Höhe, die Unterteilungen, die Seitenorientierung und das Schatten-Flag

      Rückgabewert Mesh

      Das Boden-Mesh

      const ground = bitbybit.babylon.meshBuilder.createGround({ width: 100, height: 100, subdivisionsX: 1, subdivisionsY: 1, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Erzeugt ein flaches Rechteck, zentriert auf dem Ursprung in der XY-Ebene, width entlang X und height entlang Y, zur Z-Achse gerichtet.

      Parameter

      Rückgabewert Mesh

      Das Ebenen-Mesh

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