JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Kamera verschiebung

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Faller
Junior JLI'ler


Alter: 37
Anmeldedatum: 30.11.2006
Beiträge: 88
Wohnort: Dresden
Medaillen: Keine

BeitragVerfasst am: 19.12.2006, 13:07    Titel: Kamera verschiebung Antworten mit Zitat

also ich hab gesucht aber ihrgentwie net mein problem gefunden fals es schon mal besprochen wurde plz link und fertig.

meine kama soll aus der 3 person auf jemanden gugen.
in etwa so wie in der Gotic reihe.

ich habe folgendes problem das die kamara sich zwar bewegen läst aber immer wieder vom null punkt angezogen wird ich weis glinkt doof aber so scheint es und so verschwindet der spieler immer wiedre aus dem sicht feld was nun nicht wirklich brauchbar ist .

wenn es jemand sehen möchte kann ich es ja mal hoch laden.
_________________
versuche alles nur wann und wie ist die frage
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
malignate
Mini JLI'ler



Anmeldedatum: 16.08.2005
Beiträge: 16

Medaillen: Keine

BeitragVerfasst am: 19.12.2006, 14:19    Titel: Antworten mit Zitat

Zeig mal deinen Code, aber nur den betreffenden bitte. Ich denke ich weiß woran es liegt, aber am Code kann man es am besten zeigen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 19.12.2006, 15:38    Titel: Antworten mit Zitat

Hast du auch die kameraposition verändertß Wie gesagt, ohne code kann man nix sagen, das ist heir absolute Pflicht.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Faller
Junior JLI'ler


Alter: 37
Anmeldedatum: 30.11.2006
Beiträge: 88
Wohnort: Dresden
Medaillen: Keine

BeitragVerfasst am: 19.12.2006, 18:19    Titel: Antworten mit Zitat

ich habs gepackt es lag daran das ich noch den stand punkt der kama mit einrechen muste jetze funktioniert die bewegung an sich schon sehr gut hier ist der code in ihm ist leider ein neuer Fehler aufgetretten
[/code]
Code:
   // die gedrückte Taste ausgeben


   if(t_zeichen[DIK_LEFT])
   {
      test_sp.drehung+=0.03f;
      test+=0.1f;
      test_sp.dreh_k+=0.1f;
      test_sp.z=test_sp.z-cosf(test);
      test_sp.x=test_sp.x-sinf(test);
   }
   if(t_zeichen[DIK_RIGHT])
   {
      test_sp.drehung-=0.03f;
      test-=0.1f;
      test_sp.dreh_k-=0.1f;
      test_sp.z=test_sp.z+cosf(test);
      test_sp.x=test_sp.x+sinf(test);
   }

    if(t_zeichen[DIK_UP])            //runter
   {
      sx =test_sp.sx+sinf(test_sp.drehung);
      sz =test_sp.sz+cosf(test_sp.drehung);

      auswahl=1;
      test_sp.z+=cosf(test_sp.drehung);
      test_sp.x+=sinf(test_sp.drehung);
      
   }

    if(t_zeichen[DIK_DOWN])            //hoch
   {

      sx =test_sp.sx-sinf(test_sp.drehung);
      sz =test_sp.sz-cosf(test_sp.drehung);

      auswahl=1;
      test_sp.z-=cosf(test_sp.drehung);
      test_sp.x-=sinf(test_sp.drehung);
      
   }
   if(t_zeichen[DIK_A])         //nur zum testen   
   {
      test_sp.x-=0.4f;
   }
   if(t_zeichen[DIK_D])            
   {
      test_sp.x+=0.4f;
   }
        //wenn der spiler sich bewegt dan schauen ob er mit der umwelt kolidiert oder net
   if(auswahl==1)
   {
      koli=bew_k(sx,sz,&test_sp.sx,&test_sp.sy,&test_sp.sz);
      if(koli==false)
      {
         test_sp.sx=sx;
         test_sp.sz=sz;
      }
   
   }

   ReleaseDC(Fenster,hDC);

   D3DXMatrixLookAtLH(&ViewMatrix,
                  &D3DXVECTOR3( test_sp.x,test_sp.y, test_sp.z),//Wo wir sind
                       &D3DXVECTOR3( sinf(test_sp.dreh_k+(test_sp.x/100))*100,0.0f, cosf(test_sp.dreh_k+(test_sp.z/100))*100),//SichtRichtung
                  &D3DXVECTOR3( 0.0f,  1.0f, 0.0f ));//y achse

   lpD3DDevice->SetTransform(D3DTS_VIEW,&ViewMatrix);

