Úvod
Aspose.3D FOSS pre TypeScript (@aspose/3d) je open-source, pod licenciou MIT, knižnica pre 3D formáty súborov pre Node.js a moderné prehliadačové prostredia. Vývojári, ktorí vytvárajú prehliadače 3D modelov, konvertory formátov, nástroje na spracovanie geometrie alebo serverové 3D pipeline, si ju môžu nainštalovať jedným npm install @aspose/3d príkazom a okamžite začať načítavať, konštruovať a exportovať 3D obsah.
Knižnica podporuje hlavné výmenné formáty — OBJ, glTF 2.0 / GLB, STL, 3MF a COLLADA pre import aj export. Triedy importéra/exportéra FBX existujú, ale zatiaľ nie sú prepojené s automatickou detekciou formátu. API grafu scény odráža model známy z nástrojov na tvorbu 3D: a Scene obsahuje rootNode, každý Node môže niesť podriadené uzly a objektové entity (Mesh, Camera, Light), a hierarchia transformácií je plne prístupná na čítanie aj zápis.
Kľúčové funkcie
- Viacformátové I/O: Import a export OBJ (s
.mtlmateriálmi), glTF 2.0 / GLB, STL (binárny a ASCII), 3MF a COLLADA z oboch ciest k súborom a z pamätiBufferobjektov. Podpora FBX zatiaľ nie je prepojená s automatickou detekciou. - API grafu scény:
Scene,Node,Mesh,Camera,Lighthierarchia s úplnou správou rodičov/detí; prechádzať uzly rekurzívne pomocounode.childNodes - Systém materiálov PBR: materiály Lambert, Phong a PBR (metallic/roughness) prístupné cez
node.entity.material - Operácie s meshom: Prístup k surovým dátam vrcholov cez
mesh.controlPoints(poleVector4), indexy polygonov cezmesh.polygonCount, a kanály prvkov vrcholov cezmesh.getElement() - Matematické utility:
Vector2,Vector3,Vector4,Matrix4,Quaternion, a typy ohraničovacích krabíc pre priestorové výpočty - Animačný systém: Animácia kľúčových snímok s
AnimationClip,AnimationChannel, a krivky interpolácie (lineárna, Bezier, TCB spline) - Formátovo špecifické možnosti: Pre formát
LoadOptions/SaveOptionstriedy riadia preklápanie súradníc, mierku, načítavanie materiálov a ďalšie
Začíname
Inštalácia z npm. Vyžaduje sa Node.js 18 alebo novší; odporúča sa TypeScript 5.0+.
npm install @aspose/3d
Načítajte OBJ súbor a skontrolujte scénu:
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`);
}
}
Exportovať do glTF
Uložte akúkoľvek načítanú alebo vytvorenú scénu do binárneho formátu glTF 2.0 (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');
Knižnica automaticky detekuje výstupný formát z prípony súboru. Predajte GltfSaveOptions inštanciu pre kontrolu vkladania PBR materiálu, textúr a binárneho vs. JSON kódovania.
Konstrukcia scény
Vytvorte scénu programovo a exportujte ju:
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');