Java 3D 1.5.0のセットアップ

 環境を汚すのも何なのでJava 3Dのバイナリzipを適当な場所に展開するだけにして、コンパイルや実行時にコマンドラインオプションでjarや共有ファイルを指定する方法を選択。使用時だけクラスパス等を設定する手もあるけど。

  1. Java 3D プロジェクトページからたどってzipアーカイブの方のバイナリをダウンロードする。ついでにサンプルソース(j3d-examples-1_5_0-src.zip)も。
  2. 二つのzipを適当な場所に展開する。
  3. おわり。

 コンパイルは、

javac -cp ".;Z:\hoge\moge\j3d-jre\lib\ext\j3dcore.jar;Z:\hoge\moge\j3d-jre\lib\ext\j3dutils.jar;Z:\hoge\moge\j3d-jre\lib\ext\vecmath.jar" Foo.java
javac -cp ".:/hoge/moge/j3d-jre/lib/ext/j3dcore.jar:/hoge/moge/j3d-jre/lib/ext/j3dutils.jar:/hoge/moge/j3d-jre/lib/ext/vecmath.jar" Foo.java

みたいな感じでlib/extにある3つのjarファイルにクラスパスを通す。
 実行は、

java -cp "Java 3Dの3つのjarファイルを含むパス" -Djava.library.path="Java 3Dの共有ファイルが置かれたディレクトリパス" Foo

みたいな感じでjarにクラスパスを通し、共有ファイルが置かれているディレクトリをjava.library.pathに指定する。
 試しに、サンプルソースのj3d-examples-1_5_0-src/j3d-examples/src/classes/org/jdesktop/j3d/examples/hello_universe/HelloUniverse.javaコンパイル、実行してみる。
 ……動いた。でもCPUパワー使い過ぎです。ビデオカードの3D性能が低いからかも。HelloUniverse#createUniverse()内の

univ.getViewer().getView().setMinimumFrameCycleTime(5);

の5を50に、つまりフレーム周期を200Hzから20Hzにしても少々カクカクするけど、それなりに動く。CPUの使用率も格段に下がった。