"verstümmelte Flächen" nach TransparenzInterpolation

aze

Bekanntes Mitglied
Hi

Ich hab auf den Flächen einer Branchgroup einen TransparenzInterpolator laufen lassen ,der alle Flächen abwechselnd ein und ausblendet.Das klappt auch.Allerdings sehen die Flächen danach leciht "verstümmelt" aus , wie man auf dem angehängten Screenshot sehen kann.Woran kann das liegen ?

Edit: Was mir auch merkwürdig vorkamm ist ,das die Flächen auf die ich den Interpolator angewendet habe, keine TransparencyAttributes besassen.Ich musste den Flächen erstmal ein solches Obejkt zuweisen bevor ich interpolieren konnte.Wie kann es sein ,dass die Flächen keine solchen Objekte besitzen ? Ich lade die betreffenden Flächen aus einer .obj Datei ein.

Schöne Grüße

Aze
 

Anhänge

  • Zahnfleisch_Unten_verstümmelt.jpg
    Zahnfleisch_Unten_verstümmelt.jpg
    34,2 KB · Aufrufe: 35
Zuletzt bearbeitet:

truesoul

Top Contributor
Erstmal zur zweiten fragen.
.obj Datei enthalten meines wissens keine Attribute Informationen wie z.B ( Transparenz, Farbe usw ). Anders als wie bei VRML Dateien.
Schau dir mal eine obj Datei in Nodpad++ oder Co. an , sind eigentlich nur Koodinaten die drin stehen.
Falls ich falsch liege, verbessert mich ;)

Und zur ersten frage.
Habe leider noch nicht mit den TransparencyInterpolator gearbeitet bzw verwenden.
Interessant wäre es , wie es den vor der Interpolation aussah?

Mfg
 

aze

Bekanntes Mitglied
Hmm okay.Danke für die Antwort auf Frage 2.

Das Zahnfleisch sah vorher ganz normal aus.Siehe Screenshot im Anhang
 

Anhänge

  • Zahnfleisch_Unten_normal.jpg
    Zahnfleisch_Unten_normal.jpg
    28,7 KB · Aufrufe: 27

truesoul

Top Contributor
Also ich wüsste nicht woran es liegen könnte denn

Java:
            Alpha alpha = new Alpha(-1, Alpha.DECREASING_ENABLE, 0, 10000, 5000, 0, 1000, 5000, 0, 1000); 
            TransparencyAttributes target = new TransparencyAttributes(TransparencyAttributes.BLENDED, 0.5f);
            target.setCapability(TransparencyAttributes.ALLOW_VALUE_WRITE);

            TransparencyInterpolator transInt  = new TransparencyInterpolator(alpha, target);
            transInt.setSchedulingBounds(bigBounds);
            transInt.setMinimumTransparency(1f);
            transInt.setMaximumTransparency(0f);


...

            appereance.setTransparencyAttributes(target);

dieser Code "verstümmelt" meine Objekte nicht ( VRML ).

Wie schaut denn dein Code aus?
 

aze

Bekanntes Mitglied
Mein Code

Java:
private void createGumAnimations(Alpha a) {

        System.out.println("Create Gum Animation");

        List<TransparencyInterpolator> createGumTransInterpolator = createGumTransInterpolator(JawsConst.UPPER, a);

        for (TransparencyInterpolator transparencyInterpolator : createGumTransInterpolator) {

            animation.addChild(transparencyInterpolator);

        }

        List<TransparencyInterpolator> createGumTransInterpolator1 = createGumTransInterpolator(JawsConst.LOWER, a);

        for (TransparencyInterpolator transparencyInterpolator : createGumTransInterpolator1) {

            animation.addChild(transparencyInterpolator);

        }

    }

    private List<TransparencyInterpolator> createGumTransInterpolator(int g, Alpha a) {

        List<TransparencyAttributes> gumTrans = getGumTrans(g);

        List<TransparencyInterpolator> transparencyInterpolators = new ArrayList<TransparencyInterpolator>();

        for (TransparencyAttributes transparencyAttributes : gumTrans) {

            TransparencyInterpolator ti = new TransparencyInterpolator(
                    a,
                    transparencyAttributes,
                    (jawsMode == JawsConst.LINE) ? 1.0f : 0.0f,
                    (jawsMode == JawsConst.LINE) ? 0.0f : 1.0f);
            ti.setSchedulingBounds(new BoundingSphere(new Point3d(0, 0, 0), 10000.0));

            transparencyInterpolators.add(ti);


        }


        return transparencyInterpolators;
    }

    private List<TransparencyAttributes> getGumTrans(int g) {
        BranchGroup gum = gums[g];
        lookForShape3d(gum.getAllChildren());

        List<TransparencyAttributes> tas = new ArrayList<TransparencyAttributes>();

        TransparencyAttributes ta = new TransparencyAttributes(TransparencyAttributes.BLENDED, 0);
        ta.setCapability(TransparencyAttributes.ALLOW_VALUE_WRITE);
        ta.setCapability(TransparencyAttributes.ALLOW_VALUE_READ);

       

        for (Shape3D shape3D : shapes) {

            if (shape3D.getAppearance().getTransparencyAttributes() == null) {
                shape3D.getAppearance().setTransparencyAttributes(ta);

                //return ta;
            }

            tas.add(shape3D.getAppearance().getTransparencyAttributes());

        }

        return tas;


    }
    
    List<Shape3D> shapes = new ArrayList<Shape3D>();

    private void lookForShape3d(Enumeration enumeration) {

        while (enumeration.hasMoreElements()) {
            Object nextElement = enumeration.nextElement();
            //System.out.println(nextElement.getClass().toString());

            if (nextElement instanceof Shape3D) {
                shapes.add((Shape3D) nextElement);
            }

            if (nextElement instanceof Group) {
                lookForShape3d(((Group) nextElement).getAllChildren());
            }

        }

    }
 

