Outils pour utilisateurs

Outils du site


functions:mesh

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.txt · Dernière modification : 2023/03/15 15:50 de 127.0.0.1