Node.js での GLB から FBX への変換

GLB ファイルは、地球儀で使用されているテクスチャ、画像、その他のファイルと、それらのファイルの保存場所を記録するテキスト ファイルです。GLB 形式は、ダウンロード速度と実行時の読み込み時間に最適化されており、モバイルおよび Web ベースの 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 Cloud SDK for Node.js には 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 にアクセスする前に、API には許可されたユーザーのみがアクセスできるため、クライアント ID とクライアント シークレットの詳細に基づいて JWT アクセス トークンを生成する必要があることに注意してください。

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 の使用中に問題が発生した場合や、関連する質問がある場合は、無料製品サポートフォーラム からお気軽にお問い合わせください。

関連記事

さらに詳しい機能については、以下のリンクをご覧ください。