Pythonで3Dを始める方法
前提条件
- Python 3.8 以降
- pip パッケージマネージャ
ステップ 1 — パッケージをインストール
PyPI から Aspose.3D FOSS for Python をインストール:
pip install aspose-3d-fossインストールを確認する:
import aspose.threed as a3d
print(a3d.__version__)ステップ 2 — 最初の 3D シーンを作成する
A Scene はすべての 3D オブジェクトのルート コンテナです。コンストラクタはオプションのエンティティ、親シーン、および名前を受け取ります:
import aspose.threed as a3d
# Create an empty scene (CLM-3d-35d727)
scene = a3d.Scene()
# Access the root node of the scene (CLM-3d-859ac2)
root = scene.root_node()
print("Root node:", root)ステップ 3 — シーンにメッシュを追加
Mesh はポリゴンジオメトリを表します。Node はエンティティをシーン グラフにアタッチします:
import aspose.threed as a3d
scene = a3d.Scene()
# Create a named mesh (CLM-3d-529c11)
mesh = a3d.Mesh("my_mesh")
# Create a node and attach the mesh (CLM-3d-0edae8)
node = a3d.Node("my_node", mesh)
# Add the node as a child of the root (CLM-3d-a403f5)
scene.root_node().add_child_node(node)Step 4 — 既存の 3D ファイルをロードする
Scene.open() はディスクまたはストリームから 3D ファイルをロードします。パスとオプションの
ロード オプションを受け取ります:
import aspose.threed as a3d
# Load an OBJ file (CLM-3d-d84964)
scene = a3d.Scene()
scene.open("model.obj")
# Inspect the loaded scene
root = scene.root_node()
print("Child nodes:", len(root.child_nodes()))ロードする前にファイル形式を検出するには:
import aspose.threed as a3d
# Detect the format from a file name (CLM-3d-d2de62)
fmt = a3d.FileFormat.detect(None, "model.fbx")
if fmt:
print("Detected format:", fmt.extension())ステップ 5 — 出力をファイルに保存
Scene.save() はシーンをサポートされている任意の形式にエクスポートします。推奨されるアプローチは
拡張子ベースの自動検出です:Aspose.3D はファイル拡張子から形式を推測します
(CLM-3d-8051bd、CLM-3d-b28d7a、CLM-3d-de8e1a):
import aspose.threed as a3d
scene = a3d.Scene()
# ... populate scene ...
# Save as Wavefront OBJ — extension auto-detects the format
scene.save("output.obj")
# Save as glTF 2.0 binary — .glb extension triggers binary GLB output
scene.save("output.glb")ファクトリーメソッド FileFormat.WAVEFRONT_OBJ() または FileFormat.GLTF2() を使用して明示的なフォーマットを渡すこともできますが、拡張子の自動検出の方がシンプルでよりポータブルです。
次のステップ
- Pythonで3Dモデルをロードする方法 — フォーマット、オプション、シーングラフのトラバース
- Pythonで3Dモデルを変換する方法 — バッチ変換ワークフロー
- Pythonでメッシュジオメトリを構築する方法 — 制御点、ポリゴン、法線
- FAQ — よくある質問とトラブルシューティング