AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Leichter Zugriff auf DirectX durch Kapselung
Thema durchsuchen
Ansicht
Themen-Optionen

Leichter Zugriff auf DirectX durch Kapselung

Ein Thema von schmorbraten · begonnen am 13. Aug 2004 · letzter Beitrag vom 24. Jun 2005
 
schmorbraten

Registriert seit: 11. Mär 2004
16 Beiträge
 
#15

Re: Leichter Zugriff auf DirectX durch Kapselung

  Alt 19. Jun 2005, 21:13
Hi Mimi,
habe leider zu wenig Zeit, um im Moment der Sache auf den Grund zu gehen. Wäre auch gut, wenn man Deinen Source downloaden könnte. Mir sind so ein paar Kleinigkeiten aufgefallen:
1. Vertausche diese beiden Zeilen, SetStandard könnte den Move beeinflussen.
Delphi-Quellcode:
  Camera.Move(32.5,-26,-50);
  Camera.SetStandard;
2. Eine Camera hat einen Positions- und einen Richtungsvektor. Benutze statt Move lieber MoveHoriz(d, xorDXCamId) oder dergleichen, so wirkt sich Dein Move auch auf diese Vektoren aus. Ein einfaches Move wirkt sich nur auf die Transformationsmatrix aus, was bei normalen Objekten auch ausreicht. Vereinfacht unterscheide ich immer Camera und Kameramann. MoveHoriz wirkt sich auf beide aus, Move nur auf die Kamera. Analog RotateY und RotateHoriz. Ein RotateY macht Sinn, wenn der Kameramann die Kamera die ganze Zeit verdreht halten soll, ich den Kameramann aber davon unabhängig "ganz normal" navigieren will.

3. Ansonsten fällt mir auf, dass Du die Camera nach rechts unten hinten verschiebst, aber weiterhin auf den Nullpunkt (LookAt-Vektor) schaust, also nach oben links vorne. Die Kugel verschiebst Du jetzt (nur) nach vorn und genau das sieht man doch auch in Deinem Programm oder?
Soll sich die Kugel in Blickrichtung wegbewegen, so verschiebe die Kugel in Richtung der Kamera, also etwas derart:
Delphi-Quellcode:
  TxorDXVector v := Camera.Direction;
  Ball.Move(v.x * 0.1, v.y * 0.1, v.z * 0.1);
Hi Spider,
xorDX8 ist konzipiert für die einfache und schnelle Benutzung von DirectX.
Kollisionserkennung ist nicht integriert. Kenne mich damit auch nicht richtig aus. Auf die Transformationsmatrizen der Objekte, Kamera und Welt(Scene) kannst Du jedoch zugreifen.
Viel Erfolg.

Gruß xor
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz