3D-Grafik Java 3D Licht während Laufzeit ändern

Bassboxxx12

Neues Mitglied
Moin,

ich verusche gerade eine Hausarbeit in Java 3D zu machen. Dabei benutze ich die Entwicklungsumgebung Netbeans. Ich habe bereit 11 von 12 Aufgabenstellungen bearbeitet und komme nun seit 2 Tagen nicht mehr weiter. DerTitel sagt eigentlich schon alles: Ich soll die Lichtfarbe und die Richtung während der Laufzeit ändern via Tastendruck. Leider erhalte ich immer den Fehler:

Exception in thread "AWT-EventQueue-0" javax.media.j3d.RestrictedAccessException: Group: only a BranchGroup node may be added

Wie mache ich das am besten?

Nachfolgend der Code der für das einschalten des Lichts im createSceneGraph aufegerufen wird (Funktioniert auch):

Java:
private void set_global_lights(BranchGroup objRoot) {
        
        AmbientLight ambiLight = new AmbientLight(ColorDefs.white30);
        ambiLight.setInfluencingBounds(bounds);
        objRoot.addChild(ambiLight);
        ambiLight.setCapability(DirectionalLight.ALLOW_STATE_WRITE);
        ambiLight.setCapability(DirectionalLight.ALLOW_DIRECTION_WRITE);
        ambiLight.setCapability(DirectionalLight.ALLOW_COLOR_WRITE);

        Vector3f lightDir1 = new Vector3f(1.0f, 1.0f, -4.0f); 
        DirectionalLight dirLight = new DirectionalLight(ColorDefs.white70, lightDir1);
        dirLight.setCapability(DirectionalLight.ALLOW_STATE_WRITE);
        dirLight.setCapability(DirectionalLight.ALLOW_DIRECTION_WRITE);
        dirLight.setCapability(DirectionalLight.ALLOW_COLOR_WRITE);
      
        dirLight.setInfluencingBounds(bounds);
        objRoot.addChild(dirLight);
    }
 

Neue Themen


Zurück
Oben