 |
JLI Spieleprogrammierung
|
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
|
Verfasst am: 19.12.2006, 13:07 Titel: Kamera verschiebung |
|
|
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 |
|
 |
malignate Mini JLI'ler
Anmeldedatum: 16.08.2005 Beiträge: 16
Medaillen: Keine
|
Verfasst am: 19.12.2006, 14:19 Titel: |
|
|
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 |
|
 |
Jonathan_Klein Living Legend

Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 19.12.2006, 15:38 Titel: |
|
|
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 |
|
 |
Faller Junior JLI'ler
Alter: 37 Anmeldedatum: 30.11.2006 Beiträge: 88 Wohnort: Dresden Medaillen: Keine
|
Verfasst am: 19.12.2006, 18:19 Titel: |
|
|
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 |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 20.12.2006, 00:37 Titel: |
|
|
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...
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.  _________________ 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 |
|
 |
AFE-GmdG JLI MVP


Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 20.12.2006, 08:20 Titel: |
|
|
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 |
|
 |
Faller Junior JLI'ler
Alter: 37 Anmeldedatum: 30.11.2006 Beiträge: 88 Wohnort: Dresden Medaillen: Keine
|
Verfasst am: 20.12.2006, 11:58 Titel: |
|
|
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 |
|
 |
Fallen JLI MVP


Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 20.12.2006, 13:02 Titel: |
|
|
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  _________________ "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 |
|
 |
Jonathan_Klein Living Legend

Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 20.12.2006, 14:24 Titel: |
|
|
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 |
|
 |
Faller Junior JLI'ler
Alter: 37 Anmeldedatum: 30.11.2006 Beiträge: 88 Wohnort: Dresden Medaillen: Keine
|
Verfasst am: 20.12.2006, 15:21 Titel: |
|
|
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 |
|
 |
|
|
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
|