FBX에서 OBJ로

FBX 파일은 3D 지오메트리와 애니메이션 데이터를 교환하는 데 사용되는 형식입니다. FBX 파일은 영화, 게임, 증강 현실 및 가상 현실(AR/VR) 개발에 사용됩니다. 또한 FBX 파일을 열고, 편집하고, 고충실도 2D 및 3D 파일로 내보내려면 Autodesk FBX Review 등과 같은 타사 소프트웨어가 필요합니다. 반면 OBJ는 지오메트리(정점, 법선 등)만 유지하고 종종 원시 폴리곤 데이터, 일부 간단한 소재를 위한 훨씬 간단한 형식입니다. 따라서 FBX 파일을 OBJ 형식으로 렌더링해야 할 수도 있습니다. 이 문서에서는 REST API를 사용하여 FBX 파일을 OBJ 파일로 프로그래밍 방식으로 변환하는 방법에 대한 단계에 대해 알아봅니다.

3D 파일 처리 API

Box, Cylinder, Sphere, Torus, Plane을 포함한 3D 모델, 객체, 엔티티를 프로그래밍 방식으로 생성하고 처리하기 위해 Aspose.3D Cloud라는 REST 기반 API를 만들었습니다. 변환 및 변환, 크기 조정, 매개변수 모델링, 3D 객체 회전과 같은 모든 작업을 수행하고 소프트웨어 설치 없이 Triangulate Meshes로 작업할 수도 있습니다. REST 아키텍처를 기반으로 하므로 API는 데스크톱, 웹, 모바일 및 하이브리드 애플리케이션에서 사용할 수 있습니다.

이 글에서는 C# .NET 코드 조각을 사용하여 FBX 파일을 OBJ 형식으로 변환하는 것에 대해 논의할 것이므로 Aspose.3D Cloud SDK for .NET에 집중해야 합니다. SDK는 REST를 둘러싼 래퍼이므로 좋아하는 IDE 내에서 3D 파일 처리의 모든 기능을 바로 사용할 수 있습니다.

설치

SDK를 사용하는 첫 번째 단계는 설치입니다. Cloud SDK는 NuGetGitHub에서 다운로드할 수 있습니다. 따라서 NuGet에서 SDK를 설치하려면 터미널에서 다음 명령을 실행하는 것을 고려하세요.

nuget install Aspose.3D-Cloud

NuGet 패키지 관리자

Visual Studio의 패키지 관리자 콘솔에서 다음 명령을 실행하여 프로젝트에서 Aspose.3D 어셈블리를 가져와 참조할 수도 있습니다.

PM> Install-Package Aspose.3D-Cloud

비주얼 스튜디오

또 다른 방법은 Visual Studio 솔루션 내에 직접 설치하는 것입니다.

  1. 솔루션 탐색기를 엽니다.
  2. 프로젝트를 확장하고 솔루션 내의 패키지 폴더를 마우스 오른쪽 버튼으로 클릭합니다.
  3. NuGet 패키지 관리… 옵션을 선택하세요
  4. 찾아보기 탭을 클릭하고 “Aspose.3D-Cloud"를 검색합니다.
  5. 검색 결과에서 Aspose.3D-Cloud 패키지를 클릭합니다.
  6. 오른쪽 탭에서 적절한 버전을 선택하고 설치 버튼을 클릭하세요.
Aspose.3D-Cloud NuGet

이미지 1:- Visual Studio의 NuGet 패키지인 Aspose.3D Cloud.

클라우드 대시보드

Aspose에서는 데이터의 기밀성, 무결성, 가용성이 매우 중요합니다. 따라서 권한이 있는 사람만 클라우드 API와 클라우드 스토리지에 저장된 파일에 액세스할 수 있습니다. 다음으로 중요한 단계는 Aspose.Cloud 대시보드에서 무료 구독 계정을 만드는 것입니다. 구독은 무료이며 신용 카드나 결제 정보가 필요하지 않습니다. 무료 구독 계정에서 최대 150개의 무료 문서 처리 요청을 수행할 수 있습니다.

이제 GitHub 또는 Google 계정을 사용하고 간단히 가입하세요. 그렇지 않으면 새 계정 만들기 버튼을 클릭하고 필요한 정보를 제공하세요. 이제 자격 증명을 사용하여 대시보드에 로그인하고 대시보드에서 애플리케이션 섹션을 확장하고 클라이언트 자격 증명 섹션으로 스크롤하여 클라이언트 ID 및 클라이언트 비밀 세부 정보를 확인하세요.

클라이언트 자격 증명

이미지 2: Aspose.Cloud 대시보드의 클라이언트 자격 증명.

C#에서 FBX를 OBJ로

