Perguntas frequentes
Perguntas frequentes
Como posso instalar @aspose/3d?
Instalar a partir de npm. Node.js 18 ou posterior é necessário:
asposefoss/3d is not yet published — build from source until it ships. See the project README for build instructions.Verifique a instalação:
import { Scene } from '@aspose/3d';
const scene = new Scene();
console.log('@aspose/3d ready');Definições de tipo TypeScript estão ligadas ao pacote.Não separado @types/ O pacote é necessário.
Quais formatos de arquivo são suportados?
| Formato | Importação | Exportação |
|---|---|---|
| OBJ | Sim | Sim |
| GSTF | Sim | Sim |
| FBX | Não * | Não * |
| STL | Sim | Sim |
| 3MF | Sim | Sim |
| COLLADA | Sim | Sim |
Como posso carregar um arquivo 3D?
Criar a Scene e chamando 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 formatos que não precisam de opções especiais, omite o segundo argumento:
const scene = new Scene();
scene.open('model.glb');A cena.open() é sinônimo?
Não . scene.open() e scene.openFromBuffer() Se você precisa não bloquear I/O, execute-os dentro de um nodo de trabalho Node.js ou encolhe com o setImmediate.
Como posso economizar para glTF/GLB?
Chamado scene.save() O formato é detectado automaticamente da extensão:
scene.save('output.glb'); // binary glTF
scene.save('output.gltf'); // JSON glTF
scene.save('output.obj'); // OBJ
scene.save('output.stl'); // STL
Como posso carregar de um buffer (em memória)?
Usando 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());Erro: Não pode encontrar o módulo ‘@aspose/3d/formats/obj’
Isso requer Node.js 12.7+ pacote de resolução de exportações. certifique-se que você está no NODE.JS 18+. Para TypeScript, configurar "moduleResolution": "node16" ou "bundler" Em tsconfig.json:
{
"compilerOptions": {
"moduleResolution": "node16",
"target": "ES2020"
}
}Qual é o tipo de node.entity?
node.entity Para acessar propriedades específicas de mesh, verifique sua presença com 'controlPoints' in node.entity Ou use o Mesh A classe da @aspose/3d/entities:
import { Mesh } from '@aspose/3d/entities';
if (node.entity instanceof Mesh) {
const mesh = node.entity;
console.log(mesh.controlPoints.length);
}A biblioteca está em funcionamento no navegador?
A biblioteca é projetada para Node.js. o suporte do navegador depende da configuração de pacote e APIs do sistema de arquivos que são substituídos por alternativas em memória.
A biblioteca é segura?
Cada um Scene O objeto é independente.Utilizando separadamente Scene As instâncias de fitas separadas do Node.js trabalhadores são seguras, desde que você não compartilhe uma única cena entre as faltas sem sincronização externa.
Quais versões do Node.js são suportadas?
Node.js 18, 20 e 22 são oficialmente suportados.TypeScript 5.0+ é recomendado.
@aspose/3d suporta animações?
Sim, o sistema de animação inclui AnimationClip, AnimationChannel, e tipos de curva de teclado acessíveis a partir do @aspose/3d/animation.