J3D - Objekt zur Laufzeit updaten



  • Wie kann man ein 3D-Objekt zur Laufzeit effektiv updaten?

    In meinem Fall habe ich z.B. ein 3D-Objekt in Form einer BranchGroup (BG), die aus TransformGroups besteht, welche wiederum verschiedene Boxes beinhalten. Die Appearances (z.B. Farbe) dieser Boxen soll sich zur Laufzeit ändern. Bisher habe ich zum Updaten die BG vom ObjectRoot entfernt (removeChild()), die BG neu erzeugt und dann wieder zum ObjectRoot hinzugefügt. Das funktioniert zwar, aber ist nicht performant und man sieht beim Updaten ein kleines Ruckeln. Sinnvoller wäre ja offensichtlich nur die einzelnen Appearances der betroffenen Objekte (hier Boxes) zu ändern. Das hab ich auch probiert, es tut sich aber nichts. Geht das überhaupt so? Wie kann ich dem Node (BG) dann sagen, dass er sich mal updaten soll, so dass ich das geänderte 3D-Objekt sehe? compile() hat leider nicht funktioniert. Gibts noch einen anderen Weg?

    Wie macht ihr das prinzipiell in euren J3D-Anwendungen, wenn ihr ein Objekt zur Laufzeit ändern wollt, die sich nicht über Transform3D-Objekte steuern lassen (also keine Bewegungen und Skalierungen sondern beispielsweise Geometrie-Änderungen, Appearance-Änderungen, zusätzliche Knoten usw.)?



  • Keine Java3D-Freaks hier? 😞



  • Java3D ist fürn Popo ...



  • Blue5teel schrieb:

    Java3D ist fürn Popo ...

    Wieso?



  • Hi,
    Java3D ist sehr schön für kline wissenschaftliche 3d anwendungen,
    dazu kommt die Plattformunabhägigkeit, was im wissenschaftlichen Bereich
    nicht allzu unwichtig ist da hier viel auch mit Linux gearbeitet wird.

    zu den fragen zu java3d würd ich lieber in diesem Forum (http://www.java-forum.org/de/) fragen.

    MFG


Anmelden zum Antworten