Ein 3D-Objekt mit Maus auswählen

Status
Nicht offen für weitere Antworten.

kawrom

Mitglied
Das Problem mit der Koordinatenbestimmung ist geschafft, da taucht schon das nächste auf:
gibt es eine Möglichkeit bei einem Click in den 3D-Raum mit der Maus, das dabei getroffene Shape3D modell zu ermitteln

Hier ein Beispiel:

Code:
import java.awt.*;
import java.awt.event.*;
import javax.media.j3d.*;
import javax.vecmath.*;
import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.behaviors.picking.*;


class Test extends Frame implements MouseListener
{
	public static void main(String[] args)
	{
		Test test = new Test();
	}
	
	
	public Test()
	{ 
		//Erzeugung eines SimpleUniverse und anhängen der BranchGroup
		super("test");
		setLocation(200, 200);
		setSize(640, 480);
		canvas3d = new Canvas3D (SimpleUniverse.getPreferredConfiguration());
		canvas3d.addMouseListener(this);
		add(canvas3d);
		universe = new SimpleUniverse(canvas3d);
		universe.getViewingPlatform().setNominalViewingTransform();
		bg = createObject();
		universe.addBranchGraph(bg);		
		setVisible(true);
	} 
	
	Canvas3D canvas3d;
	SimpleUniverse universe;
	BranchGroup bg;
	
	//Erzeugung eines BranchGroup-Objektes mit einem angehängtem Shape3D
	public BranchGroup createObject()
	{
		BranchGroup ret = new BranchGroup();
		QuadArray qa = new QuadArray(4, PointArray.COORDINATES);
		
		qa.setCoordinate(0, new Point3f(-0.2f, -0.2f, 0.0f));
		qa.setCoordinate(1, new Point3f( 0.2f, -0.2f, 0.0f));
		qa.setCoordinate(2, new Point3f( 0.2f,  0.2f, 0.0f));
		qa.setCoordinate(3, new Point3f(-0.2f,  0.2f, 0.0f));
		
		Shape3D obj = new Shape3D();
		obj.setGeometry(qa);
		obj.setCapability(Shape3D.ENABLE_PICK_REPORTING);
		obj.setPickable(true);
		
		ret.addChild(obj);
		return ret;
	}
	
	public void mouseClicked(MouseEvent e)
	{
		PickObject pickDreh = new PickObject(canvas3d, bg); 
		
      	SceneGraphPath sgp = pickDreh.pickClosest(e.getX(), e.getY(), PickObject.SHAPE3D);
      	
      	Shape3D shape = (Shape3D)(pickDreh.pickNode(sgp, PickObject.SHAPE3D));
      	
      	//um jetzt schnell festzustellen ob irgendetwas getroffen wurde 
      	//wird das Objekt per toString()-Methode durch die Standartausgabe 
      	//angezeigt
      	System.out.println(sgp);
     }
     
     public void mousePressed(MouseEvent e){}
     public void mouseReleased(MouseEvent e){}
     public void mouseEntered(MouseEvent e){}
     public void mouseExited(MouseEvent e){}
}

So jetzt dacht ich, ich würd mein Shape3D-Objekt zuruck kriegen, aber bei jedem Click kriegt man nur ein NULL-Objekt zurück.

Gibt es eine andere Möglichkeit dieses Problem zu lösen?
 

MPW

Top Contributor
Guck dir am besten mal die mitgelieferten demos an, das ist das ganz gut gemacht, da kannste dir das dann abschauen.
 

kawrom

