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.