Outils pour utilisateurs

Outils du site


functions:mesh

Ceci est une ancienne révision du document !


Mesh

  • Chaque mesh est identifié par nom alphanumérique.
  • Chaque mesh retourne un objet javascript.
  • Chaque mesh est physic.

Result = CreateSphere(Name.s, Size.f, Subdivs = 16)
Créer une sphère.

Result = CreateGround(Name.s, Width.f, Depth.f, Subdivs = 2)
Créer une surface plane horizontale.

Result = CreatePlane(Name.s, Width.f Height.f)
Créer un plan (vertical par défaut)

Result = CreateBox(Name.s, Width.f, Height.f, Depth.f)
Créer une boite.

Result = CreateCylinder(Name.s, Height.f, DiamTop.f, DiamBottom.f, Tessellation.i = 30, HeightSubdivs.i = 1)
Créer un cylindre

Result = CreateTorus(Name.s, Diameter, Thickness, Tesselation = 32)
Créer un torus.

Result = CreateTube(Name.s, Array VectorsArray.NewVector(1), Radius.f, Tessellation = 32, RadiusFunction = #PB_Ignore)
Créer un tube.

Result = CreateIcoSphere(Name.s, Radius, RadiusY, Subdivs = 16)
Créer un icosphere.

Result = CreateTerrain(Name.s, HeightMap.s, Width.f, Depth.f, Subdivs.i, Minheight.f, MaxHeight.f)
Créer un terrain. La représentation du relief d'un terrain passe par une carte des altitudes, plus communément appelée par son terme anglo-saxon, heightmap. Les zones les plus claires (blanches) correspondent aux hautes altitudes, tandis que les zones les plus sombres (noires) correspondent aux basses altitudes.

CreateMeshBody(Mesh, Type, Mass.f = 1.0, Restitution.f = 1.0, Friction = 0.1)
Crée ou change le type de corps physique d'un mesh : #BJS_PlaneBody, #BJS_SphereBody, #BJS_BoxBody, #BJS_CylinderBody

ApplyMeshImpulse(Mesh, x.f, y.f, z.f)
Appliquer une impulsion sur l'axe 3D.

MeshCollide(Mesh1, Mesh2, CallBack)
Vérifier si deux entités entrent en collision et définir les actions dans un callback. Pour que les collisions soient gérées par le moteur physique, un mesh a besoin d'un corps (body) créé avec CreateMeshBody().

Result$ = GetMeshName(Mesh)
Retourner le nom d'un mesh.

Result = GetMeshByName(MeshName.s)
Retourner l'objet mesh associé au nom passé en paramètre.

FreeMesh(Mesh)
Supprimer un mesh de la scene.

MoveMesh(Mesh, x.f, y.f, z.f, Mode = #PB_Absolute)
Déplacer un mesh.

RotateMesh(Mesh, x.f, y.f, z.f, Mode = #PB_Absolute)
Déplacer un mesh.

ScaleMesh(Mesh, x.f, y.f, z.f, Mode = #PB_Absolute)
Changer les dimensions d'un mesh.

Result = CloneMesh(Mesh)
Clone un mesh.

MergeMeshes(Array Meshes(1)) Fusionner plusieurs meshes en un seul mesh.

code.sb
Global Dim Meshes(1)
 
Meshes(0) = CreateBox("box", 0.5, 1, 0.5)   
Meshes(1) = CreateSphere("sphere", 0.7)
MoveMesh(Meshes(1), 0, 0.8, 0)
 
Object = MergeMeshes(Meshes())

Si vous avez besoin d'une copie de ce nouveau mesh, utilisez la fonction CloneMesh()

AttachMesh(Parent, Child, x.f, y.f, z.f)
Attache un mesh fils sur un mesh parent.

MeshLookAt(Mesh, Target)
Spécifier le le mesh qui fait face à un autre mesh.

SetMeshPivot(Mesh, x.f, y.f, z.f) (Prochaine version)
Change le point de pivot d'un mesh.

PickEnable()
Active le system de picking.

IsPick()
Un mesh est t'il cliqué avec la souris ?

PickMesh()
Renvoie l'objet mesh.

Result = PickX()
Renvoie la position de la souris sur l'axe X.

Result = PickY()
Renvoie la position de la souris sur l'axe Y.

Result = PickZ()
Renvoie la position de la souris sur l'axe Z.

functions/mesh.1516626778.txt.gz · Dernière modification : 2023/03/15 15:51 (modification externe)