Node.js에서 GLB에서 FBX로

GLB 파일은 지구본에서 어떤 텍스처, 이미지 및 기타 파일이 사용되는지와 해당 파일이 저장된 위치를 기록하는 텍스트 파일입니다. GLB 형식은 다운로드 속도와 런타임 로드 시간에 최적화되어 있어 모바일 및 웹 기반 3D 모델링 프로그램에서 사용하기가 더 쉽습니다. 이 외에도 glTF는 3D 콘텐츠의 전송 및 로드를 위한 효율적이고 확장 가능하며 상호 운용 가능한 형식으로 개발되었습니다. 이 형식의 목표에는 컴팩트한 파일 크기, 빠른 로드, 완전한 3D 장면 표현, 런타임 독립성 및 추가 개발을 수반하는 확장성이 포함됩니다.

마찬가지로 FBX 포맷은 효율적이고 모델을 이진 데이터로 저장하기 때문에 제작자들이 서로 3D 모델을 공유할 수 있게 해줍니다. 이러한 기능 덕분에 이 두 포맷 모두 매우 인기가 많고 상호 변환이 필요할 수 있습니다. 이 글에서는 다음 주제에 대해 더 자세히 설명하겠습니다.

3D 파일 처리 API

3D 파일 처리가 Cloud REST API의 도움으로 매우 편리해졌습니다. 이제 Aspose.3D Cloud를 사용하여 모든 3D 파일 처리 및 변환 작업을 수행할 수 있습니다. 고객의 편의를 위해 Aspose.3D 클라우드를 중심으로 Node.js 래퍼를 만들어 모든 기능을 Node.js 프로젝트 내에서 사용할 수 있도록 했습니다.

설치 및 구성

Cloud SDK를 사용하려면 첫 번째 단계는 NPM 또는 GitHub에서 설치하는 것입니다. 그러나 npm을 통한 설치가 가장 쉽습니다. 다음 명령을 실행하여 설치를 수행하십시오.

npm install aspose3dcloud --save

Aspose.3D for Node.js Cloud SDK를 사용하려면 Node.js가 4.8.7 이상이어야 합니다.

설치가 완료되면 다음 주요 단계는 Aspose.Cloud 대시보드를 방문하여 계정을 만드는 것입니다. 계정을 만들어야 하는 이유는 API에 권한이 있는 사람만 액세스할 수 있기 때문입니다. 따라서 GitHub 또는 Google 계정이 있는 경우 간단히 가입하세요. 그렇지 않은 경우 새 계정 만들기 버튼을 클릭하고 필요한 정보를 제공하세요. 이제 자격 증명을 사용하여 대시보드에 로그인하고 대시보드에서 애플리케이션 섹션을 확장한 다음 클라이언트 자격 증명 섹션으로 스크롤하여 클라이언트 ID 및 클라이언트 비밀 세부 정보를 확인하세요.

클라이언트 자격 증명

Node.js에서 GLB에서 PLY로

GLB 파일을 PLY 형식으로 변환하려면 아래 지침을 따르십시오.

  • 첫 번째 단계는 클라이언트 ID와 클라이언트 비밀번호 정보를 인수로 제공하면서 ThreeDCloudApi의 인스턴스를 생성하는 것입니다.
  • 둘째, postConvertByFormatRequest 클래스의 객체를 생성합니다.
  • postConvertByFormatRequest 클래스의 name 속성을 사용하여 입력 GLB 파일 이름을 정의합니다.
  • 결과 형식을 지정하려면 newformat 속성을 사용하세요.
  • 이제 결과 파일 이름을 정의하려면 postConvertByFormatRequest의 newfilename 속성을 사용하세요.
  • 마지막으로, 변환 작업을 시작하기 위해 postConvertByFormatRequest 인스턴스를 인수로 전달하면서 ThreeDCloudApi의 postConvertByFormat(…) 메서드를 호출합니다.
