Usein kysytyt kysymykset
Usein kysytyt kysymykset
Kuinka asennan @aspose/3d?
Asenna npm:stä. Node.js 18 tai uudempi vaaditaan:
npm install @aspose/3dVahvista asennus:
import { Scene } from '@aspose/3d';
const scene = new Scene();
console.log('@aspose/3d ready');TypeScript-tyyppimäärittelyt sisältyvät pakettiin. Erillistä @types/-pakettia ei tarvita.
Mitkä tiedostomuodot ovat tuettuja?
| Muoto | Tuonti | Vienti |
|---|---|---|
| OBJ (Wavefront) | Kyllä | Kyllä |
| glTF 2.0 / GLB | Kyllä | Kyllä |
| FBX (Autodesk) | Ei* | Ei* |
| STL (Stereo Lithography) | Kyllä | Kyllä |
| 3MF (3D Manufacturing) | Kyllä | Kyllä |
| COLLADA (.dae) | Kyllä | Kyllä |
Kuinka lataan 3D‑tiedoston?
Luo Scene ja kutsu scene.open():
import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
const scene = new Scene();
scene.open('model.obj', new ObjLoadOptions());Formaateille, jotka eivät tarvitse erityisiä asetuksia, jätä pois toinen argumentti:
const scene = new Scene();
scene.open('model.glb');Onko scene.open() asynkroninen?
Ei. scene.open() ja scene.openFromBuffer() ovat synkronisia kutsuja. Jos tarvitset ei‑blokkaavaa I/O:ta, suorita ne Node.js-työntekijäketjussa tai kääri ne setImmediate:lla.
Kuinka tallennan glTF/GLB-muotoon?
Kutsu scene.save() tiedostopolulla. Tiedostomuoto tunnistetaan automaattisesti tiedostopäätteestä:
scene.save('output.glb'); // binary glTF
scene.save('output.gltf'); // JSON glTF
scene.save('output.obj'); // OBJ
scene.save('output.stl'); // STL
Kuinka lataan puskurista (muistissa)?
Käytä 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());Virhe: Moduulia ‘@aspose/3d/formats/obj’ ei löydy
Tämä vaatii Node.js 12.7+ pakettien vientiratkaisun. Varmista, että käytät Node.js 18+. TypeScriptissä aseta "moduleResolution": "node16" tai "bundler" kohteessa tsconfig.json:
{
"compilerOptions": {
"moduleResolution": "node16",
"target": "ES2020"
}
}Mikä on node.entity:n tyyppi?
node.entity on tyypitetty laajasti. Saadaksesi verkko‑kohtaiset ominaisuudet, tarkista niiden olemassaolo 'controlPoints' in node.entity:lla tai käytä Mesh-luokkaa @aspose/3d/entities:sta:
import { Mesh } from '@aspose/3d/entities';
if (node.entity instanceof Mesh) {
const mesh = node.entity;
console.log(mesh.controlPoints.length);
}Toimiiko kirjasto selaimessa?
Kirjasto on suunniteltu Node.js:lle. Selaintuki riippuu pakkaimen kokoonpanosta ja tiedostojärjestelmän API:iden korvaamisesta muistissa toimivilla vaihtoehdoilla.
Onko kirjasto säikeiturvallinen?
Jokainen Scene-objekti on itsenäinen. Erillisten Scene-instanssien käyttäminen erillisistä Node.js-työntekijäketjuista on turvallista, kunhan et jaa yhtä scenea ketjujen välillä ilman ulkoista synkronointia.
Mitä Node.js‑versioita tuetaan?
Node.js 18, 20 ja 22 ovat virallisesti tuettuja. TypeScript 5.0+ on suositeltavaa.
Tukeeko @aspose/3d animaatioita?
Kyllä. Animaatiojärjestelmä sisältää AnimationClip, AnimationChannel ja avainkehyksen käyrätyypit, jotka ovat käytettävissä @aspose/3d/animation:stä.