Často kladené otázky
Často kladené otázky
Jak nainstaluji @aspose/3d?
Instalace z npm. Je vyžadován Node.js 18 nebo novější:
npm install @aspose/3dOvěřte instalaci:
import { Scene } from '@aspose/3d';
const scene = new Scene();
console.log('@aspose/3d ready');Definice typů TypeScript jsou součástí balíčku. Není potřeba žádný samostatný @types/ balíček.
Které formáty souborů jsou podporovány?
| Formát | Import | Export |
|---|---|---|
| OBJ (Wavefront) | Ano | Ano |
| glTF 2.0 / GLB | Ano | Ano |
| FBX (Autodesk) | Ne* | Ne* |
| STL (Stereo Lithography) | Ano | Ano |
| 3MF (3D Manufacturing) | Ano | Ano |
| COLLADA (.dae) | Ano | Ano |
Jak načtu 3D soubor?
Vytvořte Scene a zavolejte scene.open():
import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
const scene = new Scene();
scene.open('model.obj', new ObjLoadOptions());Pro formáty, které nevyžadují speciální možnosti, vynechte druhý argument:
const scene = new Scene();
scene.open('model.glb');Je scene.open() asynchronní?
Ne. scene.open() a scene.openFromBuffer() jsou synchronní volání. Pokud potřebujete neblokující I/O, spusťte je uvnitř pracovního vlákna Node.js nebo je zabalte pomocí setImmediate.
Jak uložit do glTF/GLB?
Zavolejte scene.save() s cestou k souboru. Formát je automaticky detekován z přípony:
scene.save('output.glb'); // binary glTF
scene.save('output.gltf'); // JSON glTF
scene.save('output.obj'); // OBJ
scene.save('output.stl'); // STL
Jak načíst z bufferu (v paměti)?
Použijte 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: Nelze najít modul ‘@aspose/3d/formats/obj’
Toto vyžaduje rozlišení exportů balíčku Node.js 12.7+. Ujistěte se, že používáte Node.js 18+. Pro TypeScript nastavte "moduleResolution": "node16" nebo "bundler" v tsconfig.json:
{
"compilerOptions": {
"moduleResolution": "node16",
"target": "ES2020"
}
}Jaký je typ node.entity?
node.entity je typován obecně. Pro přístup k vlastnostem specifickým pro mesh zkontrolujte jejich přítomnost pomocí 'controlPoints' in node.entity nebo použijte třídu 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);
}Běží knihovna v prohlížeči?
Knihovna je určena pro Node.js. Podpora prohlížeče závisí na konfiguraci bundleru a nahrazení API souborového systému alternativami v paměti.
Je knihovna bezpečná pro vlákna?
Každý objekt Scene je nezávislý. Používání samostatných instancí Scene z oddělených pracovních vláken Node.js je bezpečné, pokud nesdílíte jedinou scénu mezi vlákny bez externí synchronizace.
Jaké verze Node.js jsou podporovány?
Node.js 18, 20 a 22 jsou oficiálně podporovány. TypeScript 5.0+ se doporučuje.
Podporuje @aspose/3d animace?
Ano. Systém animací zahrnuje AnimationClip, AnimationChannel a typy křivek klíčových snímků přístupné z @aspose/3d/animation.