C# .NET 코드 조각을 사용하여 FBX를 OBJ 형식으로 변환하려면 아래 지정된 단계를 따르세요.

  • 먼저 클라이언트 ID와 클라이언트 비밀번호를 인수로 전달하면서 ThreeDCloudApi 클래스의 인스턴스를 생성해야 합니다.
  • 둘째, 로컬 시스템에서 입력 FBX 파일을 FileStream 객체로 로드합니다.
  • 이제 ThreeDCloudApi 클래스의 UploadFile(…) 메서드를 사용하여 파일을 클라우드 저장소에 업로드합니다.
  • 다음 단계는 입력 파일 이름, 출력 형식 및 결과 파일 이름을 인수로 사용하는 PostConvertByFormatWithHttpInfo(…) 메서드를 호출하는 것입니다.
  • 마지막으로 콘솔에 성공 메시지를 출력합니다. 이때 출력은 클라우드 스토리지에 저장됩니다.
// https://dashboard.aspose.cloud/에서 ClientID를 가져옵니다.
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";

// 입력 FBX 파일의 이름
String inputFileName = "Wolf-Blender-2.82a.fbx";
// 결과 파일 형식
String newFormat = "wavefrontobj";
// 출력 파일 이름
String newFileName = "resultant.obj";

// ThreeDCloud API 인스턴스를 생성합니다
ThreeDCloudApi threeDCloudApi = new ThreeDCloudApi("client_credentials", clientID, clientSecret);

try
{
    // 로컬 드라이브에서 입력 FBX 로드
    using (var inputStream = new FileStream("C:\\Users\\nayyer\\Downloads\\" + inputFileName, FileMode.Open))
    {
        // 클라우드 스토리지에 파일 업로드
        threeDCloudApi.UploadFile(inputFileName, inputStream);
        
        // 파일 변환 작업을 시작합니다
        var response = threeDCloudApi.PostConvertByFormatWithHttpInfo(inputFileName, newFormat, newFileName, null, isOverwrite: true, null);
        
        // 변환이 성공하면 성공 메시지를 출력합니다.
        if (response != null && response.Equals("OK"))
        {
            Console.WriteLine("Successfully converted FBX to OBJ !");
            Console.ReadKey();
        }
    }
}catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

참고로, 위 예제에서 사용된 샘플 파일은 Wolf-Blender-2.82a.fbxresultant.obj에 업로드되었습니다.

cURL 명령을 사용하여 FBX를 OBJ로 변환

Cloud API의 REST 아키텍처를 사용하면 cURL 명령을 통해 액세스할 수 있으므로 cURL 명령을 통해 Aspose.3D Cloud에 액세스할 수도 있습니다. 동시에 API는 권한이 있는 사람만 액세스할 수 있으므로 먼저 개인화된 클라이언트 자격 증명을 기반으로 JWT 액세스 토큰을 생성해야 합니다. JWT 액세스 토큰 생성을 위해 다음 명령을 실행하세요.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4db2f826-bf9c-42e7-8b2a-8cbca2d15553&client_secret=d757548a9f2558c39c2feebdf85b4c44" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

이제 다음 명령을 실행하면서 파일을 클라우드 저장소에 업로드해야 합니다.

curl -X PUT "https://api.aspose.cloud/v3.0/3d/storage/file/Esso.3ds" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d {"File":{c:\Users\nayyer\Esso.3ds}} -v

JWT 액세스 토큰이 생성되면 다음 명령을 실행하여 FBX 파일을 OBJ 형식으로 변환하세요. PostConvertByFormat API에서 허용하는 매개변수의 세부 정보는 다음과 같습니다.

  • 이름 - 소스 파일의 이름입니다.
  • newformat - 새 파일의 형식.
  • newfilename - 새 파일의 이름.
  • 폴더(선택 사항) - 소스 파일의 폴더입니다.
  • IsOverwrite(선택 사항) - 소스 파일을 덮어쓸까요?(기본값은 false)
  • 저장(선택 사항) - 저장 유형입니다.
curl -X POST "https://api.aspose.cloud/v3.0/3d/saveas/newformat?name=Wolf-Blender-2.82a.fbx&newformat=wavefrontobj&newfilename=Converted.obj&IsOverwrite=true" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-v

요청 URL

https://api.aspose.cloud/v3.0/3d/saveas/newformat?name=Esso.3ds&newformat=FBX&newfilename=Iphone.fbx&IsOverwrite=false

결론

이 문서에서는 C# .NET 코드 조각과 cURL 명령을 사용하여 FBX 파일을 OBJ 형식으로 변환하는 방법에 대한 단계를 설명했습니다. 또한, 클라우드 SDK는 오픈소스 라이선스 모델에 따라 개발되었으므로 전체 소스 코드는 GitHub에서 다운로드할 수 있습니다.

요약하자면, 현재 Cloud API에서 지원하는 3D 형식을 아래에 나열했습니다.

적층 제조 형식 AMF, 3D Studio 3DS, AVEVA RVM, Google Draco DRC, Collada DAE, AutoCAD DXF, Autodesk FBX, Wavefront OBJ, 3D PDF, Polygon 파일 형식 PLY, 표준 삼각형 언어 STL, Universal3D U3D, GL 전송 형식 GLTF

당사 API를 사용해 보시기를 권장하며, 문제가 발생하거나 관련 질문이 있는 경우 무료 지원 포럼을 통해 언제든지 문의해 주시기 바랍니다.

관련기사

또한 다음 링크를 방문하여 수상 경력에 빛나는 API의 기능에 대해 자세히 알아보는 것이 좋습니다.