so das ist der code zum bewegen des spielers und der kamara hier kommt es aber zu einenm "fehler" und zwar umgreist die kamera den spieler aber das sichtfeld schwinkt so stark das es auseiht als ob die figur ständig gegen den bildschirm tonnert wenn jemand sich schonmal damit beschaftikt hat würde ich mich freuen wenn er mir erklärt wie man das ändert thx an alle die mir trotzdem helfen wolten
_________________
versuche alles nur wann und wie ist die frage
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 20.12.2006, 00:37    Titel: Antworten mit Zitat

Nimms mir nicht übel, aber deine Rechtschreibung ist wirklich grauenhaft. Meistens kann man den Sinn ja noch aus dem Kontext herauslesen, aber wenn es keinen Kontext gibt... Wink

Zu deinem Problem: Wenn ich deine Beschreibung richtig gedeutet habe, könnte es sein, dass du schlichtweg die Kamera zu schnell bewegst. D.h. entweder die Schrittweite heruntersetzen oder noch besser sicher stellen, dass du eine Framebremse oder ähnliches verwendest.
Aber es gibt tausende andere Ursachen. Die richtige werden wir nur rausfinden, wenn du dein Problem besser beschreiben kannst. Wink
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 20.12.2006, 08:20    Titel: Antworten mit Zitat

Verändere nicht die Kamera und die Spielerposition getrennt voneinander, sondern berechne die Spielerposition anhand der aktuellen Bewegungsdaten und gedrückten Tasten und berechne daraufhin die Position der Kamera in einem festen Abstand zur Spielerposition. Wenn du nun noch die Kamerabewegung gegenüber der Spielfigur ein wenig verzögerst bekommt man eine "Butterweiche" 3rd-Person-Kamera.
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Faller
Junior JLI'ler


Alter: 37
Anmeldedatum: 30.11.2006
Beiträge: 88
Wohnort: Dresden
Medaillen: Keine

BeitragVerfasst am: 20.12.2006, 11:58    Titel: Antworten mit Zitat

ok hier nun der versuch mein problem besser zu beschreiben
ich habe einen spieler x in der Mitte.
und möchte mich nun um ihn herum bewegen(einer kreis bewegung).
dabei immer auf den eigentlichen Spieler schauen.
bei mir ist es der zeitig so das die kamera sich zwar im kreis um den Spieler bewegt aber die Sicht der kamera nicht auf den Spieler zeigt.
so das es so aushiet als ob die kamera eiert. (ich weis selbst net so genau wie ich das beschreiben soll)
kennt jemand Seiten wo man etwas darüber lessen kann(über die programierung einer 3rd sicht).

zu afe-gmdG wie würdest du es denn machen das berechnen der kamera hast du eventuel sowas schon mal gemacht ich wäre dir dankbar für code oder erklärungen
_________________
versuche alles nur wann und wie ist die frage
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 20.12.2006, 13:02    Titel: Antworten mit Zitat

Wenn du das hier an deinen Code anpasst solltest du deine gewünschte Kameradrehung bekommen:

CPP:
// Camera Position berechnen
D3DXVECTOR3 CameraPosition;

// Rotation einberechnen
CameraPosition.x = sin(D3DXToRadian(Winkel))*Radius;
CameraPosition.y = 0.0f
CameraPosition.z = cos(D3DXToRadian(Winkel))*Radius;

// Camera soll relativ zum Spieler liegen
CameraPosition += PlayerPosition;

::D3DXMatrixLookAtLH(&ViewMatrix,
   &CameraPosition, // Camera position (EyePos)
   &PlayerPosition, // Wohin soll die Kamera blicken (LookAt Point)
   &D3DXVECTOR3(0.0f, 1.0f, 0.0f)); // UpVector der Kamera


Edit: Bitte versuche dir die korrekte Groß/Kleinschribung anzugewöhnen, es macht teilweise einen schlechten Eindruck, wir sind hier schliesslich nicht im Chat Wink
_________________
"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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 20.12.2006, 14:24    Titel: Antworten mit Zitat

Die Guck-Richtung der Kamera ist relativ, ok? d.h. Wenn du die Kameraposition hast, musste nurvon der Speilerposiiton die Kameraposition abziehen, und du hast einen Vektor der vom Spieler zur Kamera zeigt.

So, jetzt machst du dir eine Planfigur mit einem Blattpapier und nem Stift. Am besten von oben, zeichnest Speielr ein, und die Kamera, und guckst, wie du abhängigi vom Speiler das gerne hättest und und überlegst dir, wwie du dann die Kameraposition berrechnen könntest.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Faller
Junior JLI'ler


Alter: 37
Anmeldedatum: 30.11.2006
Beiträge: 88
Wohnort: Dresden
Medaillen: Keine

BeitragVerfasst am: 20.12.2006, 15:21    Titel: Antworten mit Zitat

Danke Fallen durch dein Code Beispiel ist es mir gelungen, danke an alle die mir helfen wolten.

*close*

ps ich versuche meinen Schreibstill anzupassen
_________________
versuche alles nur wann und wie ist die frage
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
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

Impressum