Rotationszentrum festlegen?



  • Hallo!
    Wie schon mehrmals gesagt arbeite ich ja an einem Animationsprogramm um aus statischen Models Animationen zu machen. Habe da jetzt Indexed Vertex Blending reingeschmissen, funktioniert auch ganz gut. Als erstes wollte ich den MS-Tiger zum Leben erwecken. Dazu wollte ich erstmal die Schwanzbewegung halbwegs realistisch hinbekommen. Zum Testen lies ich erstmal den kompletten Schwanz um 360┬░ rotieren ­čÖé
    Leider ist aber das Zentrum der Rotation nicht wie ich es gerne h├Ątte die Verbindung zum "Po" sondern ich glaube D3DXVECTOR3(0.0f, 0.0f, 0.0f) ... kann (sicher) man das ├Ąndern?

    Danke,
    Gru├č,
    Kevin



  • Also ich w├╝rde dir vorschlagen, das Teil, das du rotieren lassen m├Âchtest, hat den Punkt um den es rotieren soll bei 0,0,0. Dann musst du es nur an die richtige stelle im Raum schieben, nachdem du es gedreht hast.

    Das ist so das erste was mir einf├Ąllt.



  • Problem hierbei ist dass ich Indexed Vertex Blending verwende und mir DirectX die Matrizen eigenst├Ąndig aufsetzt...ich gebe bei den Vertices an, welche Matrizen verwendet werden sollen und der benutzt die dann...das wird alles am St├╝ck gerendert...aber f├╝r das Problem m├╝sste es doch eine L├Âsung geben!
    Kevin



  • ?
    Wei├č dazu keiner eine L├Âsung? Wozu gibts denn dieses Indexed Vertex Blending wenn ich damit keine wirklichen Rotationen auf K├Ârper durchf├╝hren kann? Was hilft es mir wenn die immer um 0 0 0 gedreht werden? Hier gibts doch so viele Cracks...von euch muss doch jemand wissen wie man mit sowas umgeht? ­čś×

    Kevin



  • Du gibst doch sicher irgendwo eine Matrix an, oder nicht?
    Dann baust Du diese Matrix so zusammen, dass eben nicht um (0, 0, 0) gedreht wird.



  • Wenn du noch so nett w├Ąrst und mir sagen k├Ânntest wie...klar k├Ânnte ich bei der Matrix noch angeben, dass das der Schwanz mit dem Ansatz zum Hintern bei 0.0.0 ist, aber dann wird der da auch gerendert! Dann steckt der Schwanz im Bauch vom armen Tiger...supa ­čśĽ



  • wo ist denn das problem? einfach zum 0 punkt transponieren, dann drehen, dann wieder zur├╝cktransponieren. Also wenn du es alles in einer matrix haben willst, einfach transposematrix*drehmatrix*transposematrix



  • ich dachte dann heben sich die transformationsmatrizen auf....hmm...falsch gedacht? danke!


Log in to reply