Como Converter Modelos 3D em .NET

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.0

Etapa 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

SourceTargetCode
OBJ to GLBscene.Open("input.obj"); scene.Save("output.glb");glTF binário para visualizadores web
FBX to STLscene.Open("input.fbx"); scene.Save("output.stl");Malha triangulada para impressão 3D
glTF to COLLADAscene.Open("input.gltf"); scene.Save("output.dae");Formato de troca DAE
STL to OBJscene.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.

 Português