const { ThreeDCloudApi, postConvertByFormatRequest } = require("aspose3dcloud");

// https://dashboard.aspose.cloud에서 ClientId와 ClientSecret을 받으세요(무료 등록 필요).
const clientId = "718e4235-8866-4ebe-bff4-f5a14a4b6466";
const secret = "388e864b819d8b067a8b1cb625a2ea8e";

// ThreeD Cloud API 인스턴스 생성
const threeDCloudApi = new ThreeDCloudApi(clientId, secret);

    // ConvertByFormat 요청 객체 생성
    var req = new postConvertByFormatRequest()
    
    // 입력 glb 파일의 이름을 지정하세요
    req.name = "Wolf-Blender-2.82a.glb";
    
    // 결과 파일의 파일 형식
    req.newformat = "ply";

    // 결과 파일의 이름
    req.newfilename = "Wolf-Blender-2.82a.ply";

    req.folder = null;

    // 클라우드 저장소에 이미 있는 파일이 있으면 덮어씁니다.
    req.isOverwrite = true;
    req.storage = null;

    try {
        // 문서 변환 작업 수행
    return threeDCloudApi.postConvertByFormat(req)
      .then((result) => {
	    
            // 콘솔에 성공 메시지 출력
            console.log("Successfully converted..");
	});
}
catch (e) {
    console.log("entering catch block");
    console.log(e);
    console.log("leaving catch block");
}

위의 예에서 사용된 샘플 파일은 다음 링크에서 테스트 목적으로 사용할 수 있습니다.

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

Aspose.3D Cloud는 너무 놀라워서 GLB 또는 다른 형식을 FBX를 포함한 다른 지원되는 형식으로 단일 cURL 명령으로 변환할 수 있습니다. 위 섹션에서 언급했듯이 동일한 코드를 사용하고 출력 파일 형식 확장자만 변경하면 변환을 수행할 수 있으며 API가 나머지 작업을 수행합니다. 그러나 명령줄 터미널에서 API에 액세스하기 전에 먼저 클라이언트 ID와 클라이언트 비밀 정보를 기반으로 JWT 액세스 토큰을 생성해야 합니다. API는 권한이 있는 사람만 액세스할 수 있기 때문입니다.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=718e4235-8866-4ebe-bff4-f5a14a4b6466&client_secret=388e864b819d8b067a8b1cb625a2ea8e" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

JWT 토큰이 생성되면 PostConvertByFormat API에 액세스하여 GLB에서 FBX로의 변환을 수행합니다.

curl -X POST "https://api.aspose.cloud/v3.0/3d/saveas/newformat?name=Wolf-Blender-2.82a.glb&newformat=fbx&newfilename=ConvertedFile.fbx&IsOverwrite=true" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

결론

이 문서에서는 Aspose.3D Cloud API를 사용하여 인기 있는 3D 파일 형식에서 다른 지원 형식으로 변환하는 것과 관련된 개념을 설명했습니다. 이 문서에서는 Node.js 코드 조각과 cURL 명령을 사용하여 파일을 변환하는 단계를 설명했습니다. 위에서 설명한 형식 외에도 API는 다른 3D 파일 형식으로 출력을 로드하고 저장할 수 있으며 관련 세부 정보는 지원되는 문서 형식에서 찾을 수 있습니다.

무료 계정 구독에 따라 150개의 문서 처리 요청을 수행할 수 있으며 API에 만족하면 API 호출당 $0.005만큼 낮은 라이선스 구독을 구매하는 것을 고려할 수 있습니다. 자세한 내용은 가격 페이지를 방문하세요. API를 사용하는 동안 문제가 발생하거나 관련 질문이 있는 경우 무료 제품 지원 포럼을 통해 언제든지 문의하세요.

관련기사

또한 더 많은 기능을 탐색하려면 다음 링크를 방문하는 것이 좋습니다.