Indledning
Aspose.3D FOSS til TypeScript (@aspose/3d) er et open-source, MIT-licenseret 3D filformat bibliotek primært designet til Node.js. Udviklere der bygger 3d modelvisere, formatkonvertere, geometrisk behandling værktøjer eller serverside 3 D pipelines kan installere det med en enkelt kode. npm install @aspose/3d Biblioteket bruger 3D-teknologi til at udarbejde og distribuere indhold i 3d. require('fs') og: Buffer fra Node.js; brug af browser kræver passende shims for disse API’er og er ikke officielt understøttet.
Biblioteket understøtter de vigtigste udvekslingsformater OBJ, glTF 2.0 / GLB, STL, 3MF og COLLADA til både import og eksport. FBX importer/eksporter klasser findes men er endnu ikke kablet ind i format auto-detektion. Scene graph API spejler den model bekendt fra 3D forfatterværktøjer: en Scene indeholder en rootNode, hver Node kan bære barneknuder og entitetsobjekter (Mesh, Camera, Light), og transformhierarkiet er fuldt tilgængeligt for læsning og skrivning.
Nøgleegenskaber
- Multiformatsind/udtagning: Import og eksport OBJ (med
.mtlMaterialer), glTF 2.0 / GLB, STL (binær og ASCII), 3MF og COLLADA fra både filveje og i-memori.BufferFBX-støtten er ikke trådbundet til automatisk detektion. - Scene graph API:
Scene,Node,Mesh,Camera,LightHierarki med fuld forælder/barn-styring; tværgående knuder rekursivt vianode.childNodes - PBR-materialesystem: Lambert-, Phong- og PBR (metallisk/rughed) materialer, der kan tilgås via:
node.material - Maskeoperationer:Tilgang til rå data via:
mesh.controlPoints(array afVector4), polygonindekser viamesh.polygonCount, og kanaler via vertex-elementermesh.getElement() - Matematiske værktøjer:
Vector2,Vector3,Vector4,Matrix4,Quaternion, og afgrænsningskassetyper til rumlige beregninger - Animationssystem: Animassion af nøglebillede med:
AnimationClip,AnimationChannel, og interpoleringskurver (linje, Bezier-spline, TCB) - Format-specifikke indstillinger:Formal:
LoadOptions/SaveOptionsklasser kontrol koordinater flipning, skala, materiale belastning og mere
Hvordan man begynder
Installering fra npm. Node.js 18 eller nyere er påkrævet; TypeScript 5.0+ anbefales.
npm install @aspose/3d
Indtast en OBJ-fil og tjek stedet.:
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`);
}
}
Eksport til GFT
Gem enhver indlæst eller konstrueret scene til glTF 2.0 binær (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');
Biblioteket registrerer automatisk udgangsformatet fra filudvidelsen. GltfSaveOptions Eksempelvis for kontrol over PBR-materialeindlejring, teksturer og binær vs. JSON-kodning.
Scenekonstruktion
Byg en scene programmeret og eksportere den:
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');