[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Java3Djp:00011] j3d.org の Navigation Utilities について



はじめまして、岩手県立大学@石井と申します。

現在自分の卒研でJAVA3Dを使ったアプリケーションを作成中なのですが、マウス
を使ったVRMLライクなウォークスルーを実装したいと考えています。そこで、こ
のメーリングリストの過去ログを調べたところ、「j3d.orgに置いてあるコード
を使うと、衝突判定などもできる」ということがえんどうさんの書き込みでわか
りました。

ですが、Javadocのページがリンク切れになっていて、コンストラクタの使い方
がわかりません。(MouseViewBehaviorが使いたいのですが…)

http://code.j3d.org/using/navigation.html
ここ↑ を参考に書いているところなのですが、どうにもこうにも行き詰ってし
まったので、どなたかこのコードを使ってインプリメントされた方はいらっしゃ
らないでしょうか?
 JAVA3Dの理解不足&私の英語読解能力が足りないだけだとは思いますが、demo
なしではどうも理解できずに困っています。

 おそらく使い方が根本的に間違っていると思われますが、一応ソースの一部を
添付します。現在の状況は、空間が表示されるだけで、全く動かない(エラーは
表示されない)状態です。

////////////////////////////////////////////////////////
import org.j3d.ui.navigation.*;

public class Test3D2 extends Applet {
         
	(省略)

public Test3D2(){

 universe = new UniverseManager(); // VirtualeUniversのインスタンス作成
 
 Camera cam = new Camera(); //TGをextendしてViewノードをぶら下げたもの

 cam.setCanvas(canvas);

 NavigationHandler nh = new NavigationHandler();

  /* camのViewノードと、TransFormGroupをnhにセット */
	nh.setViewInfo(cam.getView(),cam.getVTransform()); 

  /* 地面のBGと、衝突判定したいBGをセット */
	nh.setWorldInfo(createBase(),createSceneGraph());

	nh.setButtonNavigation(MouseEvent.BUTTON1_MASK,
                                 NavigationState.WALK_STATE);

 MouseViewBehavior mv = new MouseViewBehavior(nh);
	mv.setSchedulingBounds(bounds);

 universe.addHandler(mv); //mvをシーングラフに追加
 universe.addCamera(cam.getVTransform()); //camをシーングラフに追加
 universe.addWorldObject(createSceneGraph());
 universe.addWorldObject(createBase());
 universe.makeLive(); //BranchGroupのコンパイル

☆━━…‥‥・・
  岩手県立大学 ソフトウェア情報学部
       情報環境デザイン学講座
            石井 俊匡 
   toshi@xxxxxxxxxxxxxxxxxxxxxx
                      ・・‥‥…━━☆