Bitbybit Docs
    Preparing search index...

    Class BabylonMesh

    Travailler avec les maillages déjà présents dans la scène BabylonJS, les objets que draw.drawAnyAsync renvoie : les déplacer, les tourner et les mettre à l'échelle, les afficher et les masquer, les rattacher à un parent, les indicateurs de sélection et de collision, les noms et ids, le clonage et l'instanciation pour de nombreuses copies, et la relecture de leurs triangles. Les rotations sont données en degrés ; les positions et distances sont en unités de la scène.

    Index

    Constructors

    edit

    • Réunit plusieurs maillages en un seul nouveau maillage, qui se dessine plus vite que beaucoup de maillages séparés.

      Les sources sont supprimées quand disposeSource est vrai ; activez allow32BitsIndices quand les maillages ont ensemble plus de 65 mille sommets, et utilisez les options de sous-maillage pour conserver des matériaux séparés.

      Parameters

      Returns Mesh

      Le maillage fusionné

      const merged = bitbybit.babylon.mesh.mergeMeshes({ arrayOfMeshes: [meshA, meshB], disposeSource: true, allow32BitsIndices: true, subdivideWithSubMeshes: false, multiMultiMaterials: false });
      
    • Donne à chaque triangle d'un maillage ses propres sommets et normales, de sorte que les faces apparaissent comme des facettes plates au lieu d'être lissées à travers les arêtes ; le maillage est modifié sur place et renvoyé.

      Parameters

      Returns Mesh

      Le même maillage, avec un ombrage plat

      const faceted = bitbybit.babylon.mesh.convertToFlatShadedMesh({ babylonMesh: mesh });
      
    • Fait une copie d'un maillage, avec ses enfants, qui partage la géométrie de l'original et est placée au même endroit ; la copie projette et reçoit les ombres comme l'original.

      Parameters

      Returns Mesh

      La copie

      const copy = bitbybit.babylon.mesh.clone({ babylonMesh: mesh });
      bitbybit.babylon.mesh.setPosition({ babylonMesh: copy, position: [10, 0, 0] });
    • Fait une copie d'un maillage à chaque position donnée, dans le même ordre ; les copies partagent la géométrie de l'original.

      Parameters

      Returns Mesh[]

      Une copie par position

      const copies = bitbybit.babylon.mesh.cloneToPositions({ babylonMesh: mesh, positions: [[0, 0, 0], [10, 0, 0], [20, 0, 0]] });
      

    get

    • Lit le nœud auquel un maillage est rattaché, celui avec lequel il se déplace ; un maillage de premier niveau n'en a pas.

      Parameters

      Returns Node

      Le nœud parent

    • Lit si un maillage participe à la vérification des collisions.

      Parameters

      Returns boolean

      Vrai quand les collisions sont vérifiées contre le maillage

    • Définit si un maillage répond à la sélection au pointeur, et ses enfants aussi quand includeChildren est vrai ; un maillage non sélectionnable est ignoré par les clics et les rayons de sélection.

      Parameters

      Returns void

      bitbybit.babylon.mesh.setPickable({ babylonMesh: mesh, pickable: true, includeChildren: true });
      
    • Lit si le maillage peut être sélectionné avec le pointeur.

      Parameters

      Returns boolean

      Vrai quand le maillage répond à la sélection

    • Trouve chaque maillage de la scène dont le nom contient le texte donné, sensible à la casse, dans l'ordre de la scène.

      Parameters

      Returns AbstractMesh[]

      Les maillages correspondants

      const wheels = bitbybit.babylon.mesh.getMeshesWhereNameContains({ name: "wheel" });
      
    • Liste les maillages rattachés sous un maillage : tous les descendants, ou seulement les enfants directs quand directDescendantsOnly est vrai.

      Parameters

      Returns AbstractMesh[]

      Les maillages enfants

      const parts = bitbybit.babylon.mesh.getChildMeshes({ babylonMesh: model, directDescendantsOnly: false });
      
    • Trouve chaque maillage de la scène ayant exactement l'id donné ; les ids n'ont pas besoin d'être uniques, plusieurs peuvent donc correspondre.

      Parameters

      Returns AbstractMesh[]

      Les maillages portant cet id

      const meshes = bitbybit.babylon.mesh.getMeshesOfId({ id: "wheel" });
      
    • Trouve le premier maillage de la scène ayant exactement l'id donné ; utilisez getMeshesOfId quand plusieurs le partagent.

      Parameters

      Returns AbstractMesh

      Le premier maillage portant cet id

      const mesh = bitbybit.babylon.mesh.getMeshOfId({ id: "wheel" });
      
    • Trouve le maillage ayant l'id unique donné, le numéro que la scène attribue une fois à chaque maillage, tel que getUniqueId le lit.

      Parameters

      Returns AbstractMesh

      Le maillage portant cet id unique

      const id = bitbybit.babylon.mesh.getUniqueId({ babylonMesh: mesh });
      const same = bitbybit.babylon.mesh.getMeshOfUniqueId({ uniqueId: id });
    • Lit l'id d'un maillage, l'étiquette définie par setId ou par le chargeur qui l'a créé.

      Parameters

      Returns string

      L'id

    • Lit l'id unique d'un maillage, le numéro que la scène donne une fois à chaque maillage et ne réutilise jamais.

      Parameters

      Returns number

      Le numéro d'id unique

    • Lit les triangles d'un maillage sous forme de listes de trois points dans les coordonnées propres du maillage, la forme que jscad.shapes.fromPolygonPoints et les constructeurs similaires prennent. Le maillage doit être fait de triangles.

      Parameters

      Returns Point3[][]

      Les triangles sous forme de listes de trois points

      const triangles = bitbybit.babylon.mesh.getVerticesAsPolygonPoints({ babylonMesh: mesh });
      
    • Lit le nom d'un maillage, tel que défini par setName ou par ce qui l'a créé.

      Parameters

      Returns string

      Le nom

    • Lit le matériau d'un maillage, la description de surface avec laquelle ses faces sont dessinées.

      Parameters

      Returns Material

      Le matériau

    • Lit la position d'un maillage par rapport à son parent, sous forme de point.

      Parameters

      Returns Point3

      La position sous forme de point

    • Lit la position d'un maillage en coordonnées monde, avec la transformation de chaque parent appliquée.

      Parameters

      Returns Point3

      La position dans le monde sous forme de point

    • Lit la rotation d'un maillage autour de X, Y et Z, en radians, telle que sa propriété de rotation la contient.

      Parameters

      Returns Point3

      Les angles de rotation en radians

    • Lit les facteurs d'échelle d'un maillage le long de X, Y et Z ; 1 signifie sans mise à l'échelle.

      Parameters

      Returns Point3

      Les facteurs d'échelle

    instance

    • Crée une instance placée d'un maillage, comme le fait createMeshInstanceAndTransform, sans la renvoyer ; pour les scripts qui ont seulement besoin que la copie apparaisse.

      Parameters

      Returns void

      bitbybit.babylon.mesh.createMeshInstanceAndTransformNoReturn({ mesh, position: [10, 0, 0], rotation: [0, 45, 0], scaling: [1, 1, 1] });
      
    • Crée une instance d'un maillage, une copie légère qui partage sa géométrie et se dessine à peu de frais, et la place à la position, la rotation en degrés et l'échelle données.

      Un maillage avec des enfants reçoit une instance par enfant, rassemblées sous un nouveau conteneur ; l'original est masqué.

      Parameters

      Returns Mesh

      Le conteneur qui porte les instances

      const instance = bitbybit.babylon.mesh.createMeshInstanceAndTransform({ mesh, position: [10, 0, 0], rotation: [0, 45, 0], scaling: [1, 1, 1] });
      
    • Crée une instance d'un maillage, une copie légère qui partage sa géométrie et se dessine à peu de frais quand beaucoup de copies semblables sont nécessaires, placée là où se trouve l'original.

      Un maillage avec des enfants reçoit une instance par enfant, rassemblées sous un nouveau conteneur.

      Parameters

      Returns Mesh

      L'instance, ou le conteneur qui porte les instances enfants

      const instance = bitbybit.babylon.mesh.createMeshInstance({ mesh });
      bitbybit.babylon.mesh.setPosition({ babylonMesh: instance, position: [10, 0, 0] });

    intersects

    • Indique si deux maillages se chevauchent, jugé par leurs boîtes englobantes : alignées sur les axes par défaut, ou des boîtes qui suivent la rotation de chaque maillage quand precise est vrai ; includeDescendants teste aussi leurs enfants.

      Parameters

      Returns boolean

      Vrai quand les maillages se chevauchent

      const touching = bitbybit.babylon.mesh.intersectsMesh({ babylonMesh: meshA, babylonMesh2: meshB, precise: true, includeDescendants: false });
      
    • Indique si un point se trouve à l'intérieur de la boîte englobante d'un maillage.

      Parameters

      Returns boolean

      Vrai quand le point est à l'intérieur des limites du maillage

      const inside = bitbybit.babylon.mesh.intersectsPoint({ babylonMesh: mesh, point: [0, 1, 0] });
      

    memory

    • Retire un maillage de la scène et libère ses ressources GPU ; le maillage ne peut plus être utilisé ensuite. Rien ne se passe quand aucun maillage n'est donné.

      Parameters

      Returns void

      bitbybit.babylon.mesh.dispose({ babylonMesh: mesh });
      

    move

    • Déplace un maillage le long de sa propre direction avant, l'axe Z local, de distance unités de la scène ; un maillage tourné se déplace dans la direction où il fait face.

      Parameters

      Returns void

      bitbybit.babylon.mesh.moveForward({ babylonMesh: mesh, distance: 5 });
      
    • Déplace un maillage à l'opposé de sa propre direction avant, l'axe Z local, de distance unités de la scène.

      Parameters

      Returns void

    • Déplace un maillage le long de sa propre direction haut, l'axe Y local, de distance unités de la scène.

      Parameters

      Returns void

    • Déplace un maillage à l'opposé de sa propre direction haut, l'axe Y local, de distance unités de la scène.

      Parameters

      Returns void

    • Déplace un maillage le long de sa propre direction droite, l'axe X local, de distance unités de la scène.

      Parameters

      Returns void

    • Déplace un maillage à l'opposé de sa propre direction droite, l'axe X local, de distance unités de la scène.

      Parameters

      Returns void

    • Tourne un maillage autour de son propre axe Y de rotate degrés, en plus de sa rotation actuelle, comme une voiture tourne à gauche ou à droite.

      Parameters

      Returns void

      bitbybit.babylon.mesh.yaw({ babylonMesh: mesh, rotate: 45 });
      
    • Tourne un maillage autour de son propre axe X de rotate degrés, en plus de sa rotation actuelle, comme un nez pique ou se relève.

      Parameters

      Returns void

    • Tourne un maillage autour de son propre axe Z de rotate degrés, en plus de sa rotation actuelle, comme une aile s'incline.

      Parameters

      Returns void

    • Tourne un maillage de angle degrés autour d'un axe passant par position, de sorte que le maillage orbite autour de ce point au lieu de tourner sur place.

      Parameters

      Returns void

      bitbybit.babylon.mesh.rotateAroundAxisWithPosition({ mesh, position: [0, 0, 0], axis: [0, 1, 0], angle: 90 });
      

    set

    • Fait d'un maillage l'enfant d'un autre, de sorte qu'il se déplace, tourne et se met à l'échelle avec son parent désormais ; sa position devient relative au parent.

      Parameters

      • inputs: SetParentDto

        Le maillage et le maillage auquel le rattacher comme parent

      Returns void

      bitbybit.babylon.mesh.setParent({ babylonMesh: wheel, parentMesh: car });
      
    • Active ou désactive la vérification des collisions pour un maillage, et ses enfants quand includeChildren est vrai, de sorte qu'une caméra ou un autre collisionneur avec les collisions activées ne peut pas le traverser.

      Parameters

      Returns void

      bitbybit.babylon.mesh.setCheckCollisions({ babylonMesh: walls, checkCollisions: true, includeChildren: true });
      
    • Permet à un maillage, et à ses enfants quand includeChildren est vrai, de réagir au simple passage du pointeur, ce qui est désactivé par défaut car cela coûte une sélection à chaque mouvement du pointeur.

      Parameters

      Returns void

      bitbybit.babylon.mesh.enablePointerMoveEvents({ babylonMesh: mesh, includeChildren: true });
      
    • Empêche un maillage, et ses enfants quand includeChildren est vrai, de réagir aux mouvements du pointeur, retour à la valeur par défaut.

      Parameters

      Returns void

      bitbybit.babylon.mesh.disablePointerMoveEvents({ babylonMesh: mesh, includeChildren: true });
      
    • Définit l'id d'un maillage, une étiquette par laquelle getMeshOfId le trouve et qui n'a pas besoin d'être unique.

      Parameters

      Returns void

    • Définit le nom d'un maillage, et de ses enfants aussi quand includeChildren est vrai ; les noms sont ce que getMeshesWhereNameContains recherche.

      Parameters

      Returns void

    • Donne un matériau à un maillage, et à ses enfants aussi quand includeChildren est vrai ; le matériau décide de la couleur, de la brillance et de la transparence de sa surface.

      Parameters

      Returns void

      const material = bitbybit.babylon.material.pbrMetallicRoughness.create({ name: "red", baseColor: "#ff0000", emissiveColor: "#000000", metallic: 0.2, roughness: 0.6, alpha: 1, backFaceCulling: false, zOffset: 0 });
      bitbybit.babylon.mesh.setMaterial({ babylonMesh: mesh, material, includeChildren: true });
    • Place un maillage, ou une instance de maillage, à un point relatif à son parent.

      Parameters

      Returns void

      bitbybit.babylon.mesh.setPosition({ babylonMesh: mesh, position: [0, 5, 0] });
      
    • Définit la rotation d'un maillage, ou d'une instance de maillage, en angles en degrés autour de X, Y et Z, en remplaçant sa rotation actuelle.

      Parameters

      Returns void

      bitbybit.babylon.mesh.setRotation({ babylonMesh: mesh, rotation: [0, 90, 0] });
      
    • Définit les facteurs d'échelle d'un maillage, ou d'une instance de maillage, le long de X, Y et Z, en remplaçant son échelle actuelle ; 1 signifie sans mise à l'échelle.

      Parameters

      Returns void

      bitbybit.babylon.mesh.setScale({ babylonMesh: mesh, scale: [2, 1, 1] });
      
    • Multiplie l'échelle actuelle d'un maillage, ou d'une instance de maillage, par un seul facteur sur tous les axes, de sorte que 2 double la taille qu'il a.

      Parameters

      Returns void

    updates

    • Déplace, tourne, met à l'échelle et recolore un maillage dessiné sur place, sans le redessiner, ce qui est plus rapide quand seuls le placement ou la couleur changent.

      rotation est ici en radians. colours est une couleur hexadécimale, ou une liste avec une entrée par maillage enfant, ou par point ou ligne d'un tel dessin ; toute autre liste utilise sa première entrée.

      Parameters

      • inputs: UpdateDrawnBabylonMesh

        Le maillage dessiné, sa nouvelle position, sa rotation, son échelle et ses couleurs

      Returns void

      bitbybit.babylon.mesh.updateDrawn({ babylonMesh: mesh, position: [0, 5, 0], rotation: [0, Math.PI / 2, 0], scaling: [1, 1, 1], colours: "#ff0000" });
      

    visibility

    • Règle la visibilité d'un maillage, de 0 pour totalement transparent à 1 pour totalement affiché, les valeurs intermédiaires l'estompant ; includeChildren applique la même valeur à ses maillages enfants.

      Parameters

      Returns void

      bitbybit.babylon.mesh.setVisibility({ babylonMesh: mesh, visibility: 0.5, includeChildren: true });
      
    • Masque un maillage sans le retirer de la scène, et ses maillages enfants aussi quand includeChildren est vrai ; show le fait réapparaître.

      Parameters

      Returns void

      bitbybit.babylon.mesh.hide({ babylonMesh: mesh, includeChildren: true });
      
    • Affiche un maillage que hide ou un dessin masqué a rendu invisible, et ses maillages enfants aussi quand includeChildren est vrai.

      Parameters

      Returns void

      bitbybit.babylon.mesh.show({ babylonMesh: mesh, includeChildren: true });