Animiertes Objekt als Parent

Started by mofodev, June 26, 2012, 03:32:11 PM

Previous topic - Next topic

mofodev

Hallo erstmal,

ich habe folgendes Problem, ich habe ein animiertes Objekt. Das Objekt mit der Animation wurde als .md2 geladen. Nun möchte ich ein anderes Objekt per addParent an das animierte Objekt hängen. Dieses scheint aber nicht zu funktionieren.
Kann mir da irgend jemand weiterhelfen?
:-\

Danke im Voraus.

EgonOlsen

Was funktionier nicht? Was für ein Verhalten erwartest du denn und was passiert stattdessen?

mofodev

Sorry, dass ich es nicht gleich richtig beschrieben habe.
Es gibt ein animiertes Objekt (animiert in 3ds), zur Laufzeit möchte ich ein anderes Objekt als Child an das animierte anhängen.
Wenn es als Child an dem animierten Objekt hängt, gehe ich davon aus, dass das Childobjekt, die Bewegungen und Rotationen des animierten Objekts mit macht. Das tut es aber nicht. Das Child bleibt, wo es ist.   

EgonOlsen

Das Kind macht Transformationen auf Matrixebene mit (also Object3D.rotate und .translate). Es macht natürlich keine Veränderungen durch die Animationen der Keyframes mit. Wie sollte es auch... ??? Wenn man das will, muss man das Kind entsprechend mit animieren.

mofodev

Aber die Animation bewegt und rotiert das Elternobjekt doch, das sind doch auch Transformationen auf Matrixebene, oder sehe ich das falsch?

EgonOlsen

Das siehst du falsch. Das sind entweder Keyframes (d.h. das ganze Mesh ändert sich) oder (wenn es irgendwas 3DS-eigenes ist) du wirst von der Animation in jPCT nichts sehen.

mofodev

Kannst Du mir irgend welche Tipps geben, wie ich das realisieren kann, dass Objekte zur Laufzeit an animierte Objekte gehängt werden können? Sodass sie Translationen und Rotationen mitmachen?

EgonOlsen

Das tun sie doch...sie machen nur die Keyframe-Animation selber nicht mit. Mir ist nicht ganz klar, ob wie von derselben Sache reden. Ich frage mal anders: Was willst du konkret erreichen?

mofodev

ich habe eine Puppe, diese Puppe besteht aus Einzelteilen (Arme, Beine, Kopf).
Jedes Einzelteil hat eine Animation.
Per Touch auf Arme oder Beine der Puppe, wir die entsprechende Animation des Armes oder Beins abgespielt.
Nun habe ich 3D Objekte, die ich per Touch an Arme und beine hängen möchte.
Wenn ich diese Objekte mittels "addChild" an Arm oder Bein hänge, dann mag es sein, dass das Objekt nun ein Kind des Armes oder Beines ist, wenn ich aber dann per Touch wieder die Animation anlaufen lasse, bleiben die angehängten Kinder wo sie sind, wärend sich das Bein oder Arm bewegen. Die anghängten Kinder sollen sich aber mitbewegen.

EgonOlsen

Dann musst du die Kinder auf die gleiche Weise wie den Rest mit animieren. Die Kinder können ja nicht wissen, was die Vektoren in den Armen und Beinen so tun während der Animation noch hat sie eine Ahnung davon, wie sie im Verhältnis zu diesen anzuordnen sind.
Alternativ könnte man einen Vektor in der Hand "raten" und dann über den PolygonManager seine aktuelle Position ermitteln. Dann hat man aber immer noch das Problem, dass nun die Position, nicht aber die Drehungen bekannt sind.