Gyakran Ismételt Kérdések
Gyakran Ismételt Kérdések
Hogyan telepíthetem az @aspose/3d-t?
Telepítés npm‑ből. Node.js 18 vagy újabb szükséges:
npm install @aspose/3dEllenőrizze a telepítést:
import { Scene } from '@aspose/3d';
const scene = new Scene();
console.log('@aspose/3d ready');A TypeScript típusdefiníciók a csomaggal együtt kerülnek szállításra. Nem szükséges külön @types/ csomag.
Milyen fájlformátumok támogatottak?
| Formátum | Import | Export |
|---|---|---|
| OBJ (Wavefront) | Igen | Igen |
| glTF 2.0 / GLB | Igen | Igen |
| FBX (Autodesk) | Nem* | Nem* |
| STL (Stereo Lithography) | Igen | Igen |
| 3MF (3D Manufacturing) | Igen | Igen |
| COLLADA (.dae) | Igen | Igen |
Hogyan töltök be egy 3D fájlt?
Hozzon létre egy Scene-t, és hívja meg a scene.open()-t:
import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
const scene = new Scene();
scene.open('model.obj', new ObjLoadOptions());Azoknál a formátumoknál, amelyeknek nincs szükségük speciális beállításokra, hagyja ki a második argumentumot:
const scene = new Scene();
scene.open('model.glb');A scene.open() aszinkron?
Nem. scene.open() és scene.openFromBuffer() szinkron hívások. Ha nem blokkoló I/O-ra van szükség, futtassa őket egy Node.js worker szálon belül, vagy csomagolja be setImmediate-val.
Hogyan menthetek glTF/GLB formátumba?
Hívja meg a scene.save() függvényt egy fájlúttal. A formátum automatikusan kerül felismerésre a kiterjesztés alapján:
scene.save('output.glb'); // binary glTF
scene.save('output.gltf'); // JSON glTF
scene.save('output.obj'); // OBJ
scene.save('output.stl'); // STL
Hogyan töltök be egy Bufferből (memóriában)?
Használja scene.openFromBuffer():
import * as fs from 'fs';
import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
const buffer = fs.readFileSync('model.obj');
const scene = new Scene();
scene.openFromBuffer(buffer, new ObjLoadOptions());Hiba: Nem található a(z) ‘@aspose/3d/formats/obj’ modul
Ez a Node.js 12.7+ csomagexportálási feloldást igényel. Győződjön meg arról, hogy Node.js 18+ verziót használ. TypeScript esetén állítsa be "moduleResolution": "node16" vagy "bundler" a tsconfig.json‑ban:
{
"compilerOptions": {
"moduleResolution": "node16",
"target": "ES2020"
}
}Mi a node.entity típusa?
node.entity általánosan van típusozva. A háló-specifikus tulajdonságok eléréséhez ellenőrizze azok jelenlétét a 'controlPoints' in node.entity segítségével, vagy használja a Mesh osztályt a @aspose/3d/entities‑ból:
import { Mesh } from '@aspose/3d/entities';
if (node.entity instanceof Mesh) {
const mesh = node.entity;
console.log(mesh.controlPoints.length);
}Fut a könyvtár a böngészőben?
A könyvtár a Node.js-re van tervezve. A böngésző támogatás a csomagoló konfigurációjától és attól függ, hogy a fájlrendszer API-kat memóriában lévő alternatívákkal helyettesítik.
A könyvtár szálbiztos?
Minden Scene objektum független. Különálló Scene példányok használata külön Node.js munkás szálakból biztonságos, amíg nem oszt meg egyetlen jelenetet a szálak között külső szinkronizáció nélkül.
Mely Node.js verziók támogatottak?
A Node.js 18, 20 és 22 hivatalosan támogatott. A TypeScript 5.0+ ajánlott.
Támogatja a @aspose/3d az animációkat?
Igen. Az animációs rendszer tartalmazza a AnimationClip, AnimationChannel és a @aspose/3d/animation‑ből elérhető kulcskocka‑görbe típusokat.