Package: @aspose/3d (v24.12.0) Langage : TypeScript / Node.js 18+ Licence : MIT
@aspose/3d est une bibliothèque sous licence MIT pour la lecture, la construction et l’exportation de scènes 3D dans Node.js. Elle est fournie avec des définitions de types TypeScript complètes, une seule dépendance d’exécution (xmldom), et prend en charge sept principaux formats de fichiers 3D. Toutes les entrées/sorties sont synchrones. Aucun module natif n’est requis.
Enumerations
Enumerations tsconfig.json paramètres pour une résolution correcte des sous‑chemins :
La classe Shape fournit des méthodes internes pour travailler avec les espaces réservés :
Enumerations
Le conteneur racine d’une scène 3D. Tout le contenu ; nœuds, géométrie, matériaux et animations ; est stocké dans un arbre dont la racine est scene.rootNode.Utilisez open() / openFromBuffer() pour charger un fichier et save() / saveToBuffer() à exporter.
| Enumerations | Enumerations | Enumerations |
|---|
rootNode | Node | Racine du graphe de scène |
assetInfo | AssetInfo | Métadonnées du fichier (créateur, unités, système de coordonnées) |
animationClips | AnimationClip[] | Tous les clips d’animation dans la scène |
open(path, opts?) | (string, LoadOptions?) → void | Charger un fichier depuis le disque |
openFromBuffer(buf, opts?) | (Buffer, LoadOptions?) → void | Charger depuis le tampon en mémoire |
save(path, opts?) | (string, SaveOptions?) → void | Enregistrer sur le disque (format déduit de l’extension) |
saveToBuffer(ext, opts?) | (string, SaveOptions?) → Buffer | Enregistrer dans le tampon en mémoire |
createAnimationClip(name) | (string) → AnimationClip | Créer et enregistrer un nouveau clip d’animation |
Enumerations
Un nœud d’arbre nommé dans le graphe de scène. Les nœuds portent un optionnel Entity (mesh, camera, light) et un Transform qui positionne le nœud par rapport à son parent.
| Enumerations | Enumerations | Enumerations |
|---|
name | string | Nom du nœud |
childNodes | Node[] | Nœuds enfants directs |
entity | `Entity | null` |
transform | Transform | Translation, rotation, mise à l’échelle locales |
materials | Material[] | Matériaux assignés à ce nœud |
createChildNode(name) | (string) → Node | Ajouter un nœud enfant |
getChildNode(name) | `(string) → Node | null` |
Enumerations
Maillage polygonal ; le type de géométrie principal. Étend Geometry.
| Enumerations | Enumerations | Enumerations |
|---|
controlPoints | Vector4[] | Positions des sommets (w=1 pour les positions) |
polygonCount | number | Nombre de polygones |
createPolygon(indices) | (number[]) → void | Ajouter un polygone (triangle ou quad) |
getElement(type) | `(VertexElementType) → VertexElement | null` |
createElement(type) | (VertexElementType) → VertexElement | Créer un élément de sommet |
Enumerations
Transformation locale appliquée à un nœud.
| Enumerations | Enumerations | Enumerations |
|---|
translation | Vector3 | Position locale |
eulerAngles | Vector3 | Rotation d’Euler en degrés (ordre XYZ) |
rotation | Quaternion | Rotation en quaternion |
scaling | Vector3 | Échelle locale |
Classes de matériaux
| Enumerations | Enumerations | Propriétés clés |
|---|
LambertMaterial | Diffuse + ombrage ambiant | diffuseColor, ambientColor, transparency |
PhongMaterial | Ajoute le spéculaire + l’émissif à Lambert | specularColor, shininess, emissiveColor |
PbrMaterial | Basé sur la physique pour glTF 2.0 | albedo, metallicFactor, roughnessFactor, emissiveColor |
Classes mathématiques
| Enumerations | Enumerations |
|---|
Vector3 | 3-component double-precision vector (x, y, z) |
Vector4 | 4-component vector for homogeneous math (x, y, z, w) |
FVector3 | Variante simple précision utilisée dans les données de sommet |
Matrix4 | 4×4 transformation matrix; multiply, invert, decompose |
Quaternion | Quaternion de rotation ; fromEulerAngle, toEulerAngles, slerp |
BoundingBox | Boîte englobante alignée sur les axes ; minimum, maximum, center, size, merge |
Classes d’animation
| Enumerations | Enumerations |
|---|
AnimationClip | Clip nommé ; contient AnimationNode liste ; accédée via scene.animationClips |
AnimationNode | Lie un clip à un nœud de scène nommé ; contient AnimationChannel liste |
AnimationChannel | Cible une seule propriété (p. ex. translation X) ; détient un KeyframeSequence |
KeyframeSequence | Liste ordonnée de KeyFrame objets avec interpolation et extrapolation |
KeyFrame | Paire temps/valeur unique |
Enumerations
| Enumerations | Enumerations | Enumerations |
|---|
VertexElementType | NORMAL, UV, VERTEX_COLOR, BINORMAL, TANGENT | Sémantique de l’élément de sommet |
MappingMode | CONTROL_POINT, POLYGON_VERTEX, POLYGON, ALL_SAME | Comment les données se mappent à la géométrie |
ReferenceMode | DIRECT, INDEX, INDEX_TO_DIRECT | Stratégie d’indexation des données d’élément de sommet |
Interpolation | CONSTANT, LINEAR, BEZIER | Interpolation d’image-clé |
Extrapolation | CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, OSCILLATE | Comportement en dehors de la plage d’images-clés |
Modules de format
Les classes d’options spécifiques à chaque format sont exportées depuis des modules de sous‑chemin. Importez‑les séparément :
Module OBJ (@aspose/3d/formats/obj)
| Enumerations | Options clés |
|---|
ObjLoadOptions | enableMaterials, flipCoordinateSystem, scale, normalizeNormal |
Module glTF/GLB (@aspose/3d/formats/gltf)
| Enumerations | Options clés |
|---|
GltfSaveOptions | binaryMode (true → .glb), flipTexCoordV |
GltfFormat | GltfFormat.getInstance():instance de format pour scene.save() |
Module STL (@aspose/3d/formats/stl)
| Enumerations | Options clés |
|---|
StlLoadOptions | N/A |
StlSaveOptions | binaryMode (false → ASCII, true → binaire) |
Module FBX (@aspose/3d/formats/fbx)
| Enumerations | Options clés |
|---|
FbxLoadOptions | N/A |
FbxSaveOptions | embedTextures |
Formats pris en charge
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|
| Enumerations | .obj | Enumerations | Enumerations |
| glTF 2.0 | .gltf | Enumerations | Enumerations |
| Enumerations | .glb | Enumerations | Enumerations |
| STL | .stl | Enumerations | Enumerations |
| FBX | .fbx | Non* | Non* |
| COLLADA | .dae | Enumerations | Enumerations |
| 3MF | .3mf | Enumerations | Enumerations |
Exemple de référence rapide
Voir aussi