Ofta ställda frågor
Ofta ställda frågor
Hur installerar jag @aspose/3d?
Node.js 18 eller senare krävs:
asposefoss/3d is not yet published — build from source until it ships. See the project README for build instructions.Kontrollera installationen:
import { Scene } from '@aspose/3d';
const scene = new Scene();
console.log('@aspose/3d ready');TypScript-definitioner är bundna med paketet. ingen separation @types/ Paketet behövs.
Vilka filformat stöds?
| Formatera | Import av | Exporten |
|---|---|---|
| OBJ | Ja ja | Ja ja |
| GTTF | Ja ja | Ja ja |
| FBX | inte * | inte * |
| STL | Ja ja | Ja ja |
| 3MF | Ja ja | Ja ja |
| COLLADA | Ja ja | Ja ja |
Hur laddar jag upp en 3D-fil?
Skapa en a Scene och ringer scene.open():
import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
const scene = new Scene();
scene.open('model.obj', new ObjLoadOptions());För format som inte behöver speciella alternativ, glöm andra argumentet:
const scene = new Scene();
scene.open('model.glb');Är scene.open() asynkron?
Nej inte. scene.open() och scene.openFromBuffer() Om du behöver inte blockera I/O, kör dem inuti en Node.js-arbets tråd eller häll med setImmediate.
Hur sparar jag till glTF/GLB?
Ringa till scene.save() med en filvägen. formatet upptäcks automatiskt från förlängningen:
scene.save('output.glb'); // binary glTF
scene.save('output.gltf'); // JSON glTF
scene.save('output.obj'); // OBJ
scene.save('output.stl'); // STL
Hur laddar jag ut från en buffer (i minnet)?
Användning 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());Fel: Du kan inte hitta modulen ‘@aspose/3d/formats/obj’
Detta kräver Node.js 12.7+ paket exporterar upplösning. se till att du är på Noda.js 18+. för TypeScript, ställ in "moduleResolution": "node16" eller "bundler" i tsconfig.json:
{
"compilerOptions": {
"moduleResolution": "node16",
"target": "ES2020"
}
}Vad är node.entity?
node.entity för att få tillgång till mäspecifika egenskaper, kontrollera deras närvaro med 'controlPoints' in node.entity eller använda den Mesh Klassen från @aspose/3d/entities:
import { Mesh } from '@aspose/3d/entities';
if (node.entity instanceof Mesh) {
const mesh = node.entity;
console.log(mesh.controlPoints.length);
}Kör biblioteket i webbläsaren?
Biblioteket är utformat för Node.js. webbläsarens support beror på bundlarkonfigurationen och filsystemets API som ersätts med alternativ i minnet.
Är biblioteket trådsäker?
Varje Scene Objektet är oberoende. med hjälp av separata Scene Exempel från separata Node.js-arbetartrådar är säkra så länge du inte delar en enda scen över strängarna utan extern synkronisering.
Vilka Node.js-versioner stöds?
Node.js 18, 20 och 22 stöds officiellt.TypeScript 5.0+ rekommenderas.
@aspose/3d stöder animationer?
Ja, animationssystemet innehåller AnimationClip, AnimationChannel, och nyckelframkurvtyper tillgängliga från @aspose/3d/animation.