Como Converter Modelos 3D em .NET
Aspose.3D for .NET realiza a conversão de formato em duas etapas: carregue o arquivo de origem com Scene.Open(), depois salve no formato de destino com Scene.Save(). O formato de saída é inferido a partir da extensão do arquivo.
Guia passo a passo
Etapa 1: Instalar o Pacote
dotnet add package Aspose.3D --version 26.1.0Etapa 2: Importar Namespaces
using Aspose.ThreeD;
using Aspose.ThreeD.Formats;Etapa 3: Carregar o Arquivo Fonte
var scene = new Scene();
scene.Open("input.fbx");Etapa 4: Salvar no formato de destino
scene.Save("output.glb");A biblioteca detecta o formato de destino a partir da extensão. Formatos de exportação suportados: OBJ, STL, glTF 2.0 / GLB, FBX, COLLADA e 3MF.
Etapa 5: Usar opções de salvamento específicas do formato
Para controle detalhado, passe uma subclasse SaveOptions:
// FBX output — always produces binary FBX
// FbxSaveOptions exists but has no format-specific properties in this version
scene.Save("output.fbx");
// OBJ with flipped coordinate system
scene.Save("output.obj", new ObjSaveOptions { FlipCoordinateSystem = true });
// COLLADA with indented XML
scene.Save("output.dae", new ColladaSaveOptions { Indented = true });Receitas de Conversão Comuns
| Source | Target | Code |
|---|---|---|
| OBJ to GLB | scene.Open("input.obj"); scene.Save("output.glb"); | glTF binário para visualizadores web |
| FBX to STL | scene.Open("input.fbx"); scene.Save("output.stl"); | Malha triangulada para impressão 3D |
| glTF to COLLADA | scene.Open("input.gltf"); scene.Save("output.dae"); | Formato de troca DAE |
| STL to OBJ | scene.Open("input.stl"); scene.Save("output.obj"); | Wavefront para ferramentas de modelagem |
Problemas Comuns e Soluções
O arquivo de saída está vazio ou muito pequeno
Certifique‑se de que o arquivo de origem foi carregado com sucesso. Verifique scene.RootNode.ChildNodes.Count após Open().
Materiais perdidos durante a conversão
Nem todos os formatos carregam as mesmas propriedades de material. Os materiais OBJ usam Lambert/Phong; o glTF usa PBR. O mapeamento de materiais é feito da melhor forma possível entre limites de formatos.
Diferença de escala entre a origem e a saída
Ferramentas diferentes usam sistemas de unidades diferentes. Aplique ObjLoadOptions.Scale na importação ou ajuste node.Transform.Scale antes de salvar.
Perguntas Frequentes (FAQ)
Posso converter PLY para outro formato?
PLY é apenas de importação. Carregue um arquivo PLY e salve em qualquer formato de exportação (OBJ, STL, GLB, FBX, COLLADA).
A conversão preserva animações?
Os dados de animação (AnimationClip) são preservados quando ambos os formatos os suportam (por exemplo, FBX para glTF). STL e OBJ não carregam dados de animação.
Posso converter vários arquivos em lote?
Crie um novo Scene para cada arquivo em um loop. Cada Scene é independente e pode ser processado em paralelo.