Hallo!
Objekte hinzufügen:
Wenn ich ein Objekt hinzufüge, dann mache ich es derzeit so, dass ich für jedes Objekt eine eigene TransformGroup anlege, damit ich das Objekt korrekt platzieren kann. Das klingt auf den ersten Blick etwas heavy, finde ich. Ist das das richtige Vorgehen oder habe ich etwas missverstanden?
Objekte entfernen:
Ich habe jetzt schon mehrere Suchen hinter mir. Doch anscheinend ist das Thema etwas ... schwierig. Wie kann ich einen Cube entfernen, den ich z.B. mittels obigem Code angelegt habe?
Ich habe bisher drei Informationen dazu gefunden:
1) Objekt weg-verschieben. (Das ist offensichtlich keine Lösung)
2) Objekt unsichtbar machen, über einen Switch.
3) Objekt beim Erstellen in eine eigene BranchGroup legen und diese dann detachen.
Gedanken zu Variante 2): Ich möchte im Laufe des Spiels Objekte anlegen und entfernen. Die sammeln sich ja dann zu tausenden im Speicher bei dieser Variante, hm?
Gedanken zu Variante 3): Ich habe es noch nicht hinbekommen, eine BG einer TG zuzuordnen, so dass ich diese Variante nicht umsetzen kann.
Ideen? Anmerkungen? Magische Links?
Objekte hinzufügen:
Wenn ich ein Objekt hinzufüge, dann mache ich es derzeit so, dass ich für jedes Objekt eine eigene TransformGroup anlege, damit ich das Objekt korrekt platzieren kann. Das klingt auf den ersten Blick etwas heavy, finde ich. Ist das das richtige Vorgehen oder habe ich etwas missverstanden?
Java:
private TransformGroup moveCube(float x, float y, float z, Primitive cube)
{
Transform3D cubePosition = new Transform3D();
TransformGroup cubeContainer = new TransformGroup();
cubePosition.setTranslation(new Vector3f(x, y, z));
cubeContainer.addChild(cube);
cubeContainer.setTransform(cubePosition);
return cubeContainer;
}
Objekte entfernen:
Ich habe jetzt schon mehrere Suchen hinter mir. Doch anscheinend ist das Thema etwas ... schwierig. Wie kann ich einen Cube entfernen, den ich z.B. mittels obigem Code angelegt habe?
Ich habe bisher drei Informationen dazu gefunden:
1) Objekt weg-verschieben. (Das ist offensichtlich keine Lösung)
2) Objekt unsichtbar machen, über einen Switch.
3) Objekt beim Erstellen in eine eigene BranchGroup legen und diese dann detachen.
Gedanken zu Variante 2): Ich möchte im Laufe des Spiels Objekte anlegen und entfernen. Die sammeln sich ja dann zu tausenden im Speicher bei dieser Variante, hm?
Gedanken zu Variante 3): Ich habe es noch nicht hinbekommen, eine BG einer TG zuzuordnen, so dass ich diese Variante nicht umsetzen kann.
Ideen? Anmerkungen? Magische Links?