3D モデリングとビジュアライゼーションは、ゲーム、建築、バーチャル リアリティなど、さまざまな業界で不可欠な要素になっています。この記事では、Python で 3D モデルを操作する方法を探り、3D モデル シーンの作成と読み取りに焦点を当てます。 3D モデルを作成、操作、および読み取るための強力で使いやすいツールである Python の Aspose.3D ライブラリについて説明します。 Python で 3D モデリングに飛び込みましょう!
この記事では、次のトピックについて説明します。
- Python 3D ライブラリ – Python の 3D
- Python で簡単な 3D シーンを作成する
- 3Dシーンで素材を作る
- 3D シーンにライトを追加
- Python でプリミティブ 3D モデルを作成する
- Python で 3D シーンを読む
Python 3D ライブラリ – Python の 3D
Aspose.3D for Python は、Python 開発者向けの汎用性が高く、機能が豊富で、非常に効率的な 3D モデリング ソリューションです。ユーザーが 3D モデルを簡単に作成、読み取り、および変更できるようにする包括的な機能セットを提供します。この Python 3D ライブラリの主な機能には次のようなものがあります。
- FBX、OBJ、STL などの一般的な 3D ファイル形式のサポート
- 高性能 3D レンダリングおよび視覚化機能
- 高度なシーン管理および操作ツール
- 開発者がすぐに作業を開始できるようにするための豊富なドキュメントとコード サンプル
コンソールで次の pip コマンドを使用して、パッケージをダウンロード または PyPI から API をインストール してください。
pip install aspose-3d
Python で基本的な 3D シーンを作成する
以下の手順に従って、簡単な 3D シーンを作成できます。
- Scene クラスのインスタンスを作成します。
- その後、createchildnode() メソッドを呼び出して、ジオメトリ、つまり球体など、画面に表示する形状を追加します。
- 最後に、save() メソッドを使用してシーンを FBX として保存します。
次のコード サンプルは、Python で単純な 3D シーンを作成する方法を示しています。
# このコード例は、基本的な 3D シーンを作成する方法を示しています。
from aspose.threed import Scene
from aspose.threed.entities import Sphere
# Scene クラスのオブジェクトを作成する
scene = Scene()
# 球体モデルを作成する
scene.root_node.create_child_node("Sphere", Sphere())
# 3D シーン ドキュメントの保存
scene.save("C:\\Files\\my_scene.fbx")
Python を使用して 3D シーンでマテリアルを作成する
以下の手順に従って、3D シーンで拡散色を使用してマテリアルを作成できます。
- Scene クラスのインスタンスを作成します。
- createchildnode() メソッドを呼び出して、球体を追加します。
- LambertMaterial クラス オブジェクトを初期化します。
- 拡散色と名前のプロパティを指定します。
- その後、マテリアル オブジェクトを Sphere モデルに割り当てます。
- 最後に、save() メソッドを使用してシーンを FBX として保存します。
次のコード サンプルは、Python を使用して 3D シーンで拡散色のマテリアルを作成する方法を示しています。
# このコード例は、3D シーンでマテリアルを作成する方法を示しています。
from aspose.threed import Scene
from aspose.threed.entities import Sphere
from aspose.threed.utilities import MathUtils, Vector3
from aspose.threed.shading import LambertMaterial
from aspose.pydrawing import Color
# Scene クラスのオブジェクトを作成する
scene = Scene()
# 球体モデルを作成する
node = scene.root_node.create_child_node("Sphere", Sphere())
# LambertMaterial の設定
material = LambertMaterial()
material.diffuse_color = Vector3(Color.red)
material.name = "Lambert"
# 球体モデルに割り当て
node.material = material
# 3D シーン ドキュメントの保存
scene.save("C:\\Files\\material_scene.fbx")
Python を使用して 3D シーンにライトを追加する
以下の手順に従って、3D シーンにライトを追加することもできます。
- Scene クラスのインスタンスを作成します。
- createchildnode() メソッドを呼び出して、球体を追加します。
- Light クラス オブジェクトを初期化します。
- lighttype および name プロパティを指定します。
- その後、createchildnode() メソッドを呼び出してライト エンティティを追加します。
- 最後に、save() メソッドを使用してシーンを FBX として保存します。
次のコード サンプルは、Python を使用して 3D シーンでライトを作成する方法を示しています。
# このコード例は、3D シーンでライトを作成する方法を示しています。
from aspose.threed import Scene
from aspose.threed.entities import Sphere, Light, LightType
from aspose.threed.utilities import MathUtils, Vector3
from aspose.threed.shading import LambertMaterial
from aspose.pydrawing import Color
# Scene クラスのオブジェクトを作成する
scene = Scene()
# 球体モデルを作成する
scene.root_node.create_child_node("Sphere", Sphere())
# 光エンティティを追加
light = Light()
# ポイントライト
light.light_type = 0
# 名前
light.name = "Light";
# シーンに追加
scene.root_node.create_child_node(light).transform.translation = Vector3(10, 0, 10);
# 3D シーン ドキュメントの保存
scene.save("C:\\Files\\light_scene.fbx")
プリミティブ 3D モデル Python
プリミティブは、複雑な幾何学的形状を作成するための基礎となる 3 次元の幾何学的形状です。前述の手順に従って、プリミティブ 3D モデルを作成できます。ただし、以下のコード サンプルに示すように、複数の幾何学的形状またはオブジェクトを追加する必要があります。
# このコード例は、プリミティブ 3D モデルを作成する方法を示しています
from aspose.threed import Scene
from aspose.threed.entities import Box, Cylinder
from aspose.threed.utilities import MathUtils, Vector3
# Scene オブジェクトを初期化する
scene = Scene()
# ボックス モデルを作成する
box = Box();
box.name = "Box";
scene.root_node.create_child_node(box)
# 円柱モデルを作成する
cylinder = Cylinder();
cylinder.name = "Cylinder";
scene.root_node.create_child_node(cylinder)
# 3D シーン ドキュメントの保存
scene.save("C:\\Files\\primitive_scene.fbx")
Python で 3D シーンを読み取る
以下の手順に従って、FBX ドキュメントから 3D シーンを読み取ることができます。
- Scene クラスのインスタンスを作成します。
- open() メソッドを使用して、既存の 3D ドキュメントを読み込みます。
- 子ノードをループします。
- 最後に、プロパティ値を表示します。
次のコード サンプルは、Python で 3D シーンを読み込んで読み取る方法を示しています。
# このコード例は、3D シーンを読み取る方法を示しています。
from aspose.threed import Scene
# Scene クラス オブジェクトを初期化する
scene = Scene()
# 既存の 3D ドキュメントをロードする
scene.open("C:\\Files\\primitive_scene.fbx")
for node in scene.root_node.child_nodes:
entity = node.entity;
print("{0}", entity.name);
{0} Box
{0} Cylinder
無料ライセンスを取得する
無料の一時ライセンスを取得して、評価制限なしで Aspose.3D for Python を試すことができます。
Python での 3D – Python 3D ライブラリ学習リソース
Python での 3D モデルとシーンの作成と操作について詳しく学び、以下のリソースを使用してライブラリの他の機能を調べることができます。
結論
この記事では、Aspose.3D ライブラリを紹介し、Python で 3D モデルを作成、読み取り、操作する機能を紹介します。さまざまな 3D ファイル フォーマット のサポート、高度なシーン管理、高性能レンダリングを備えた Aspose.3D ライブラリは、3D コンテンツを扱う Python 開発者にとって非常に貴重なツールです。 Aspose.3D ライブラリを使用すると、3D モデリング プロジェクトを合理化し、見事な 3D シーンを簡単に作成できます。ご不明な点がございましたら、無料サポート フォーラム までお問い合わせください。