Java3D Picking - falsche Objekte werden gepickt

mattn

Aktives Mitglied
ich weiß einfach nicht mehr weiter....
ich verbinde (in dem fall) 3 würfel mit 2 linien... soweit sogut...

jetzt kann man linien loder würfel löschen ... ok

nur das problem ist folgendes .. ich will den würfel löschen, der mit 2 andern verbunden ist...
so..java pickt aber nicht den würfel, sondern eine linie obwohl ich auf den würfel klicke....

habe schon stunden debuggt...und finde den fehler einfach nicht... ;( bin schon voll am verzweifeln

da die jar´s zu groß für den anhang hier sind .... gibts die hier

außderdem löst der manchmal das picking 2mal aus... obwohl ich nur 1mal kick:autsch:

ich wär echt über jede hilfe dankbar...
 

Anhänge

  • src.7z
    9,5 KB · Aufrufe: 5
Zuletzt bearbeitet:

Marco13

Top Contributor
Ohne zu viel Hoffnung machen zu wollen, dass ich da helfen kann: com.eigeneimports.PickTranslateBehavior scheint zu fehlen...
 

mattn

Aktives Mitglied
hi marco... danke das du helfen willst...
ich hab mich jetzt nochmal mit nen kumpel zusammengesetzt und haben uns mit dem problem zusammen beschäftigt...
das hat in sofern geholfen, das er dinge sieht, die ich nicht sehe(sofort)... da ich sie selber geschrieben habe und schneller *über sie weg" gehe....

folgendes vorläufiges ergebnis...

wir haben die knoten größer gemacht...somit trit das "falsche" picken nicht mehr auf... hoffendlich bleibt es dabei....
das mehrfache picken trat auf, weil der ich ausversehen beim aufrufen einer methode immer noch ein mouselistener an das canvas gehefet habe.ist also weg....


aber ein problem ...bzw 2 habe ich noch...wobei das 2. nix mit picking zu tun hat ...deswegen lass ich das in diesem thema unangetastet..(es seidenn du hast soviel lust mir da auch zu helfen - geht ums shading-bzw ausleuchten)

wenn ich die szene mit dem orbitbehavior drehe(bzw ich bewege meine viewpoint) und dannach in den modus manipulieren geheum die objekte zu verschieben...

picktranslate verschiebt ja in x und y und das zoom in z achse ...
mit den orbitbehav. änder ich nur meinen viewpoint und die achsen "bleiben stehen "

so wenn ich jetzt zb. um 90° nach links rotier und dann das objekt auf der zachse verschieben will ...verschiebt es sich aus meinen jetzigen blickpunkt nach links also in die richtung -x ....

gibts es die möglichkeit das ich z.b. die achsen mit rotieren lassen.....oder was anderes damit unabhänig wie mein blickpunkt ist ... mit dem zoombehav nach"vorn und hinten" und mit den translatebehav. nach "links und rechts" verschieben kann.....

ich pack nochmal(hoffentlich komplett:) ) in den anhang
 

Marco13

Top Contributor
Ich glaube das ist gar nicht so leicht. Ich habe aber schon ewig nichts mehr mit Java3D gemacht. Es ist gut möglich, dass es irgendwo das magische "someBahavior.setMoveInViewCoordinates(true)" gibt, und ich es einfach nicht kenne.

Ich habe gerade mal kurz rumprobiert:
- Die MouseTranslate-Classe (aus dem J3D source code) zusätzlich zum ohnehin schon handgestrickten "PickTranslateBehavior" dazuzupacken
- Der irgendwie das SimpleUniverse bzw. die ViewPlatformTransform zukommen lassen
- Bei der Berechnung der Bewegung die ViewPlatformTransform mit einbeziehen.
Ganz konkret habe ich unter der Zeile
[c]transformGroup.getTransform(currXform);[/c]
aus der MouseTranslate sowas eingefügt wie
Java:
        translation.x = dx*x_factor;
        translation.y = -dy*y_factor;
        translation.z = 0;

        TransformGroup xxxx = u.getViewingPlatform().getViewPlatformTransform();
        Transform3D x = new Transform3D();
        xxxx.getTransform(x);
        x.invert();
        x.transform(translation);

        transformX.set(translation);
und das ist schon nicht ganz falsch, aber funktioniert nicht 100% und ist ein bißchen hakelig und sehr frickelig, und FALLS das tatsächlich genau in dieser Form notwendig sein SOLLTE (was ich mir kaum vorstellen kann) wäre es ein übelst-krampfiger Workaround. Jemand, der etwas fitter mit Java3D ist könnte sich da bestimmt einen geeigneteren Ansatz ausdenken. Vielleicht wäre es sogar am (deutlich) einfachsten, nicht die "PickTranslateBehavior" zu verwenden (die diese Funktionalität eben offenbar einfach nicht vorsieht), sondern das ganze praktisch mit einem MouseListener selbst zu machen.

