Preguntes freqüents

Preguntes freqüents

Com instal·lo @aspose/3d?

Instal·la des de npm. Es requereix Node.js 18 o posterior:

npm install @aspose/3d

Verifiqueu la instal·lació:

import { Scene } from '@aspose/3d';
const scene = new Scene();
console.log('@aspose/3d ready');

Les definicions de tipus de TypeScript s’inclouen amb el paquet. No cal cap paquet separat @types/.


Quins formats de fitxer són compatibles?

FormatImportacióExportació
OBJ (Wavefront)
glTF 2.0 / GLB
FBX (Autodesk)No*No*
STL (Stereo Lithography)
3MF (3D Manufacturing)
COLLADA (.dae)

Com puc carregar un fitxer 3D?

Crea un Scene i crida scene.open():

import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';

const scene = new Scene();
scene.open('model.obj', new ObjLoadOptions());

Per als formats que no necessiten opcions especials, omet el segon argument:

const scene = new Scene();
scene.open('model.glb');

És scene.open() asíncrona?

No. scene.open() i scene.openFromBuffer() són crides sincròniques. Si necessites I/O no bloquejant, executa-les dins d’un fil de treball de Node.js o envolta-les amb setImmediate.


Com puc desar a glTF/GLB?

Crida scene.save() amb una ruta de fitxer. El format es detecta automàticament a partir de l’extensió:

scene.save('output.glb');   // binary glTF
scene.save('output.gltf');  // JSON glTF
scene.save('output.obj');   // OBJ
scene.save('output.stl');   // STL

Com puc carregar des d’un buffer (en memòria)?

Utilitza 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());

Error: No s’ha pogut trobar el mòdul ‘@aspose/3d/formats/obj’

Això requereix la resolució d’exportacions de paquets de Node.js 12.7+. Assegureu-vos que esteu a Node.js 18+. Per a TypeScript, establiu "moduleResolution": "node16" o "bundler" a tsconfig.json:

{
  "compilerOptions": {
    "moduleResolution": "node16",
    "target": "ES2020"
  }
}

Quin és el tipus de node.entity?

node.entity està tipat de manera general. Per accedir a propietats específiques de la malla, comprova la seva presència amb 'controlPoints' in node.entity o utilitza la classe Mesh de @aspose/3d/entities:

import { Mesh } from '@aspose/3d/entities';

if (node.entity instanceof Mesh) {
    const mesh = node.entity;
    console.log(mesh.controlPoints.length);
}

La biblioteca s’executa al navegador?

La llibreria està dissenyada per a Node.js. El suport del navegador depèn de la configuració del bundler i que les API del sistema de fitxers siguin substituïdes per alternatives en memòria.


La biblioteca és segura per a fils?

Cada objecte Scene és independent. Utilitzar instàncies separades de Scene des de fils de treball separats de Node.js és segur sempre que no comparteixis una única escena entre fils sense sincronització externa.


Quines versions de Node.js són compatibles?

Node.js 18, 20 i 22 són oficialment compatibles. Es recomana TypeScript 5.0+.


Admet @aspose/3d animacions?

Sí. El sistema d’animació inclou AnimationClip, AnimationChannel i tipus de corba de fotogrames clau accessibles des de @aspose/3d/animation.


Vegeu també

 Català