Bevezetés
Örömmel jelentjük be, hogy a következők elérhetők: Aspose3D FOSS a TypeScripthez mint a @aspose/3d Ez az MIT-licencelt könyvtár termelési minőségű 3D jelenet feldolgozását hozza a TypeScript és Node.js alkalmazásokhoz anélkül, hogy természetes bináris programok, platformspecifikus szerszámláncok vagy kereskedelmi licencek szükségesek lennének.
A könyvtár egy egyszerű, és átlátható módszerrel készült. Scene API: töltse be a 3D fájlt scene.open(), ellenőrizze vagy átalakítja a jelenet grafikon, és írja le az eredményt scene.save().A teljes TypeScript típusdefiníciókat össze kell kötni; nincs különálló . @types/ A csomagolás szükséges.
Fő jellemzői
Többformátumú bemeneti/kibocsátási rendszer. A csomag egy telepítéssel hat fő 3D formátumot olvas és ír. OBJ, glTF 2.0, GLB, STL, 3MF és COLLADA mind import-export támogatást nyújt. FBX importőr/exportáló osztályok léteznek, de a format automatikus felderítése még nem vezetékes, így az FBx fájlok nem tölthetők be via scene.open().
Első osztályú TypeScript támogatást. Minden nyilvános osztály, felszámolás és opció típus teljesen betipolva van. A TypeScript nyelvi szolgáltatási támogatással rendelkező IDE-k (VS Code, WebStorm stb.) pontos automatikus kitöltést és inline dokumentációt biztosítanak minden API híváshoz.
Node.js 18–22+ compatibility. A csomag Node.js 18, 20 és 22 LTS kiadásokkal tesztelt, nem állítanak össze nativen kiegészítőket a telepítés során, így minden platformon működik, amelyet a Node .js támogat.
Egy futási idő függőség. Az egyetlen függőség az, hogy… xmldom,A többi formátum-elemző tiszta JavaScript implementáció.
MIT-i engedély. Használat @aspose/3d kereskedelmi, nyílt forráskódú vagy belső projektekben korlátozás nélkül.
Gyors kezdés
A csomag telepítése:
asposefoss/3d is not yet published — build from source until it ships. See the project README for build instructions.Töltse be egy OBJ fájlt és konvertálja bináris GLB-be:
import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
import { GltfSaveOptions, GltfFormat } from '@aspose/3d/formats/gltf';
const scene = new Scene();
scene.open('model.obj', new ObjLoadOptions());
const saveOpts = new GltfSaveOptions();
saveOpts.binaryMode = true; // produce a single .glb file
scene.save('output.glb', GltfFormat.getInstance(), saveOpts);
console.log('Converted to GLB successfully');
Iteráljuk a jelenet csomópontjait, hogy ellenőrizzük a geometria:
import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
const scene = new Scene();
scene.open('model.obj', new ObjLoadOptions());
for (const node of scene.rootNode.childNodes) {
console.log(`Node: ${node.name}`);
if (node.entity) {
console.log(` Entity type: ${node.entity.constructor.name}`);
}
}
Támogatott formátumok
| Formátum | A Bizottság | Behozatala | Kivitel | Megjegyzések |
|---|---|---|---|---|
| OBJ | .obj | Igen, igen. - Az is jó. | Igen, igen. - Az is jó. | Hullámfront OBJ; olvas/ír .mtl anyagfájlok |
| glTF-t | .gltf / .glb | Igen, igen. - Az is jó. | Igen, igen. - Az is jó. | glTF 2.0 JSON és GLB bináris |
| STL | .stl | Igen, igen. - Az is jó. | Igen, igen. - Az is jó. | ASCII és bináris STL |
| 3MF | .3mf | Igen, igen. - Az is jó. | Igen, igen. - Az is jó. | Nyitott csomagolási egyezmény archívuma |
| FBX | .fbx | Nem* | Nem* | Importőr/exportőr létezik, de formátum automatikus felderítése nem vezetékes |
| COLLADA | .dae | Igen, igen. - Az is jó. | Igen, igen. - Az is jó. | A követelmények összevontak. xmldom függőség |
TypeScript előnyei
A munkavégzés során a @aspose/3d a TypeScript felveszi a kategóriás hibákat az összeállítási időben, nem pedig futtatási idő alatt. Amikor hívja a scene.save(), a kompilátor ellenőrzi, hogy az opciós objektum megfelel-e a várt értéknek. SaveOptions A kiválasztott formátum altípusának. A formáttal kapcsolatos betöltés és mentési lehetőségek csak az adott formához kapcsolódó tulajdonságokat mutatják be; nincs hozzáadható, nem típusosított opciókatartály.
Például:, GltfSaveOptions.binaryMode egy betűzött boolean, így a kompilátor elutasítja az saveOpts.binaryMode = 'yes' Az animációs tulajdonságok a AnimationClip, az anyagi csatornákon a PbrMaterial, és a csúcs elemtípusok az alábbiakban: VertexElement Az IntelliSense-en keresztül azonosíthatóak, anélkül hogy külső dokumentációkhoz kellene fordulni.
Nyitott forrású
A csomag a következő cím alatt kerül közzétételre: MIT Licenc.A forráskód elérhető a GitHub-on. Az adatszolgáltatások, hibakutatások és formátum támogatási kérések szívesen fogadhatók az adattár problémamegfigyelőjével.
A könyvtárnak van egy futási idő függősége: xmldom (^0.6.0), csak a COLLADA fájlok olvasásakor vagy írásában használható. Minden más elemző és író önálló, tiszta JavaScript-implementációk bináris komponensek nélkül.
Kezdjük!
- npm:
npm install @aspose/3d - Tudásbázis: Hogyan töltsük be a 3D modelleket TypeScript-ben?
- Tudásbázis: Hogyan exportálhat 3D-s jeleneteket a glTF/GLB formában a TypeScriptben?
- API hivatkozás: Aspose.3D FOSS a TypeScript-hez: teljes osztályreferencia
- GitHub: Aspose-3d/aspose-3D-csomó
A Bizottság következtetései
@aspose/3d A 24.12.0 verzió stabil, betipzott és függőséges alapokat biztosít a 3D fájl feldolgozáshoz TypeScript-ben és Node.js-en. Függetlenül attól, hogy az alkalmazás formátumkonverziót jelent-e, jelenetellenőrzést, geometria kivonást vagy csővezeték integrációt, a könyvtár egy engedélyező nyílt forráskódú licenc alapján fedezi a leggyakoribb 3 D cseréformákat.
Most telepítse be, és mondja meg nekünk mit épített.