3D シーンは、コンピューター上で 3D 形状を表示する方法です。このガイドでは、特別な 3D ソフトウェアを必要とせずに、Java を使用して 3D シーンを作成する方法を学びます。その後、3D シーンを FBX ファイル形式で保存します。これは、3D のものを共有する一般的な方法です。それでは、始めましょう。
この記事では次のトピックについて説明します。
3D シーンを作成するための Java 3D API - 無料ダウンロード
Aspose.3D for Java API を使用して 3D シーンを作成および読み取ります。これは、3D シーンをさまざまな 形式 で作成、編集、保存できる強力な API です。 3D メッシュ、マテリアル、テクスチャを作成および編集できます。 API を使用すると、ライト、カメラ、アニメーションを追加および構成することもできます。
API の JAR をダウンロードするか、Maven ベースの Java アプリケーションに次の pom.xml 設定を追加してください。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-3d</artifactId>
<version>23.9.0</version>
</dependency>
Java を使用して単純な 3D シーンを作成する
以下の手順に従って、単純な 3D シーンを作成できます。
- Scene クラスのインスタンスを作成します。
- createChildNode() メソッドを呼び出して、画面上に表示するジオメトリまたは形状 (円柱など) を追加します。
- マテリアルなどの子ノードのプロパティを設定します。
- Light クラスのオブジェクトを初期化します。
- createChildNode() メソッドを呼び出して、Light エンティティを追加します。
- 最後に、save() メソッドを使用してシーンを FBX として保存します。出力ファイルのパスと FileFormat.FBX7500ASCII を引数として受け取ります。
次のコード サンプルは、Java を使用して単純な 3D シーンを作成する方法を示しています。
// このコード例は、単純な 3D シーンを作成し、FBX ファイルに保存する方法を示します。
// 3Dシーンの初期化
Scene scene = new Scene();
// 円柱オブジェクトの初期化
Cylinder cylinder = new Cylinder();
cylinder.setName("Cylinder");
// 子ノードを作成し、Cylinderオブジェクトを追加します。
Node node = scene.getRootNode().createChildNode(cylinder);
// 子ノードのプロパティを設定する
LambertMaterial material = new LambertMaterial();
material.setDiffuseColor(null);
material.setName("Lambert");
node.setMaterial(material);
// ライトエンティティの追加
Light light = new Light();
light.setLightType(LightType.POINT);
light.setName("Light");
scene.getRootNode().createChildNode(light).getTransform().setTranslation(new Vector3(10, 0, 10));
// 出力ファイルのパス
String output = "C:\\Files\\document.fbx";
// 3Dシーンドキュメントの保存
scene.save(output, FileFormat.FBX7500ASCII);
Javaを使用して3Dシーンを読み取る
以下の手順に従って、FBX ドキュメントをロードして 3D シーンを読み取ることもできます。
- Scene クラスのインスタンスを作成します。
- open() メソッドを使用して、既存の 3D ドキュメントを読み込みます。
- ChildNodes プロパティをループする
- 最後に、プロパティ値を表示します。
次のコード サンプルは、Java を使用して 3D シーンをロードして読み取る方法を示しています。
// このコード例は、FBX ファイルから 3D シーンを読み取る方法を示します。
// Scene クラス オブジェクトを初期化する
Scene scene = new Scene();
// 既存の 3D ドキュメントをロードする
scene.open("C:\\Files\\document.fbx");
for(Node node : scene.getRootNode().getChildNodes())
{
Entity entity = node.getEntity();
System.out.println("Entity Name: " + entity.getName());
if (node.getMaterial() != null)
{
Material material = node.getMaterial();
System.out.println("Material Name: " + material.getName());
PropertyCollection props = material.getProperties();
// foreach を使用してすべてのプロパティを一覧表示する
for(Property prop : props)
{
System.out.println(prop.getName() + " : " + prop.getValue());
}
}
}
Entity Name: Cylinder
Material Name: Lambert
Emissive : (0 0 0)
Diffuse : (1 1 1)
Ambient : (0 0 0)
Entity Name: Light
無料ライセンスを取得する
無料の一時ライセンスを取得して、評価制限なしで Aspose.3D for Java を試すことができます。
無料の学習リソース
単純な 3D シーンの作成または読み取りに加えて、以下のリソースを使用してライブラリについて詳しく学び、他のさまざまな機能を探索してください。
結論
この記事では、Java で 3D シーンを作成する方法を学習しました。また、3D シーンを FBX 形式でレンダリングし、その子のノートとプロパティを Java でプログラム的に読み取る方法についても説明しました。 Aspose.3D for Java を利用すると、Java アプリケーションでの 3D グラフィックス プログラミングを簡素化できます。不明な点がある場合は、無料サポート フォーラムまでお気軽にお問い合わせください。