Outils pour utilisateurs

Outils du site


functions:mesh

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
functions:mesh [2017/05/18 10:34] falsamfunctions:mesh [2023/03/15 15:50] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +===== 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.
 +<file purebasic  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())
 +</file>
 +
 +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.
 +
 +
 +