FBXからOBJへ

FBXファイルは、3Dジオメトリとアニメーションデータを交換するために使用される形式です。FBXファイルは、映画、ゲーム、拡張現実と仮想現実(AR / VR)の開発で使用されます。また、FBXファイルを開いて編集し、忠実度の高い2Dおよび3Dファイルにエクスポートするには、Autodesk FBX Reviewなどのサードパーティソフトウェアが必要です。一方、OBJは、ジオメトリ(頂点、法線など)のみを保持するはるかにシンプルな形式で、多くの場合、生のポリゴンデータ、いくつかの単純なマテリアル用です。そのため、FBXファイルをOBJ形式にレンダリングする必要がある場合があります。この記事では、REST APIを使用してプログラムでFBXファイルをOBJファイルに変換する手順について説明します。

3D ファイル処理 API

ボックス、円柱、球、トーラス、平面などの 3D モデル、オブジェクト、エンティティをプログラムで作成および処理するために、Aspose.3D Cloud という REST ベースの API を作成しました。変換と移動、スケーリング、パラメトリック モデリング、3D オブジェクトの回転などのすべての操作を実行し、ソフトウェアをインストールせずに三角メッシュを操作することもできます。REST アーキテクチャに基づいているため、API はデスクトップ、Web、モバイル、ハイブリッド アプリケーションで使用できます。

この記事では、C# .NET コード スニペットを使用して FBX ファイルを OBJ 形式に変換する方法について説明します。そのため、Aspose.3D Cloud SDK for .NET に焦点を当てる必要があります。この SDK は REST のラッパーであり、お気に入りの IDE 内で 3D ファイル処理のすべての機能を利用できます。

インストール

SDK を使用する最初のステップは、インストールです。Cloud SDK は、NuGet および GitHub からダウンロードできます。したがって、NuGet から SDK をインストールするには、ターミナルで次のコマンドを実行することを検討してください。

nuget install Aspose.3D-Cloud

NuGet パッケージ マネージャー

プロジェクトで Aspose.3D アセンブリを取得して参照するには、Visual Studio のパッケージ マネージャー コンソールで次のコマンドを実行することも検討してください。

PM> Install-Package Aspose.3D-Cloud

ビジュアルスタジオ

もう 1 つの方法は、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.fbx および resultant.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で受け入れられるパラメータの詳細です。

  • name - ソースファイルの名前。
  • 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 形式に変換する手順について説明しました。さらに、当社の Cloud SDK はオープンソース ライセンス モデルに基づいて開発されているため、完全なソース コードは GitHub からダウンロードできます。

要約すると、現在Cloud APIでサポートされている3Dフォーマットは以下のとおりです。

積層造形フォーマット AMF、3D Studio 3DS、AVEVA RVM、Google Draco DRC、Collada DAE、AutoCAD DXF、Autodesk FBX、Wavefront OBJ、3D PDF、ポリゴンファイルフォーマット PLY、標準三角形言語 STL、Universal3D U3D、GL 伝送フォーマット GLTF

ぜひ弊社の API をお使いいただき、問題が発生した場合や関連する質問がある場合は、無料サポート フォーラム からお気軽にお問い合わせください。

関連記事

以下のリンクにアクセスして、受賞歴のあるAPIの機能について詳しく知ることをお勧めします。