truesoul

Top Contributor
Na dann ist alles bestens :)


Wieso verwendest du eigentlich nicht VRML Dateien (VRML Loader) ?
Frage nur aus reiner Interesse :)

Mfg
 

aze

Bekanntes Mitglied
Ich muss mit dem arbeiten was ich bekomme und das sind .obj Files.Ich selbst habe keine Ahnung von dem Design 3 dimensionaler Objekte.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Algorithmus um Flächen zu erkennen Spiele- und Multimedia-Programmierung 6
M Farbwerte für Flächen aus einem Bild erkennen Spiele- und Multimedia-Programmierung 3
aze Java3D: Flächen teilen Spiele- und Multimedia-Programmierung 15
aze Java3D:Farbige Flächen verschwinden lassen(Transparenz- oder Colorinterpolator?)) Spiele- und Multimedia-Programmierung 5
G Frage zur Sichtbarkeit von Flächen Spiele- und Multimedia-Programmierung 2
LeleEdits Discord JDA nach Rolle suchen Spiele- und Multimedia-Programmierung 0
I Wie kann ich die Kreise nach jeweils 1s spawnen lassen? Processing Spiele- und Multimedia-Programmierung 1
dummycoders Android Studio - Button ändert Farbe erst nach Delay? Spiele- und Multimedia-Programmierung 5
A Spiel nach Abfrage beenden oder neustarten Spiele- und Multimedia-Programmierung 1
Blender3D VLCJ Video lässt sich nicht mehr abspielen nach mysql Installation Spiele- und Multimedia-Programmierung 1
M Kann nur nach rechts drehen Spiele- und Multimedia-Programmierung 7
S Quaxli's Heli Spiel läuft nicht nach Plan Spiele- und Multimedia-Programmierung 2
P Spiel laggt nach unbestimmter Zeit tierisch. Spiele- und Multimedia-Programmierung 27
B LWJGL StackOverFlow Problem nach 30sekunden. (Pong) Spiele- und Multimedia-Programmierung 2
A AffineTransform: Nach Drehen verschieben Spiele- und Multimedia-Programmierung 2
N JPanel Inhalt aktualisiert nach Thread.sleep nicht Spiele- und Multimedia-Programmierung 2
T MiniCraft - selbst nach Programmieren Spiele- und Multimedia-Programmierung 25
F Screenshot Programm nach Exception weiterlaufen lassen? Spiele- und Multimedia-Programmierung 9
D Java Variable nach String benennen Spiele- und Multimedia-Programmierung 13
A Minecraft SocketException nach Minecraft-Update Spiele- und Multimedia-Programmierung 6
M DataLine not supported nach 20 Minuten Spiele- und Multimedia-Programmierung 6
M Beim schießen richtet sich die Kugel nach der Maus aus (Quaternion) Spiele- und Multimedia-Programmierung 5
E Spiel startet nach exportieren nicht Spiele- und Multimedia-Programmierung 7
Gossi Quaxlis 2D Tutorial....Probleme nach hinzufügen der Kollisionsabfrage Spiele- und Multimedia-Programmierung 16
W JOGL bleibt nach display() in PaintArea.paintComponent hängen Spiele- und Multimedia-Programmierung 5
F Lichtspektrum dezimal nach RGB Spiele- und Multimedia-Programmierung 10
R Koordinaten, Breite, Höhe nach drehen berechnen? Spiele- und Multimedia-Programmierung 3
Apo ApoStarz - Bring die Sterne nach Hause Spiele- und Multimedia-Programmierung 19
M Sich nach links verschiebendes Bild Spiele- und Multimedia-Programmierung 2
D Zwei Fragen (Exponential Fog und Schein-nach-außen-Effekt) Spiele- und Multimedia-Programmierung 6
S Polygon bewegt sich nach mehreren aufrufen immer schneller Spiele- und Multimedia-Programmierung 3
M durchsichtiges Bild nach clearRect Spiele- und Multimedia-Programmierung 8
S drawString Befehl nicht ausgeführt nach transforming Spiele- und Multimedia-Programmierung 5
F Das SPiel ruckelt nach einer Zeit Spiele- und Multimedia-Programmierung 19
S Info+Taste nach oben. Spiele- und Multimedia-Programmierung 2
S Punkt berechnen, nach Rotation Spiele- und Multimedia-Programmierung 2
R Falsche Positionierung der Interpolatoren nach Verwendung Spiele- und Multimedia-Programmierung 3

Ähnliche Java Themen

Neue Themen


Oben