Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

the[V]oid

Alter Hase

Beiträge: 775

Wohnort: Aachen

  • Private Nachricht senden

11

25.03.2010, 15:42

1. Also du hast zwei Objekte (das, was du als "Objekt" bezeichntest, und das, was du als "Welt" bezeichnest).
2. Das Objekt soll immer dieselbe Relativposition und -ausrichtung zum Betrachter haben.
3. Die Welt soll rotieren um einen Punkt, dessen Relativposition zum Objekt / dem Betrachter ebenso feste ist.
4. Jetzt kommt noch hinzu, dass du die Welt bewegen willst, so, dass sie sich auf den Betrachter zubewegt bzw. von diesem entfernt?

Ich finde Punkt 3 und Punkt 4 widersprechen sich??
<< an dieser Stelle ist eine Signatur verstorben >>

12

25.03.2010, 15:50

also ich bin erst neu in der grafikprogrammierung und ganz ehrlich ich finde das sie sich kein bisschen wiederschprechen...

wenn ich falsch liege wäre es schön wenn du mich aufglären könntest

mfg

the[V]oid

Alter Hase

Beiträge: 775

Wohnort: Aachen

  • Private Nachricht senden

13

25.03.2010, 16:04

Ich finde, dass die beiden Punkte sich einfach logisch widersprechen.
Ich kann mir das nicht vorstellen, wie das mit einander vereinbar sein sollte.
Versuch doch mal das ganze aufzuzeichnen und poste das dann mal.
<< an dieser Stelle ist eine Signatur verstorben >>

14

25.03.2010, 16:07

ok ich glaube dir mal aber wie macht man das dann zb bei den ganzen ego-shootern wo man nach links und rechts schauen kann und dannn auch in diese richtung geht.
ich hab da jetzt iwie keine vorstellung mehr davon

mfg

the[V]oid

Alter Hase

Beiträge: 775

Wohnort: Aachen

  • Private Nachricht senden

15

25.03.2010, 16:18

Nicht getestet. Aber im Grunde läuft es darauf hinaus, eine "Kamera" richtig zu positionieren:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
void onDraw()
{
  glLoadIdentity();
  glTranslate3f( -fCameraPosX, -fCameraPosY, -fCameraPosZ );
  glRotatef( 0, 1, 0, -fCameraRotY );
  drawWorld();
}

void onInput()
{
  const float fDX( sin( fCameraRotY ) );
  const float fDZ( cos( fCameraRotY ) );
  if( keys[ VK_LEFT ] )
  {
    ++fCameraRotY;
  }
  if( keys[ VK_RIGHT ] )
  {
    --fCameraRotY;
  }
  if( keys[ VK_UP ] )
  {
    fCameraPosX += fDX;
    fCameraPosZ += fDZ;
  }
  if( keys[ VK_DOWN ] )
  {
    fCameraPosX -= fDX;
    fCameraPosZ -= fDZ;
  }
}


So oder so ähnlich.
<< an dieser Stelle ist eine Signatur verstorben >>

16

25.03.2010, 16:24

gut danke ich werds später mal testen

Werbeanzeige