Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Kugel drehen Direct X
bezarre
myCSharp.de - Member



Dabei seit:
Beiträge: 22

Themenstarter:

Kugel drehen Direct X

beantworten | zitieren | melden

Hallo alle zusammen,

ich habe ein kleines Problem bei dem mir sicherlich jemand von euch schnell auf die Sprünge helfen kann.

Ich habe eine Kugel und möchte diese mittels der Pfeiltasten nach links bzw rechts und nach oben bzw. unten drehen.

Ich nutze c# mit Managed DirectX. Das zu gehörige Event (Tasten druck) fange ich bereits ab und merke zähle jeweils für X (links bzw. rechts) und Y (hoch bzw. runter) einen Wert hoch bzw. runter.

Diesee Werte habe ich dann ganz naiv in


d3dDevice.Transform.World = Matrix.RotationYawPitchRoll(rotationX, rotationY, 0.0f);

eingegeben. doch habe ich jetzt die Kugel bereits um X verschoben so fange ich beim nach oben bzw. unten gehen an Kreise zu drehen, was ja nicht gewollt ist. Ich stehe im moment völlig auf dem Schlauch... ich hoffe jemand kann mir da weiterhelfen.

Danke euch!

Gruß
Bezarre
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo bezarre,

eine Möglichkeit ist: erst drehen, dann verschieben.

herbivore
private Nachricht | Beiträge des Benutzers
MrSparkle
myCSharp.de - Team

Avatar #avatar-2159.gif


Dabei seit:
Beiträge: 5.655
Herkunft: Leipzig

beantworten | zitieren | melden

Hi bezarre,

für Transformationen wie Skalieren, Verschieben und Rotieren gibt es Transformations-Matrizen. Jedes Modell in der Szene hat seine eigene Matrix, die alle seine Transformationen beinhaltet und beim Rendern angewendet wird. Siehe z.B. DirectX and Matrices.

Christian
Weeks of programming can save you hours of planning
private Nachricht | Beiträge des Benutzers
bezarre
myCSharp.de - Member



Dabei seit:
Beiträge: 22

Themenstarter:

beantworten | zitieren | melden

Hallo,

jaaa irgendwie ist mir kurz vor deiner Antwort auch so eine großartige Idee gekommen.

Ich habe

Matrix.RotationY

und

Matrix.RotationX
verwendet und schon lief das Ganze.

Danke für deine Antwort.
private Nachricht | Beiträge des Benutzers