[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
・・‥‥…━━☆