Java 3Dとは?インストール方法とサンプルコードを紹介!
  • facebookページ
  • twitterページ
  • 2021.01.31

    Java 3Dとは?インストール方法とサンプルコードを紹介!

    Java 3Dとは?

    Java 3Dは、1999年にJavaの拡張としてSun Microsystems社によって開発された3D-CGのAPIです。

    そのため、Java 3Dのプログラムは、各種タイプのコンピューター上で実行できます。

    もし、「APIって何だろう?」と思っている人は、よければ以下の記事を参考にしてみてくださいね。

    【関連記事】

    ▶︎JavaのAPIとは?よく使うJavaのAPIも解説

    Java 3Dのメリットとしては、次のものが挙げられます。

    Java 3Dの3つのメリット
    • 開発環境は全て無料で使える
    • 演算処理・描画プロセスなどの知識がなくても使える
    • アプレットとしてWeb上で公開できる

    Java 3Dは、他のグラフィック・ライブラリよりも単純なインターフェースですが、ゲームやアニメーションにも応用可能です。

    グラフィックスの描画処理は、「DirectX」や「OpenGL」などのグラフィック・ツールを基にしています。

    Java 3Dのインストール方法

    前章で、Java 3Dの概要を説明しました。

    ここでは、Java 3Dをインストールする方法を見ていきましょう。

    まず、「Java 3D API」ページを開きます。

    そうすると、ダウンロード画面が表示されるので、最新バージョンを選択しましょう。

    2021年1月現在では、「Java 3D 1.5.1」が最新です。

    Java 3Dのインストール方法

    ダウンロードページを開き、OSに対応したファイル群をダウンロードしましょう。

    Java 3Dのインストール方法

    ダウンロードすると中身は次のようになっているはずです。

    Java 3Dのインストール方法

    「j3d-jre.zip」を解凍すると、次の3種類のjarファイルが格納されています。

    1. j3dcore.jar
    2. j3dutils.jar
    3. vecmath.jar

    jarファイルも圧縮されていますので、展開しておきます。

    展開するには、次のコマンドをターミナルに入力します。

    今回のjarファイルでいうと次のように入力しましょう。

    展開すると「com」や「javax」のディレクトリができるはずです。

    Java 3Dで球体を描画するサンプルコード

    ここでは、Java 3Dで球体を描画するサンプルコードを紹介します。

    ソースコードについて少し説明します。

    今回のプログラムで必要なパッケージをインポートしています。

    J3DCGクラスを定義しています。

    「J3DCGPanel」のオブジェクト、「JFrame」のオブジェクトをそれぞれ生成します。

    getContentPaneメソッドで、コンテンツ・ペインを取得し、j3dcgpanelオブジェクトがaddメソッドで貼り付けられています。

    • setSizeメソッド:フレームのサイズを300×300に設定
    • setVisibleメソッド:フレームを可視化
    • setBackgroundメソッド:フレームの背景色を白に設定

    そして、setDefaultCloseOperationメソッドでフレームの終了処理を指定しました。

    J3DCGPanelをJPanelのサブクラスとして定義しています。

    setLayoutでBorderLayoutのレイアウト指定を行い、GraphicsConfigurationの設定をします。

    GraphicsConfigurationは、Java 3Dで用いられるデバイスの状況を抽象化したオブジェクトです。

    getPreferredConfigurationメソッドで取得されます。

    Canvas3D(config)でキャンバスを生成しており、3D-CGオブジェクトをキャンバスに表示する指定を行いました。

    以下の部分でシーン・グラフを生成しています。

    球体を表すSphereのオブジェクトsphereを生成し、引数の「0.6f」で半径を指定します。

    そして、Color3f(1.0f, 0.0f, 1.0f)で球体の色をマゼンタにしています。

    で、中心は原点、半径は100で光源を設定しています。

    light.setInfluencingBounds(bounds) で、boundsで設定した描画範囲にlightを設定。

    getViewingPlatformでViewingPlatformオブジェクトが生成され、視点を設定しています。

    そして、setNominalViewingTransformで、視点位置をz軸方向に移動しました。

    Java 3DのAPI・ライブラリ

    Java 3Dのパッケージやクラスを確認したい場合は、以下のページから確認可能です。

    https://download.java.net/media/java3d/javadoc/1.5.2/

    クラスの使い方や詳細を確認したい場合は、参考にしてみると良いでしょう。



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE