Preguntas frecuentes
Preguntas frecuentes
¿Cómo puedo instalar @aspose/3d?
Instalar desde npm. Node.js 18 o más tarde es necesario:
asposefoss/3d is not yet published — build from source until it ships. See the project README for build instructions.Verificar la instalación:
import { Scene } from '@aspose/3d';
const scene = new Scene();
console.log('@aspose/3d ready');Las definiciones de tipo TypeScript están vinculadas con el paquete. no separado @types/ Se necesita un paquete.
¿Qué formatos de archivo se apoyan?
| Formato | Importación | Exportación |
|---|---|---|
| OBJ | Sí | Sí |
| GTTF | Sí | Sí |
| FBX | No* | No* |
| STL | Sí | Sí |
| 3MF | Sí | Sí |
| COLLADA | Sí | Sí |
¿Cómo puedo cargar un archivo 3D?
Creación a Scene y llamar scene.open():
import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
const scene = new Scene();
scene.open('model.obj', new ObjLoadOptions());Para los formatos que no necesitan opciones especiales, omite el segundo argumento:
const scene = new Scene();
scene.open('model.glb');¿Es el tema de la escena.open() sin síntomas?
No no. scene.open() y scene.openFromBuffer() Si necesita no bloquear I/O, ejecutarlos dentro de un nodo de trabajo Node.js o envuelve con el setImmediate.
¿Cómo puedo ahorrar en glTF/GLB?
llamadas scene.save() El formato se detecta automáticamente desde la extensión:
scene.save('output.glb'); // binary glTF
scene.save('output.gltf'); // JSON glTF
scene.save('output.obj'); // OBJ
scene.save('output.stl'); // STL
¿Cómo puedo cargar de un buffer (en memoria)?
Uso 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 se puede encontrar el módulo ‘@aspose/3d/formats/obj’
Esto requiere Node.js 12.7+ paquete de exportación resolución. asegúrese de estar en NODE.JS 18+. Para TypeScript, se establece "moduleResolution": "node16" o "bundler" En el tsconfig.json:
{
"compilerOptions": {
"moduleResolution": "node16",
"target": "ES2020"
}
}¿Qué es el tipo de node.entity?
node.entity para acceder a propiedades específicas de la mezcla, verifique su presencia con 'controlPoints' in node.entity o utilizar el Mesh clase 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 se encuentra en el navegador?
La biblioteca está diseñada para Node.js. el soporte del navegador depende de la configuración de los paquetes y las APIs del sistema de archivos que se sustituyen por alternativas en memoria.
¿La biblioteca es segura?
Cada uno Scene El objeto es independiente.Utilizando separado Scene Las instantes de las filas separadas del Node.js son seguras siempre que no comparta una sola escena a través de filos sin sincronización externa.
¿Qué versiones de Node.js se apoyan?
Los Node.js 18, 20 y 22 están oficialmente apoyados.TypeScript 5.0+ se recomienda.
¿Suportas @aspose/3d animaciones?
El sistema de animación incluye AnimationClip, AnimationChannel, y los tipos de curva clave accesibles desde @aspose/3d/animation.