In jedem Fall wird man sich in irgendeiner Form die ViewPlatformTransform holen müssen, die invertieren, und dann die untransformierte Bewegung (im obigen Fall aus der MouseTranslate eben die "translation") mit dieser invertierten ViewPlatformTransform transformieren und als Bewegung auf das Objekt anwenden. Aber nochmal: So wie das oben angedeutet ist, ist das sicher nicht die beste (aber vielleicht die schlechteste ;) ) Lösung. Vielleicht gibt's das ganze schon irgendwo fertig.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Java3d in Eclipse einbinden Spiele- und Multimedia-Programmierung 4
Neumi5694 Java3D Viewer Beschriftung Spiele- und Multimedia-Programmierung 1
C Java3D Transformieren von obj. Datein Spiele- und Multimedia-Programmierung 0
M Cylinder anhand eines Vektors ausrichten (Java3d) Spiele- und Multimedia-Programmierung 0
Ruvok Java3D Tutorial gesucht Spiele- und Multimedia-Programmierung 5
U Hilfe bei Implementierung eines PointSounds in Java3D Spiele- und Multimedia-Programmierung 1
R Java3d ViewingPlatform erst Verschieben und dann RotationsInterpolator Spiele- und Multimedia-Programmierung 0
D Java3D - Blickfeld Spiele- und Multimedia-Programmierung 1
P Java3D Box Dimensionen und Positionierung Spiele- und Multimedia-Programmierung 1
E Java3D Objekt skalieren per JSlider/JButton Spiele- und Multimedia-Programmierung 10
S Java3D: Primitives zu einem Objekt kombinieren Spiele- und Multimedia-Programmierung 7
J Java3D - Textur laden geht nicht Spiele- und Multimedia-Programmierung 9
J Java3D - Farben vermischen sich Spiele- und Multimedia-Programmierung 7
T Java3D Rendering Problem Spiele- und Multimedia-Programmierung 7
S Java3D oder JMonkey? Spiele- und Multimedia-Programmierung 17
H Java3D - Textur aufs innere einer Sphere mappen Spiele- und Multimedia-Programmierung 9
C java 3d ohne Java3d Spiele- und Multimedia-Programmierung 28
Maxim6394 [Java3D] Probleme bei Kollision Spiele- und Multimedia-Programmierung 7
Maxim6394 [Java3D] lookAt Mausposition Spiele- und Multimedia-Programmierung 17
Maxim6394 [Java3D] Probleme mit KeyFrame Animationen Spiele- und Multimedia-Programmierung 9
K Java3D als Applet ohne Installation von Java3d Spiele- und Multimedia-Programmierung 6
D Java3D Installation: package javax.media.j3d not found Spiele- und Multimedia-Programmierung 5
C Java3D Texture Mapping Spiele- und Multimedia-Programmierung 2
W Java3D: Kanten die hinter einem Objekt liegen werden gezeigt Spiele- und Multimedia-Programmierung 2
W Java3D: Farbe von Objekten stimmt nicht mit übergebenem RGB-Wert überein Spiele- und Multimedia-Programmierung 9
M Eigene Renderengine ohne Java3D,etc. Spiele- und Multimedia-Programmierung 19
C Java3D Sound spielt nur einen Sound ab. Spiele- und Multimedia-Programmierung 8
A JAVA3D TransformGroup <--> Group Problem Spiele- und Multimedia-Programmierung 3
M [Java3D] Animation von mehreren Objekten Spiele- und Multimedia-Programmierung 7
W Java3D: Eckkoordinaten einer Box herausfinden Spiele- und Multimedia-Programmierung 18
T Java3D: Objekte platzieren und entfernen? Spiele- und Multimedia-Programmierung 7
T Java3D: Nur die Kanten des Würfels rendern? Spiele- und Multimedia-Programmierung 4
W Java3D setBounds(BoundingBox) Spiele- und Multimedia-Programmierung 6
T [gelöst] Java3D: Unerwünschte Rotation um die 3.Achse vermeiden? Spiele- und Multimedia-Programmierung 3
Bastie JAVA3D - WRL Transform Spiele- und Multimedia-Programmierung 9
G Eclipse Problem mit Java3d Spiele- und Multimedia-Programmierung 3
T Java3D - Lichtquelle einbauen Spiele- und Multimedia-Programmierung 7
jemandzehage java3d parallel und perspective view Spiele- und Multimedia-Programmierung 5
H Cinema 4D in Java3D importieren Spiele- und Multimedia-Programmierung 2
1 [Java3D] komplexes Projekt? Spiele- und Multimedia-Programmierung 10
P .obj-Datei in Java3D laden: ParsingErrorException Spiele- und Multimedia-Programmierung 7
C Java3D Lichtquelle beim Beobachter Spiele- und Multimedia-Programmierung 2
C Java3D Interaktion während Animation Spiele- und Multimedia-Programmierung 3
aze Java3D: Flächen teilen Spiele- und Multimedia-Programmierung 15
P Java3D Textur verzerrt Spiele- und Multimedia-Programmierung 3
aze Java3D: Gegenstände aufeinander zubewegen ohne Kollision Spiele- und Multimedia-Programmierung 4
D [JAVA3D] Es werden 2 Fenster erzeugt und auf dem falschen gezeichnet Spiele- und Multimedia-Programmierung 3
aze Java3D: leere Räume füllen Spiele- und Multimedia-Programmierung 2
aze Java3d:Helligkeit von Shape3D ändern Spiele- und Multimedia-Programmierung 2
S Einschätzung zu Java3D-Einstieg Spiele- und Multimedia-Programmierung 3
F Programm mit Java3D unter Linux laufen lassen Spiele- und Multimedia-Programmierung 3
I Vergleich von Java3D und OpenGL Spiele- und Multimedia-Programmierung 17
W Waterslide mit Java3D Spiele- und Multimedia-Programmierung 11
M [Java3D] Rotieren der Scene NICHT des POV Spiele- und Multimedia-Programmierung 4
F Jogl oder Java3D ? Spiele- und Multimedia-Programmierung 20
K Java3D Abfängerfrage Spiele- und Multimedia-Programmierung 3
aze Java3D:Farbige Flächen verschwinden lassen(Transparenz- oder Colorinterpolator?)) Spiele- und Multimedia-Programmierung 5
C Java3D PositionInterpolator Spiele- und Multimedia-Programmierung 3
G [Java3D] Probleme bei Animation Spiele- und Multimedia-Programmierung 4
E [JAVA3D] Kamerasteuerung Spiele- und Multimedia-Programmierung 3
E [JAVA3D] Schattenstrich durch die Szene Spiele- und Multimedia-Programmierung 4
M Grundsätzliche Java3D Fragen Spiele- und Multimedia-Programmierung 2
C Java3D SceneGraohPath Spiele- und Multimedia-Programmierung 2
C Java3D Rotation um einen Punkt (y-achse) Spiele- und Multimedia-Programmierung 2
G Java3D plattformunabhängig bundeln Spiele- und Multimedia-Programmierung 3
TheKing Java3D-Shooter View Spiele- und Multimedia-Programmierung 2
A Java3D tutorial? Spiele- und Multimedia-Programmierung 3
R Java3D Kollisionserkennung und Schwerkraft Spiele- und Multimedia-Programmierung 17
M Java3D Objekte entfernen und hinzufügen Spiele- und Multimedia-Programmierung 10
J Java3d Schnelle Geschosse Spiele- und Multimedia-Programmierung 12
D Kann ich mit Java3D 2D Daten als 3D surfaceplot plotten? Spiele- und Multimedia-Programmierung 5
J Java3d setTextureTransform verändert J3DGraphics2D Spiele- und Multimedia-Programmierung 4
J Hilfe: Rotation X und Y Achse (Java3d) Spiele- und Multimedia-Programmierung 12
K Java3D: LineStripArray Spiele- und Multimedia-Programmierung 2
P Java3D - Zylinder genau wie Vektor ausrichten Spiele- und Multimedia-Programmierung 5
Developer_X Java3D Mensch Ärgere Dich nicht. Spiele- und Multimedia-Programmierung 10
C JAVA3D Rotation um einen bestimmten Punkt Spiele- und Multimedia-Programmierung 20
Developer_X Java3D-Ungeeignet für 3D Spiele wegen Heap Space=? Spiele- und Multimedia-Programmierung 23
Developer_X Java3D Canvas post Renderer und? Spiele- und Multimedia-Programmierung 5
A Java3D Sichtweite Spiele- und Multimedia-Programmierung 2
"Er" Kamera rotation in Java3D Spiele- und Multimedia-Programmierung 2
A Java3D: Behavior scheduling bounds Spiele- und Multimedia-Programmierung 3
Developer_X THE BALL (needs Java3D) Spiele- und Multimedia-Programmierung 34
Developer_X Java3D Game_(die erste) Spiele- und Multimedia-Programmierung 2
Developer_X Java3D und while schleifen Spiele- und Multimedia-Programmierung 4
Developer_X Collisionserkennung in Java3D Spiele- und Multimedia-Programmierung 3
Developer_X Java3D Node -> Obj Data Spiele- und Multimedia-Programmierung 2
Developer_X Figuren werden nicht angezeigt (Java3D) Spiele- und Multimedia-Programmierung 5
S PDFRenderer und Java3D Spiele- und Multimedia-Programmierung 2
Developer_X Java3D- der Mausklick auf Nodes Spiele- und Multimedia-Programmierung 3
Developer_X Java3D Point Sound Spiele- und Multimedia-Programmierung 71
Developer_X Lines in Java3D Spiele- und Multimedia-Programmierung 4
V Java3D: HUD erstellen Spiele- und Multimedia-Programmierung 2
V Java3D: scheinende Sonne Spiele- und Multimedia-Programmierung 4
V Java3D: Ringe für Saturn erstellen Spiele- und Multimedia-Programmierung 8
V Java3D: automatisches Bewegen der Kamera Spiele- und Multimedia-Programmierung 19
V Java3D: mehrere ViewingPlaforms in Sonnensystem Spiele- und Multimedia-Programmierung 8
Developer_X Thread in Java3D Spiele- und Multimedia-Programmierung 8
B Java3D .obj dateien Spiele- und Multimedia-Programmierung 2
Developer_X Java3D's next TopModel Spiele- und Multimedia-Programmierung 16

Ähnliche Java Themen

Neue Themen


Oben