ソフトウェア開発したい日記

「面白い!」と思った頭の体操や、数学の問題を載せていきます
その他ロードバイクででかけた先の写真や、ソフト開発のメモ等

Java3Dで3Dモデルを読み込むテスト

2011年03月13日 23時24分11秒 | ソフト開発日記
Java3Dではシーンファイル(.lws)とオブジェクトファイル(.obj)の3Dモデルが読み込めるらしいので,テスト.
ネット上で簡単に拾えるobj形式のファイルで試してみました.

とりあえずシーン生成メソッドにこんな感じで記述.

try{
Loader loader = new ObjectFile(ObjectFile.RESIZE);
Scene scene = loader.load("src\\@@@@.obj");

root.addChild(scene.getSceneGroup());
} catch (FileNotFoundException ex) {
Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
} catch (IncorrectFormatException ex) {
Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
} catch (ParsingErrorException ex) {
Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
}

うまくいきました.お手軽.
lws形式のファイルを読み込みたい場合は,

Loader loader = new ObjectFile(ObjectFile.RESIZE);

Loader loader = new Lw3dLoader();

とするだけでOKみたい.
ちなみに,Lw3dLoader()でobj形式のファイルを読み込もうと下記のようなエラーが出ました.
はじめは何故エラーになるのかで困惑してましたが,よく見ると「wanted LWSC」と書いてあります.

致命的: null
com.sun.j3d.loaders.ParsingErrorException: Bad String Token (wanted LWSC, got null: Token['#'], line 1
(以下略)

それから,簡単な表示だけならLoaderクラス使わなくて

ObjectFile file = new ObjectFile(ObjectFile.RESIZE);
Scene scene = file.load("src\\@@@@.obj");

でも問題無さそうですが,あとあと何かしら困りそう.