Naja ich habe gerade die Kamera aus dem tbModel Beispiel in meinem Projekt mit den Quake 3 Levels eingebaut und es läuft nicht so ganz. Ich habe alles komplett übernommen lief auch soweit nur war die Kamera zu langsam beim Fortbewegen. Die Zeile sieht so aus g_vCameraPos += vTemp * 15.0f * fNumSecPassed; ( Ich benutze nicht die Tribase engine sondern einen D3DXVector3 und dann später die Funktion D3DXMatrixLookAtLH ). Das klappt auch noch, nur da ich andere Dimensionen habe muss ich es etwas schneller haben
. Also habe ich aus der 15 eine 150 gemacht. Das 1. Problem was ich hatte war das immer ein Flackern auftrat beim vorwärtsbewegen. Es sah so aus als wenn ein Teil von unten außerhalb des bildes nach oben verläuft aber sobald ich stehen geblieben bin war es weg. Ich habe dann einfach mal versucht das Setzen der Kameramatrix usw. in die Render Funktion zu schreiben und siehe da das Flackern ist weg.
Das einzige Problem was ich jetzt habe ist das beim drehen der Kamera jetzt ein "Ruckeln" entsteht. Ich weiß nicht wie ich es beschreiben soll. Die Kamera dreht sich ohne Probleme nur das Level stockert beim drehen. Der Quellcode sieht so aus:
|
Quellcode
|
1
2
3
4
5
6
7
|
if(GetAsyncKeyState(VK_LEFT)) g_fCameraRot -= 1.0f * fNumSecPassed;
...
vTemp = D3DXVECTOR3(sinf(g_fCameraRot) * cosf(g_fCameraUpDown),
sinf(g_fCameraUpDown),
cosf(g_fCameraRot) * cosf(g_fCameraUpDown));
|
Habe mal das Programm aufm Webspace gepackt damit man es selber sehen kann ist dann glaube ich verständlicher url ist:
http://mitglied.lycos.de/tobiking1/
Dort einfach auf den Link klicken mit Zip entpacken fertig.