Ú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 .mtl materiálmi), glTF 2.0 / GLB, STL (binárny a ASCII), 3MF a COLLADA z oboch ciest k súborom a z pamäti Buffer objektov. Podpora FBX zatiaľ nie je prepojená s automatickou detekciou.
  • API grafu scény: Scene, Node, Mesh, Camera, Light hierarchia s úplnou správou rodičov/detí; prechádzať uzly rekurzívne pomocou node.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 (pole Vector4), indexy polygonov cez mesh.polygonCount, a kanály prvkov vrcholov cez mesh.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 / SaveOptions triedy 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');

Pozri tiež