Mitglied
Jo, vielen Dank für den Tip. Wusste garnicht dass Demos mit dem Java3d Packet mitgeliefert werden. Das wird mir weiterhelfen. :toll: :toll: :toll:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Arif Maus-Objekt im Player Klasse implementieren !? Spiele- und Multimedia-Programmierung 2
M [JOGL] Maus über einem gezeichnetem Objekt abfragen? Spiele- und Multimedia-Programmierung 5
pcfreak9000 Objekt-Vorlagen Spiele- und Multimedia-Programmierung 0
H Objekt der Klasse A in der Klasse B verwenden und manipulieren Spiele- und Multimedia-Programmierung 6
U Kann nur ein Objekt mit LWJGL rendern Spiele- und Multimedia-Programmierung 2
kaoZ Graphics Objekt liefert null Spiele- und Multimedia-Programmierung 14
E Java3D Objekt skalieren per JSlider/JButton Spiele- und Multimedia-Programmierung 10
D Probleme mit objekt initializirung mit Mouselistener Spiele- und Multimedia-Programmierung 10
S Java3D: Primitives zu einem Objekt kombinieren Spiele- und Multimedia-Programmierung 7
T LWJGL 3D Objekt Collision: Wie? Spiele- und Multimedia-Programmierung 11
S Wie erkennt ein Objekt ein anderes? Spiele- und Multimedia-Programmierung 7
B j3d mehr als ein Objekt rotieren Spiele- und Multimedia-Programmierung 18
G Hindernis vor Objekt erkennen Spiele- und Multimedia-Programmierung 6
W Java3D: Kanten die hinter einem Objekt liegen werden gezeigt Spiele- und Multimedia-Programmierung 2
S Graphics Objekt weiterreichen? Spiele- und Multimedia-Programmierung 4
H Eigenes 3D Objekt Spiele- und Multimedia-Programmierung 20
D 2D Objekt fragmentieren Spiele- und Multimedia-Programmierung 3
V Jogl: Objekt trotz Rotation immer in gleiche Richtung bewegen Spiele- und Multimedia-Programmierung 5
M [J3D]Dynamische Erzeugung vom Objekt Box Spiele- und Multimedia-Programmierung 5
Kr0e OpenGL .. Pixel Buffer Objekt oder Frame Buffer Object? Spiele- und Multimedia-Programmierung 2
B String zu Objekt einer eigenen Klasse casten Spiele- und Multimedia-Programmierung 13
N Objekt entgegengesetzt bewegen Spiele- und Multimedia-Programmierung 8
M BoundingBox ist nicht bündig am Objekt Spiele- und Multimedia-Programmierung 5
K Kanten anzeigen lassen in einem Shape3D-Objekt Spiele- und Multimedia-Programmierung 4
S geladenes Objekt -> Material Zuweisen. Spiele- und Multimedia-Programmierung 4
J Picking Selection auf ein Objekt begrenzen ! Spiele- und Multimedia-Programmierung 6
C Objekt bei Buttonklick zeichnen Spiele- und Multimedia-Programmierung 16
G JOGL: per Mausbewegung Objekt verschieben Spiele- und Multimedia-Programmierung 2
C Objekt zwischen 2 Geraden? Spiele- und Multimedia-Programmierung 3
D 3D Objekt entlang Geraden Spiele- und Multimedia-Programmierung 4
Quaxli Picking: Vom Shape3D zum eigentlichen Objekt Spiele- und Multimedia-Programmierung 2
G Objekt nicht ins negative oder null skalieren Spiele- und Multimedia-Programmierung 2
G Objekt verschieben Spiele- und Multimedia-Programmierung 6
G Textur laden auf ein eingelesenes 3D Objekt Spiele- und Multimedia-Programmierung 4
I ScaleInterpolator verschiebt Objekt immer in den Ursprung. Spiele- und Multimedia-Programmierung 2
V Objekt per Tastendruck anzeigen/verschwinden lassen? Spiele- und Multimedia-Programmierung 4
R Objekt mit cos/sin verschieben Spiele- und Multimedia-Programmierung 27
G Kein Licht in Box-Objekt Spiele- und Multimedia-Programmierung 2
D Alpha Objekt Spiele- und Multimedia-Programmierung 8
H Kompliziertes 3D-Objekt Spiele- und Multimedia-Programmierung 16
G Einen gif oder jpg Datei aus einem Graphics Objekt o. JFrame Spiele- und Multimedia-Programmierung 2
C Wie kann ich ein Objekt auf Tastendruck vor & zurück bew Spiele- und Multimedia-Programmierung 3
M Position der ViewingPlatform als Point3d-Objekt? Spiele- und Multimedia-Programmierung 12
S 3D Objekt erstellen und darstellen Spiele- und Multimedia-Programmierung 4
G RotationInterp. setzt Objekt an Ursprungsposition zurück Spiele- und Multimedia-Programmierung 2
N Shape3D Objekt auf dem Bildschirm zentrieren Spiele- und Multimedia-Programmierung 2
H Mausbewegungen wie eine echte Maus in 3 dimensionalen Spielen Spiele- und Multimedia-Programmierung 12
N Schüsse in Richtung der Maus Spiele- und Multimedia-Programmierung 5
B GLFW 3D Maus- Input Spiele- und Multimedia-Programmierung 7
B Maus Cursor aus/einblenden bei Unity 3d mit .js Spiele- und Multimedia-Programmierung 1
S Mausklicks innerhalb eines JFrames/SWTBrowser ohne richtige Maus simulieren Spiele- und Multimedia-Programmierung 6
L Bild in Richtung Maus drehen Spiele- und Multimedia-Programmierung 4
M Maus an Fedenkreuz heften Spiele- und Multimedia-Programmierung 16
M Beim schießen richtet sich die Kugel nach der Maus aus (Quaternion) Spiele- und Multimedia-Programmierung 5
D Sprite zur Maus bewegen Spiele- und Multimedia-Programmierung 9
G Maus springt --> Free-Hand-Zeichnen Spiele- und Multimedia-Programmierung 2
G Zeichnung mit der Maus bewegen Spiele- und Multimedia-Programmierung 3
S Schiff in Richtung der Maus rotieren - Problem :/ Spiele- und Multimedia-Programmierung 5
M Grafikprogramm, zeichnen mit Maus Spiele- und Multimedia-Programmierung 7
S Problem bei Kartenbewegung mit Maus! Spiele- und Multimedia-Programmierung 3
M Exakte Position auf Kugel mit Maus picken , Java3d Spiele- und Multimedia-Programmierung 14
D Bilderpositionierung mit Maus Spiele- und Multimedia-Programmierung 23
T Maus-Cursor-Position manipulieren Spiele- und Multimedia-Programmierung 3
T Problem mit Maus und Bildschirm Spiele- und Multimedia-Programmierung 3
C NavigationBehaviour mit Maus und Keyboard Spiele- und Multimedia-Programmierung 5
A Maus im Spiel-Menu oder nicht? Spiele- und Multimedia-Programmierung 5
J Wie kann man eine grafische Oberfläche erzeugen um eine Textdatei auswählen zu können ?? Spiele- und Multimedia-Programmierung 1

Ähnliche Java Themen

Neue Themen


Oben