Paquet: @aspose/3d (v24.12.0) Llenguatge: TypeScript / Node.js 18+ Llicència: MIT
@aspose/3d és una biblioteca amb llicència MIT per llegir, construir i exportar escenes 3D a Node.js. Ve amb definicions de tipus TypeScript completes, una única dependència d’execució (xmldom), i admet set formats de fitxer 3D principals. Tot l’E/S és sincrònic. No es requereixen complements natius.
Enumerations
Enumerations tsconfig.json paràmetres per a la resolució correcta de subcamins:
Classes principals
Enumerations
El contenidor arrel d’una escena 3D. Tot el contingut; nodes, geometria, materials i animacions; s’emmagatzema en un arbre arrelat a scene.rootNode.Utilitzeu open() / openFromBuffer() per carregar un fitxer i save() / saveToBuffer() per exportar.
| Enumerations | Enumerations | Enumerations |
|---|
rootNode | Node | Arrel del gràfic de l’escena |
assetInfo | AssetInfo | Metadades del fitxer (creador, unitats, sistema de coordenades) |
animationClips | AnimationClip[] | Tots els clips d’animació de l’escena |
open(path, opts?) | (string, LoadOptions?) → void | Carrega un fitxer des del disc |
openFromBuffer(buf, opts?) | (Buffer, LoadOptions?) → void | Carrega des d’un buffer en memòria |
save(path, opts?) | (string, SaveOptions?) → void | Desa al disc (format inferit de l’extensió) |
saveToBuffer(ext, opts?) | (string, SaveOptions?) → Buffer | Desa a un buffer en memòria |
createAnimationClip(name) | (string) → AnimationClip | Crea i registra un nou clip d’animació |
Enumerations
Un node d’arbre amb nom al gràfic de l’escena. Els nodes porten un opcional Entity (malla, càmera, llum) i una Transform que posiciona el node respecte del seu pare.
| Enumerations | Enumerations | Enumerations |
|---|
name | string | Nom del node |
childNodes | Node[] | Nodes fills directes |
entity | `Entity | null` |
transform | Transform | Traducció, rotació i escala locals |
materials | Material[] | Materials assignats a aquest node |
createChildNode(name) | (string) → Node | Afegeix un node fill |
getChildNode(name) | `(string) → Node | null` |
Enumerations
Malla de polígons; el tipus de geometria principal. Estén Geometry.
| Enumerations | Enumerations | Enumerations |
|---|
controlPoints | Vector4[] | Posicions dels vèrtexs (w=1 per a posicions) |
polygonCount | number | Nombre de polígons |
createPolygon(indices) | (number[]) → void | Afegeix un polígon (triangle o quad) |
getElement(type) | `(VertexElementType) → VertexElement | null` |
createElement(type) | (VertexElementType) → VertexElement | Crea un element de vèrtex |
Enumerations
Transformació local aplicada a un node.
| Enumerations | Enumerations | Enumerations |
|---|
translation | Vector3 | Posició local |
eulerAngles | Vector3 | Rotació d’Euler en graus (ordre XYZ) |
rotation | Quaternion | Rotació com a quaternió |
scaling | Vector3 | Escala local |
Classes de material
| Enumerations | Enumerations | Propietats clau |
|---|
LambertMaterial | Ombrejat difús + ambient | diffuseColor, ambientColor, transparency |
PhongMaterial | Afegeix especular + emissiu a Lambert | specularColor, shininess, emissiveColor |
PbrMaterial | Basat en la física per a glTF 2.0 | albedo, metallicFactor, roughnessFactor, emissiveColor |
Classes matemàtiques
| Enumerations | Enumerations |
|---|
Vector3 | 3-component double-precision vector (x, y, z) |
Vector4 | 4-component vector for homogeneous math (x, y, z, w) |
FVector3 | Variant de precisió simple utilitzada en dades de vèrtex |
Matrix4 | 4×4 transformation matrix; multiply, invert, decompose |
Quaternion | Quaternió de rotació; fromEulerAngle, toEulerAngles, slerp |
BoundingBox | Caixa delimitadora alineada a l’eix; minimum, maximum, center, size, merge |
Classes d’animació
| Enumerations | Enumerations |
|---|
AnimationClip | Clip anomenat; conté AnimationNode llista; accedida via scene.animationClips |
AnimationNode | Enllaça un clip a un node d’escena anomenat; conté AnimationChannel llista |
AnimationChannel | Apunta a una única propietat (p. ex. translació X); conté un KeyframeSequence |
KeyframeSequence | Llista ordenada de KeyFrame objectes amb interpolation i extrapolation |
KeyFrame | Parell únic de temps/valor |
Enumerations
| Enumerations | Enumerations | Enumerations |
|---|
VertexElementType | NORMAL, UV, VERTEX_COLOR, BINORMAL, TANGENT | Semàntica de l’element vèrtex |
MappingMode | CONTROL_POINT, POLYGON_VERTEX, POLYGON, ALL_SAME | Com es mapen les dades a la geometria |
ReferenceMode | DIRECT, INDEX, INDEX_TO_DIRECT | Estratègia d’indexació per a les dades de l’element vèrtex |
Interpolation | CONSTANT, LINEAR, BEZIER | Interpolació de fotogrames clau |
Extrapolation | CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, OSCILLATE | Comportament fora de l’interval de fotogrames clau |
Mòduls de format
Les classes d’opcions específiques de format s’exporten des de mòduls de subcamins. Importeu-les per separat:
Mòdul OBJ (@aspose/3d/formats/obj)
| Enumerations | Opcions clau |
|---|
ObjLoadOptions | enableMaterials, flipCoordinateSystem, scale, normalizeNormal |
Mòdul glTF/GLB (@aspose/3d/formats/gltf)
| Enumerations | Opcions clau |
|---|
GltfSaveOptions | binaryMode (true → .glb), flipTexCoordV |
GltfFormat | GltfFormat.getInstance(): instància de format per a scene.save() |
Mòdul STL (@aspose/3d/formats/stl)
| Enumerations | Opcions clau |
|---|
StlLoadOptions | N/A |
StlSaveOptions | binaryMode (fals → ASCII, cert → binari) |
Mòdul FBX (@aspose/3d/formats/fbx)
| Enumerations | Opcions clau |
|---|
FbxLoadOptions | N/A |
FbxSaveOptions | embedTextures |
Formats compatibles
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|
| Enumerations | .obj | Enumerations | Enumerations |
| glTF 2.0 | .gltf | Enumerations | Enumerations |
| Enumerations | .glb | Enumerations | Enumerations |
| STL | .stl | Enumerations | Enumerations |
| FBX | .fbx | No* | No* |
| COLLADA | .dae | Enumerations | Enumerations |
| 3MF | .3mf | Enumerations | Enumerations |
Exemple de referència ràpida
Vegeu també