Python でクラウドベースの軽量 FBX から GLB へのコンバーターを開発します。
概要
GLB形式は、3Dシーンやモデル用の一般的な3Dファイル形式の1つです。これは、GLTF 2.0ファイル形式のバイナリバージョンです。通常、テクスチャを外部画像として参照するのではなく、テクスチャを含み、GLTFの拡張機能として導入されました。一方、FBXファイルは、3Dジオメトリとアニメーションデータを交換するために使用されます。映画、ゲーム、拡張現実、仮想現実(AR / VR)開発で広く使用されています。また、FBXファイル形式はバイナリ形式を使用しており、非常に効率的です。したがって、この事実により、GLB形式をFBX形式に変換する必要性が生じる可能性があります。そこで、この記事では、Pythonでプログラム的にGLBをFBXに変換する手順と関連する詳細について説明します。
3D ファイル処理 API
Aspose.3D Cloud は、3D ファイル形式をプログラムで処理するための REST ベースのソリューションです。デスクトップ、Web、クラウドベースのアプリケーションで 3D オブジェクト、モデル、エンティティ (ボックス、円柱、球、トーラス、平面) を作成、変更、変換できます。API を使用すると、三角形メッシュを操作でき、ファイル全体を三角形にしたり、3D シーンの一部 (OAP で指定) のみを三角形にしたりして、他の サポートされているファイル形式 に保存できます。
お客様の利便性をさらに高めるために、Aspose.3D Cloud のラッパーである Aspose.3D Cloud SDK for Python を作成しました。最初のステップは、GLB to FBX Python ライブラリをインストールすることです。これは PIP および GitHub からダウンロードできます。次に、コマンド ライン ターミナルで次のコマンドを実行して、SDK をインストールします。
pip install aspose3dcloud
ただし、Microsoft Visual Studio に Aspose.3D Cloud を直接インストールするには、Python 環境ウィンドウのパッケージ フィールドに aspose3dcloud と入力します。次に、aspose3dcloud のインストール リンクをクリックします。下の画像を参照してください。
Aspose.Cloud ダッシュボード
Cloud API を使い始めるには、Aspose.Cloud ダッシュボード にアカウントを作成する必要があります。GitHub または Google アカウントをお持ちの場合は、サインアップするか、新しいアカウントの作成 ボタンをクリックして必要な情報を入力します。資格情報を使用してダッシュボードにログインし、ダッシュボードからアプリケーション セクションを展開して、クライアント資格情報セクションまで下にスクロールし、クライアント ID とクライアント シークレットの詳細を確認します。
Python を使用した GLB から FBX への変換
このセクションでは、Python コード スニペットを使用して、クラウド ストレージにすでに存在する GLB ファイルを FBX 形式に変換する方法について説明します。この要件を満たすには、以下の手順に従ってください。
- まず、クライアント ID とクライアント シークレットの詳細を引数として渡しながら、ThreeDCloudApi のインスタンスを作成する必要があります。
- 次に、入力 GLB 名、出力形式 (FBX)、および結果ファイルの名前を定義します。
- 最後に、ThreeDCloudApi クラスの postconvertbyformat(…) メソッドを呼び出して変換操作を実行します。
import aspose3dcloud
from aspose3dcloud import ThreeDCloudApi
from aspose3dcloud.rest import ApiException
def main():
try:
# Aspose.3D Cloudのインスタンスを作成する
threeDCloudApi = aspose3dcloud.ThreeDCloudApi("client_credentials", "6185429e-17ce-468d-bb81-a51ac9d96c16","73a07e2fb010f559e482d854fe5a8f49")
# 入力GLBファイル
name = "Wolf-Blender-2.82a.glb"
# 結果のFBXファイル形式
newformat = "fbx7200binary"
# 結果の FBX ファイルの名前
newfilename = "Converted.fbx"
# 既存のファイルを上書きするフラグを設定する
isOverwrite = "true"
# ファイル変換操作を開始する
result = threeDCloudApi.post_convert_by_format(name, newformat, newfilename, folder = None, is_overwrite = isOverwrite)
# コンソールにメッセージを出力する(オプション)
print('Conversion process completed successfully !')
except ApiException as e:
print("Exception while calling WordsApi: {0}".format(e))
main()
cURL コマンドを使用して GLB を FBX に変換する
cURL コマンドは、コマンド プロンプトから REST API にアクセスする便利な方法の 1 つです。cURL コマンド経由で Aspose.3D Cloud にアクセスすることもできます。ただし、まず、この GLB から FBX への Python ライブラリを使用するには、クライアント資格情報に基づいて JWT アクセス トークンを生成する必要があります。生成するには、次のコマンドを実行してください。
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=6185429e-17ce-468d-bb81-a51ac9d96c16&client_secret=73a07e2fb010f559e482d854fe5a8f49" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
次のコマンドを使用して、GLB ファイルを FBX 形式に変換し、出力をクラウド ストレージに保存してください。
curl -v -X POST "https://api.aspose.cloud/v3.0/3d/saveas/newformat?name=Wolf-Blender-2.82a.glb&newformat=fbx7200binary&newfilename=Wolf-Blender-Converted.fbx&IsOverwrite=false" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
上記の例で使用したサンプルファイルは、Wolf-Blender-2.82a.glbおよびWolf-Blender-Converted.fbxからダウンロードできます。
結論
この記事では、GLB to FBX Python ライブラリと cURL コマンドを使用して、GLB を FBX 形式に変換する方法について詳しく説明しました。当社の SDK は MIT ライセンスに従って開発されているため、完全なソース コードは GitHub からダウンロードできます。このブログ記事は、Python プロジェクトで FBX から GLB へのコンバーターを選択することを検討している場合にきっと役立ちます。さらに、以下の「探索」セクションに、さらに関連記事が掲載されていますので、ぜひご覧ください。
当社のAPIに関する最新情報を入手するには、Facebook、LinkedIn、Twitterのソーシャルメディアアカウントをフォローすることを検討してください。
質問する
質問や問い合わせ/議論に積極的に対応しているフォーラムにぜひアクセスしてください。
探検する
詳細については、以下のリンクをご覧ください。
- Word から JPEG へ – Python で Word を JPEG に変換する
- PDF から DOC へのコンバーター – Node.js 向け Aspose.PDF Cloud SDK
- Node.js を使用してクラウドで PDF を PPT に変換する方法
- Node.js 用の Aspose.PDF Cloud SDK を使用して PDF を Excel に変換する
- HTML から PDF へのコンバーター | Aspose.PDF | ファイル形式コンバーター
- Node.js 用の Aspose.PDF Cloud SDK を使用して PDF ファイルを HTML に変換する方法
- Heroku Ruby on Rails で Aspose.Email Cloud を使用してメールを送信する