Często zadawane pytania
Często zadawane pytania
Jak zainstalować @aspose/3d?
Node.js 18 lub później wymaga:
asposefoss/3d is not yet published — build from source until it ships. See the project README for build instructions.Sprawdź instalację:
import { Scene } from '@aspose/3d';
const scene = new Scene();
console.log('@aspose/3d ready');Definicje typu TypeScript są połączone z pakietem. nie oddzielono @types/ Pakowanie jest potrzebne.
Jakie formaty plików są obsługiwane?
| Formatowanie | Importowanie | Eksporty |
|---|---|---|
| OBJ | Tak | Tak |
| GTTF | Tak | Tak |
| FBX | Nie * | Nie * |
| STL | Tak | Tak |
| 3MF | Tak | Tak |
| COLLADA | Tak | Tak |
Jak pobrać plik 3D?
Tworzenie A Scene i wezwanie scene.open():
import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
const scene = new Scene();
scene.open('model.obj', new ObjLoadOptions());W przypadku formatów, które nie wymagają specjalnych opcji, pominąć drugi argument:
const scene = new Scene();
scene.open('model.glb');Czy scena.open() jest asynchroniczny?
Nie . scene.open() i scene.openFromBuffer() Jeśli potrzebujesz nie blokowania I/O, uruchom je w trybie pracującym Node.js lub zamknij z setImmediate.
Jak oszczędzać na glTF/GLB?
Wzywaj scene.save() z trasy pliku. format jest automatycznie wykryty z rozszerzenia:
scene.save('output.glb'); // binary glTF
scene.save('output.gltf'); // JSON glTF
scene.save('output.obj'); // OBJ
scene.save('output.stl'); // STL
Jak mogę pobrać z buffer (w pamięci)?
Używanie 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());Błąd: Nie można znaleźć modułu ‘@aspose/3d/formats/obj’
Wymaga to rozdzielczości Node.js 12.7+ pakiet eksportowy. upewnij się, że jesteś na Noda.js 18+. "moduleResolution": "node16" lub "bundler" w tsconfig.json:
{
"compilerOptions": {
"moduleResolution": "node16",
"target": "ES2020"
}
}Jaki jest typ node.entity?
node.entity Aby uzyskać dostęp do właściwości specjalnych dla mysz, sprawdź ich obecność z 'controlPoints' in node.entity lub używać Mesh Klasa od @aspose/3d/entities:
import { Mesh } from '@aspose/3d/entities';
if (node.entity instanceof Mesh) {
const mesh = node.entity;
console.log(mesh.controlPoints.length);
}Czy biblioteka działa w przeglądarce?
Biblioteka jest zaprojektowana dla Node.js. Obsługa przeglądarki zależy od konfiguracji pakietu i systemów plików, które są zastąpione alternatywami w pamięci.
Czy biblioteka jest bezpieczna?
Każdy z nich Scene Obiekt jest niezależny. używając oddzielnie Scene Przykłady z oddzielnych filarów pracownika Node.js są bezpieczne, o ile nie udostępniasz jednej sceny na filarach bez zewnętrznej synchronizacji.
Jakie wersje Node.js są obsługiwane?
Node.js 18, 20 i 22 są oficjalnie obsługiwane.TypeScript 5.0+ jest zalecany.
Czy @aspose/3d wspiera animacje?
System animacji obejmuje AnimationClip, AnimationChannel, a typy zakrętów kluczowych dostępnych od @aspose/3d/animation.