PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Java3D]: Kamera ändern -> Probleme mit Mausnavigation


AlSvartr
2007-06-22, 16:19:48
Servus zusammen,

folgendes Problem: Ich bastel gerade eine kleine Sache in Java3D und stoße auf folgende Schwierigkeit (wahrscheinlich ist es gar keine, aber ich hab eben so gut wie keine Ahnung von J3D und momentan leider auch nicht die Zeit, mich intensiv einzuarbeiten): Ich möchte meine Kameraposition am Anfang auf das darzustellende Objekt ausrichten (im Codeschnipsel unten sind das noch fixe Daten, aber das tut dem Ganzen keinen Abbruch).


TransformGroup vpTrans=univ.getViewingPlatform().getViewPlatformTransform();
Transform3D t3d=new Transform3D();
vpTrans.getTransform(t3d);
t3d.lookAt(new Point3d(11,16,0),new Point3d(0,12,0),new Vector3d(0,1,0));
t3d.invert();
vpTrans.setTransform(t3d);


Nun nutze ich aber auch noch MouseRotate, MouseTranslate und MouseZoom:

BranchGroup objRoot=new BranchGroup();

TransformGroup objTrans=new TransformGroup();
objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);

MouseRotate mRot=new MouseRotate();
mRot.setTransformGroup(objTrans);
mRot.setSchedulingBounds(new BoundingSphere());
mRot.setFactor(0.001f);
objRoot.addChild(mRot);

MouseTranslate mTrans=new MouseTranslate();
mTrans.setTransformGroup(objTrans);
mTrans.setSchedulingBounds(new BoundingSphere());
mTrans.setFactor(0.01f);
objRoot.addChild(mTrans);

MouseZoom mZoom=new MouseZoom();
mZoom.setTransformGroup(objTrans);
mZoom.setSchedulingBounds(new BoundingSphere());
objRoot.addChild(mZoom);

objRoot.addChild(objTrans);


Jetzt verhält sich aber die Mausnavigation aber völlig kaputt, sobald ich die Kamera geändert habe, d.h. statt zu zoomen verschiebt die Kamera sich dann nach links und rechts und statt sich nach links und rechts zu verschieben, zoomt sie. Auch die Rotation funktioniert dann nicht wie erwartet.

Woran liegt das bzw. wie kann ich das beheben? Bin ich mit der Klasse OrbitBehavior schon auf der richtigen Spur? :wink:

AlSvartr
2007-06-23, 19:26:14
So..hab das Problem jetzt erstmal behoben, indem ich auf ne FPS-artige Navigation umgestellt hab, die ich hier (http://forums.java.net/jive/thread.jspa;?messageID=42936) gefunden hab.