Bevezetés

Aspose.3D FOSS a TypeScripthez (@aspose/3dA 3D-modell néző, formátumváltó, geometria feldolgozó eszköz vagy szerveroldatú 3d csővezeték fejlesztői egy egyszerű szoftvert használva telepíthetik. npm install @aspose/3d A könyvtár a 3D-s tartalom elkészítését és exportálását használja. require('fs') és a következők: Buffer Node.js-ből; a böngésző használata megfelelő shimeket igényel az API-k számára, és nem támogatja hivatalosan.

A könyvtár támogatja a főbb cserélőformátumokat OBJ, glTF 2.0 / GLB, STL, 3MF és COLLADA mind az importra, mind exportra. FBX importőr/exportőr osztályok léteznek, de még nem kapcsolódnak a formátumok automatikus felderítésére. A jelenet grafikon API tükrözi a modell ismerős a 3D szerzői eszközök: egy Scene tartja a rootNode, mindegyik Node a gyermekcsomók és az entitási objektumok (Mesh, Camera, Light), és a transzform hierarchiája teljes mértékben elérhető az olvasáshoz és íráshoz.

Fő jellemzői

  • Többformátumú bemeneti/kibocsátási rendszer: Behozatali és kiviteli OBJ (az EKB-val) .mtl A programok és a tárolóanyagok (pl. az elektronikus adatkezelő, az internetes anyagkezelők), glTF 2.0 / GLB, STL (bináris és ASCII), 3MF és COLLADA mind a fájlútból, mind pedig memóriából Buffer Az FBX még nem kapcsolódik az automatikus felderítéshez.
  • Színházgrafikus API-k: Scene, Node, Mesh, Camera, Light A szülői és gyermekgazdálkodás teljes hierarchiája; a keresztcsomók rekurzív módon, az interneten keresztül működnek. node.childNodes
  • PBR-anyagrendszer: Lambert, Phong és PBR (fém/keménység) anyagok, amelyek hozzáférhetőek a következők révén: node.material
  • A hálózati műveletek: Nyers csúcsadatokhoz való hozzáférés a WEB-en keresztül. mesh.controlPoints (sorozat a Vector4), a többszögű indexek az alábbiak szerint: mesh.polygonCount, és a csúcs elem csatornákat az interneten keresztül. mesh.getElement()
  • Matematikai segédszolgáltatások: Vector2, Vector3, Vector4, Matrix4, Quaternion, és a térbeli számításokra szolgáló határfelülettípusok.
  • Animációs rendszer: A kulcskeret animációja a következőkkel: AnimationClip, AnimationChannel, és interpolációs görbék (lineáris, Bezier-színvonalú, TCB-szintrendszer)
  • Formátum-specifikus opciók: Forma szerint LoadOptions / SaveOptions osztályok irányítás koordináták fordítása, méretezés, anyag terhelés és több

Kezdjük!

Instaláljon npm-ről. Node.js 18 vagy újabb szükséges; TypeScript 5.0+ ajánlott.

asposefoss/3d is not yet published — build from source until it ships. See the project README for build instructions.

Töltse fel a dokumentumokat, és vizsgálja meg az esemény helyszínét.:

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`);
    }
}

Export a glTF-be

Bármely töltött vagy felépített jelenetet menteni glTF 2.0 bináris (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');

A könyvtár automatikusan felismerte a kimeneti formátumot az adatszolgáltatásból. GltfSaveOptions Például a PBR-anyagok beágyazásának, textúráknak és bináris versus JSON kódolásnak az ellenőrzése.

Színházépítés

Készítsen egy jelenetet programszerűen és exportálja:

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');

Lásd még: