|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Faller Junior JLI'ler
Alter: 36 Anmeldedatum: 30.11.2006 Beiträge: 88 Wohnort: Dresden Medaillen: Keine
|
Verfasst am: 16.02.2007, 21:14 Titel: Animation bewegung unabhängig |
|
|
Ich möchte nun ihn meine kleines Spiel animationen einbinden.
Dazu wolte ich einfach eines meiner Objekte (ein Zylinder) erstmal ein kleines Stück vor seinem eigentlichem Punkt haben.
Dieses Objekt soll aber jede Bewgung des Spielers mitmachen.
Also hab ich erst das Objekt bewegt
D3DXMatrixTranslation(&bewegung,0,0,1);
nun hab ich es gedreht wie den Spieler
D3DXMatrixRotationY(&sp_drehung,test_sp.drehung);
und nun das ganze an seinen Richtigen Platz transportiert
D3DXMatrixTranslation(&TransMatrix,test_sp.sx,test_sp.sy,test_sp.sz);
nun hab ich einfach alles zusammen in der world matrix gespeichert
und ausgegeben
D3DXMatrixMultiply(&zwm,&sp_drehung,&bewegung);
D3DXMatrixMultiply(&WorldMatrix,&zwm,&TransMatrix);
lpD3DDevice->SetTransform(D3DTS_WORLD,&WorldMatrix);
so das Problem ist das das objekt nicht immer vor dem spieler ist sondern sich um ihn drum herum bewget.
Wie ändere ich die Bewegung eines einselne Objektes so das es immer genau vor mir ist und die bewegung des spielers mitmacht???
Ich hoffe ich konnte mein problem ordentlich erklären. _________________ versuche alles nur wann und wie ist die frage |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 16.02.2007, 21:51 Titel: |
|
|
Angenommen du hast eine WorldMatrix für deinen Spieler berechnet aus Skalierung, Rotation und Translation:
Und du hast die Worldmatrix deines Objektes berechnet, dabei aber bedacht das sich alle Angaben relativ zum Spieler beziehen:
Dann kannst du die Finale Worldmatrix einfach berechnen indem du die beidem Matritzen multiplizierst:
CPP: | WorldMatrixObjektZuSpieler=WorldMatrixSpieler*WorldMatrixObjekt |
Damit sollte genau das erreicht sein was du wolltest.
Edit: Die Daten deines Objektes wenn der Spieler nach 0,0,1 schaut und das Objekt genau vor seiner Nase sein soll dürften dann so aussehen:
Position: 0,0,DistanzZuSpieler
Rotation: 0,0,0
Skalierung: 1,1,1
Ich hoffe ich habe jetzt kein Denkfehler dabei. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
Faller Junior JLI'ler
Alter: 36 Anmeldedatum: 30.11.2006 Beiträge: 88 Wohnort: Dresden Medaillen: Keine
|
Verfasst am: 17.02.2007, 17:39 Titel: |
|
|
Ich dank die fallen
Die angaben müssen ja ralativ sein
thx und close _________________ versuche alles nur wann und wie ist die frage |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|