Často kladené otázky
Často kladené otázky
Ako nainštalujem @aspose/3d?
Inštalovať z npm. Vyžaduje sa Node.js 18 alebo novší:
npm install @aspose/3dOverte inštaláciu:
import { Scene } from '@aspose/3d';
const scene = new Scene();
console.log('@aspose/3d ready');Definície typov TypeScript sú zahrnuté v balíku. Nie je potrebný žiadny samostatný balík @types/.
Aké formáty súborov sú podporované?
| Formát | Import | Export |
|---|---|---|
| OBJ (Wavefront) | Áno | Áno |
| glTF 2.0 / GLB | Áno | Áno |
| FBX (Autodesk) | Nie* | Nie* |
| STL (Stereo Lithography) | Áno | Áno |
| 3MF (3D Manufacturing) | Áno | Áno |
| COLLADA (.dae) | Áno | Áno |
Ako načítam 3D súbor?
Vytvorte Scene a zavolajte scene.open():
import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
const scene = new Scene();
scene.open('model.obj', new ObjLoadOptions());Pre formáty, ktoré nepotrebujú špeciálne možnosti, vynechajte druhý argument:
const scene = new Scene();
scene.open('model.glb');Je scene.open() asynchrónna?
Nie. scene.open() a scene.openFromBuffer() sú synchronné volania. Ak potrebujete neblokujúci I/O, spustite ich v rámci vlákna pracovníka Node.js alebo ich zabalte pomocou setImmediate.
Ako uložím do glTF/GLB?
Zavolajte scene.save() s cestou k súboru. Formát sa automaticky detekuje z prípony:
scene.save('output.glb'); // binary glTF
scene.save('output.gltf'); // JSON glTF
scene.save('output.obj'); // OBJ
scene.save('output.stl'); // STL
Ako načítať z Bufferu (v pamäti)?
Použiť 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());Chyba: Nie je možné nájsť modul ‘@aspose/3d/formats/obj’
Toto vyžaduje riešenie exportov balíka Node.js 12.7+. Uistite sa, že používate Node.js 18+. Pre TypeScript nastavte "moduleResolution": "node16" alebo "bundler" v tsconfig.json:
{
"compilerOptions": {
"moduleResolution": "node16",
"target": "ES2020"
}
}Aký je typ node.entity?
node.entity je typovaný všeobecne. Ak chcete získať prístup k špecifickým vlastnostiam siete, skontrolujte ich prítomnosť pomocou 'controlPoints' in node.entity alebo použite triedu Mesh z @aspose/3d/entities:
import { Mesh } from '@aspose/3d/entities';
if (node.entity instanceof Mesh) {
const mesh = node.entity;
console.log(mesh.controlPoints.length);
}Beží knižnica v prehliadači?
Knižnica je navrhnutá pre Node.js. Podpora prehliadača závisí od konfigurácie bundlera a nahradenia API súborového systému alternatívami v pamäti.
Je knižnica bezpečná pre vlákna?
Každý objekt Scene je nezávislý. Používanie samostatných inštancií Scene z oddelených vlákien pracovníkov Node.js je bezpečné, pokiaľ nesdielate jedinú scénu medzi vláknami bez externého synchronizovania.
Aké verzie Node.js sú podporované?
Node.js 18, 20 a 22 sú oficiálne podporované. TypeScript 5.0+ sa odporúča.
Podporuje @aspose/3d animácie?
Áno. Animačný systém zahŕňa AnimationClip, AnimationChannel a typy kriviek kľúčových snímok prístupné z @aspose/3d/animation.