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)
.mtlA 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ólBufferAz FBX még nem kapcsolódik az automatikus felderítéshez. - Színházgrafikus API-k:
Scene,Node,Mesh,Camera,LightA 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 aVector4), 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/SaveOptionsosztá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');