Introducció
↑ «L’Edifòrum de la Llengua d’Escriptura» (@aspose/3d) és una biblioteca de format de fitxers 3D amb font oberta, llicenciada pel MIT principalment dissenyada per a Node.js. Els desenvolupadors construeixen visualitzadors de model 3d, convertidors de formats, eines de processament geomètrica o tubs 3 D del servidor poden instal·lar-lo amb un únic mòdul. npm install @aspose/3d Comanda i comença immediatament la carrega, construcció i exportació de contingut 3D. La biblioteca utilitza el material que es troba a l’interior del web. require('fs') i Buffer de Node.js; l’ús del navegador requereix les xims adequades per a aquestes APIs i no està oficialment recolzat.
La biblioteca suporta els formats d’intercanvi principals - OBJ, glTF 2.0 / GLB, STL, 3MF i COLLADA per tant l’import i l’exportació. classes de importador/exportador FBX existeixen però encara no estan connectades a la detecció automàtica del format. API de gràfic de escena mirra el model familiar de les eines d’autorització 3D: un Scene Tenim una rootNode,Cada un Node Els nens poden portar objectes de la persona (Mesh, Camera, LightLa jerarquia de la transformació és totalment accessible per a llegir i escriure.
Característiques clau
- Màster I/O:Import i exportació (objet) amb
.mtlmaterials), glTF 2.0 / GLB, STL (binari i ASCII), 3MF, i COLLADA des de les dues pistes de fitxers i en memòriaBufferEl suport FBX encara no està connectat a la detecció automàtica. - El Grau de l’API:
Scene,Node,Mesh,Camera,Lightierarquia amb plena gestió parental/infant; travessar nodes recursivament a través de lanode.childNodes - Sistema de material PBR: Lambert, Phong i PBR (metàl·lic/sòl) materials accessibles a través de la
node.material - Operacions de mesh:Accés a les dades de vertex cru per mitjà
mesh.controlPoints(Araïda deVector4Indicadors de poligons a través delmesh.polygonCount,Canals de l’element vertex a través delmesh.getElement() - Utilitats matemàtiques:
Vector2,Vector3,Vector4,Matrix4,Quaternion, i els tipus de caixa límit per a càlculs espacials - Sistema d’animació:· Animació amb el Keyframe
AnimationClip,AnimationChannel, i les curves d’interpolament (linear, Bezier, TCB) - Opcions específiques de format:Per-formació
LoadOptions/SaveOptionsclasses de control coordinat flipping, escala, càrrega del material i més
Començar a fer
Instal·lació des de l’instant. node.js 18 o més tard es requereix; TipiScript 5.0+ es recomana.
npm install @aspose/3d
Carregar un fitxer OBJ i inspeccionar la escena:
import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
const scene = new Scene();
const options = new ObjLoadOptions();
options.enableMaterials = true;
scene.open('model.obj', options);
for (const node of scene.rootNode.childNodes) {
if (node.entity && 'controlPoints' in node.entity) {
const mesh = node.entity as any;
console.log(`Mesh "${node.name}": ${mesh.controlPoints.length} vertices`);
}
}
Exportació a la GTTF
Salva qualsevol escena carregada o construïda a glTF 2.0 binari (GLB):
import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
const scene = new Scene();
scene.open('input.obj', new ObjLoadOptions());
scene.save('output.glb');
console.log('Exported to output.glb');
La biblioteca detecta automàticament el format de sortida de l’extensori de fitxers. Passar a GltfSaveOptions Per exemple, per controlar la incorporació de material PBR, textures i codificació binària vs. JSON.
Escena de construcció
Construeix una escena programàticament i l’exporta:
import { Scene, Node } from '@aspose/3d';
import { Mesh } from '@aspose/3d/entities';
const scene = new Scene();
const mesh = new Mesh();
// ... populate mesh.controlPoints and polygons ...
const node = new Node('myMesh');
node.entity = mesh;
scene.rootNode.addChildNode(node);
scene.save('programmatic.glb');