# Fläche kippen



## Stevee (5. Sep 2008)

Hallo, 

nachdem mir heute morgen schon so wunderbar und soo schnell geholfen wurde, habe ich gleich noch eine Frage in die Runde. 

Ich versuche eine Fläche oder Ebende, die ich mittels eines QuadArray erstellt habe, zu kippen. Das heißt also 2 Punkte gleichzeitig zu bewegen. Im ersten Schritt wollte ich es mit nem PositionPathInterpolator-Array machen. 

Wunderbar gedacht, für jeden Punkt ein Array mit den entsprechenden Positionen und Knoten... Aber dann... Ich bekomme ja garnicht die einzelnen Punkte zu fassen. Alo ich kann ihnen garnicht sagen, dass sie sich verschieben sollen und mit dem Interpolator so schön agieren. Mist. 

Alternative wäre irgendwie eine Kiste zu bauen, die ganz flach ist. oder sowas. Das Ziel soll ein Würfel sein, beim sich dann der Boden verbreitert und aus den senkrechten Kanten eine Art viereckige Pyramide wird. Ist das verständlich? 

Hat jemand eine Idee, wie ich das umsetzen könnte?

Vielen dank für Euren Support

Stevee


----------



## Illuvatar (5. Sep 2008)

Eine Sache, die du dir vielleicht mal anschauen solltest, ist Morph bzw. MorphInterpolator. Das wird allerdings seit einigen J3D-Versionen nicht mehr weiterentwickelt (Alternativen kenn ich aber keine).

Ansonsten kannst du sowas natürlich auch mit einem eigenen Behavior erreichen.

Wenn du nur eine Fläche kippen willst, geht das übrigens auch mit einem RotationInterpolator


----------



## Stevee (5. Sep 2008)

Danke schonmal für den Hinweis. Morph werde ich mir morgen dann mal zu Gemüte führen. Hoffentlich klappt das, irgendwie diese Zwischenpositionen berechnen und übergeben... 

Eigenes Behavior? Das müßte ich dann direkt an die Punkte des QuadArray hängen? Oder das QuadArray neu schreiben mit dem Behavior? Gerade steh ich auf dem Schlauch...

Ja der RotationInterpolator ist zum Neigen toll, aber sobald ich die Punkte verschieben möchte geht das nicht mehr - leider. Notfall kippt ich langsam und mach dann nen neues QuadArray Objekt. Ist zwar nicht schön, aber ein Anfang... Ach nee, der Boden müßte ja dann Sprunghaft wachsen. Also doch Behavior. 

Vielen Dank für die Tipps

Stevee


----------



## Illuvatar (5. Sep 2008)

Wo du das Behavior ranhängst is grundsätzlich mal egal (naja, er sollte halt immer dann live sein wenn das zu vreändernde Objekt live ist). Das heißt, du musst ihn natürlich an eine Grup hängen. Und in dem Behavior veränderst du die Punkte des QuadArray.


----------



## Stevee (7. Sep 2008)

Geht das auch, wenn unter QuadArray zu lesen ist, dass sich ds nur Updated, wenn man die Update() Methode aufruft? Oder ruf ich die bei jedem Event - in meinem Fall wohl WakeupOnElapsedFrames(0) - wieder die Update Methode auf?
Hat das schonmal jemand probiert?

Hat jemand zufällig ne Seite, oder vllt nen Forumbeitrag, bei dem man die Verwendung von Behavior gut abschauen kann? Ich habe irgendwie große schwierigkeiten aus der Doku von Java herauszulesen was ich wie verwenden muss. Abschauen klappt da besser. (Ich frage mich  manchmal ob ich wohl der einzige bin, dem es so geht.)

Schönen Sonntag noch

Stevee


----------

