.NET에서 3D 모델 변환 방법

.NET에서 3D 모델 변환 방법

Aspose.3D for .NET은 형식 변환을 두 단계 작업으로 만듭니다: Scene.Open()으로 소스 파일을 로드한 다음, Scene.Save()으로 대상 형식에 저장합니다. 출력 형식은 파일 확장자에서 추론됩니다.

단계별 가이드

1단계: 패키지 설치

dotnet add package Aspose.3D --version 26.1.0

2단계: 네임스페이스 가져오기

using Aspose.ThreeD;
using Aspose.ThreeD.Formats;

3단계: 원본 파일 로드

var scene = new Scene();
scene.Open("input.fbx");

4단계: 대상 형식으로 저장

scene.Save("output.glb");

라이브러리는 확장자를 통해 대상 형식을 감지합니다. 지원되는 내보내기 형식: OBJ, STL, glTF 2.0 / GLB, FBX, COLLADA, 및 3MF.


5단계: 형식별 저장 옵션 사용

세밀한 제어를 위해 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 });

공통 변환 레시피

SourceTargetCode
OBJ에서 GLB로scene.Open("input.obj"); scene.Save("output.glb");웹 뷰어용 바이너리 glTF
FBX에서 STL로scene.Open("input.fbx"); scene.Save("output.stl");3D 프린팅용 삼각형 메쉬
glTF에서 COLLADA로scene.Open("input.gltf"); scene.Save("output.dae");DAE 교환 형식
STL에서 OBJ로scene.Open("input.stl"); scene.Save("output.obj");모델링 도구용 Wavefront

일반적인 문제 및 해결 방법

출력 파일이 비어 있거나 매우 작습니다

소스 파일이 성공적으로 로드되었는지 확인하십시오. Open() 이후에 scene.RootNode.ChildNodes.Count를 확인하십시오.

변환 중 손실된 자료

모든 형식이 동일한 재질 속성을 가지고 있는 것은 아닙니다. OBJ 재질은 Lambert/Phong을 사용하고; glTF는 PBR을 사용합니다. 재질 매핑은 형식 경계에서 최선의 노력을 기울입니다.

소스와 출력 간의 스케일 차이

다양한 도구는 서로 다른 단위 시스템을 사용합니다. 가져오기 시 ObjLoadOptions.Scale를 적용하거나 저장하기 전에 node.Transform.Scale를 조정하십시오.


자주 묻는 질문 (FAQ)

PLY를 다른 형식으로 변환할 수 있나요?

PLY는 가져오기 전용입니다. PLY 파일을 로드하고 모든 내보내기 형식(OBJ, STL, GLB, FBX, COLLADA)으로 저장합니다.

변환이 애니메이션을 유지합니까?

두 형식이 모두 지원하는 경우(예: FBX에서 glTF로) 애니메이션 데이터(AnimationClip)가 보존됩니다. STL 및 OBJ는 애니메이션 데이터를 포함하지 않습니다.

여러 파일을 일괄 변환할 수 있나요?

루프에서 각 파일마다 새로운 Scene을 생성합니다. 각 Scene은 독립적이며 병렬로 처리할 수 있습니다.

 한국어