3DJavaによるフォーマット変換

クロスプラットフォームのJavaアプリケーションを構築するために、3Dモデリングおよびレンダリングソフトウェアをインストールせずに3Dファイル形式を変換します。

 

3次元グラフィックスアプリケーションを作成、編集、操作、および保存するために、** Java 3D API **は、3Dモデリングおよびレンダリングソフトウェアをインストールせずに、このような機能を実行するための高レベルのメソッドを提供します。さまざまな3次元の幾何学的形状のメッシュを構築し、3Dシーンファイルを作成し、キューブに法線またはUVを設定し、要素をフォーマットし、アニメーションプロパティを追加することはほとんどありません。

3Dファイルをさまざまな形式に変換する

変換プロセスは簡単です。を使用してソース3Dファイルをロードするだけです シーンクラス 。シーンは、ノード、ジオメトリ、テクスチャ、マテリアル、アニメーション、ポーズ、サブシーンなどを含むトップレベルのオブジェクトであるため、関連する関連するオブジェクトを作成します。 オプションを保存 AmfSaveOptions、ColladaSaveOptions、Discreet3dsSaveOptions、DracoSaveOptions、FbxSaveOptions、GltfSaveOptions、RvmSaveOptions、StlSaveOptions、U3dSaveOptionsなどを使用して、それに応じてプロパティを設定します。最後に、出力ファイルと作成されたターゲット形式の保存オプションオブジェクトを使用してsaveメソッドを呼び出します。さらに、APIプログラマーを使用すると、3DシーンをHTMLとして保存することもできます。

JavaAMFから3DSへの変換のコード
// load the AMF in an object of Scene
Scene amfto3ds = new Scene("template.amf");
// create an instance of 3dsSaveOptions
Discreet3dsSaveOptions options = new Discreet3dsSaveOptions();
// save AMF as a 3DS
amfto3ds.save("output.3ds", options);
Javaを介して3DシーンをHTMLに変換します
// For complete examples and data files, please go to https://github.com/aspose-3d/Aspose.3D-for-Java
// Initialize a scene
Scene scene = new Scene();
// Initialize a node
Node node = scene.getRootNode().createChildNode(new Cylinder());
// Set child node properites
LambertMaterial mat = new LambertMaterial();
mat.setDiffuseColor(new Vector3(0.34,0.59, 0.41));
node.setMaterial(mat);
Light light = new Light();
light.setLightType(LightType.POINT);
scene.getRootNode().createChildNode(light).getTransform().setTranslation(10, 0, 10);
// Initialize HTML5SaveOptions
HTML5SaveOptions opt = new HTML5SaveOptions();
// Turn off the grid
opt.setShowGrid(false);
//Turn off the user interface
opt.setShowUI(false);
scene.save(RunExamples.getDataDir() + "html5SaveOption.html", FileFormat.HTML5);