Fehler in Blitz3D?
Übersicht

TACITUSBetreff: Fehler in Blitz3D? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich bin zurzeit an einem 3D-SpaceShooter dran und habe die Kamera
als Child zu meinem SpaceShip hinzugefügt. Beim Starten habe ich bemerkt, dass die Kamera anfängt ein bisschen zu zittern wenn der pitch oder yaw- winkel verändert wird. Das wird vor allem bei Blureinsatz sichtbar. Ich hab schon so ziemlich alles versucht, also kann es sein, dass es sein kann, dass das ein Fehler in BlitzBasic ist? Wer sich den kurzen(!) Code durchschauen will kann das hier mit allen Medien tun Danke für die Hilfe(?) |
||
AMD Athlon 64 X2 4200+ Dual Core Prozessor _ 1024 MB Dual Channel DDR RAM _ GeForce 7800 GT PCI Express 256 MB GDDR3 RAM _ Festplatte 410 GB _ DirectX 9.0c
User posted image |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sieht so aus als würde man in eine Atmosphäre rein fliegen. Im Weltraum sicherlich nicht Sinnvoll... Ich würde die Kamera komplett vom Schiff lösen und so etwas wie eine Ist/Soll-Position einbauen und dann immer von der Istposition in die Sollposition 'sliden'. Der Kamera also eine eigene Geschwindigkeit und Position geben... Dann hättest du auch das 'zucken' weg, was passiert wenn man die Richtung ändert... | ||
TACITUS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich weiss was du meinst, das hatte ich davor drin, aber das hat dann net
mit der pitcherei gefunzt also hab ich es ganz einfach so gemacht wie es jetzt ist. Aber der Fehler ist noch immer da, das muss doch wegzubekommen sein wenn es kein Blitz-Bug ist. PS: Richtung von was ändern? |
||
AMD Athlon 64 X2 4200+ Dual Core Prozessor _ 1024 MB Dual Channel DDR RAM _ GeForce 7800 GT PCI Express 256 MB GDDR3 RAM _ Festplatte 410 GB _ DirectX 9.0c
User posted image |
HW |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
TACITUS hat Folgendes geschrieben: PS: Richtung von was ändern?
Die Richtung vom Raumschiff und somit von der Kamera. Und du könntest dem Vorschlag von hectic gemäß auch eine Soll Rotation einfügen. Wenn du es geschickt anstellst, wird es sicher funktionieren. |
||
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also derartige Bugs sind bei mir noch nie aufgetreten. Was mit bei deinem Programm auffält: Du benutzt einen wahnwitzig riesigen Maßsstab. Das sollte eigentlich durch Floats egal sein, aber das ist jetzt das einzige, was ich nicht auch schonmal versucht hätte.
Ach, und mal was ganz allgemeines zu deime Codestil: Vielleicht bieten sich bei dir ja Types eher an... |
||
MrKeks.net |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mit Richtung ändern meinte ich... Wenn man zuerst nach links gesteuert hat, dann nach rehts steuert, dann sieht es so aus als würde die Kamera 'sich mal überlegen' plötzlich das ganze aus einem anderem Blickwinkel zu betrachten... Was nicht so gut aussieht, finde ich... | ||
![]() |
Bob |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi tacitus
Zitat: Beim Starten habe ich bemerkt,
dass die Kamera anfängt ein bisschen zu zittern wenn der pitch oder yaw- winkel verändert wird. Ich würde sagen das das zittern daran liegt das die Kamera bzw das Schiff permanent in bewegung ist auch wenn Speed roll und pitch angeblich 0 sind. Text 10,50,entityx(vKamera1) +" " + entityy(vKamera1) + " " +entityz(vKamera1) |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das Zittern nimmt bei mir mit der Geschwindigkeit zu. Würde mal darauf tip(p)en was Inarie geschrieben hat. Das die Skallierung einfach zu groß ist... Auch wenn es Float ist, kann nicht überall eine der nötigen Genauigkeiten durchgeführt werden. Eine Float ist nur im Nullbereich sehr genau. Je weiter der Nullbereich verlassen wird, wird die Auflösung der Nachkommastellen verringert... | ||
![]() |
Bob |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich kann mich täuschen aber ich denke das dass Zittern bei Geschwindigkeitzzunahme beabsichtigt ist. Nicht jedoch wenn die Geschwindigkeit 0 beträgt.
Allerdings denke auch ich das die Skalierung mit dem Problem in zusammenhang steht. |
||
Er soll an den Spielen teilnehmen bis er spielend stirbt. MCP - TRON |
TACITUS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das Zittern mit der Geschwindigkeit ist schon richtig, aber natürlich hab ich
den Teil weggemacht, zittert trotzdem. Naja ich versuch dann mal alles zu verkleinern, danke |
||
AMD Athlon 64 X2 4200+ Dual Core Prozessor _ 1024 MB Dual Channel DDR RAM _ GeForce 7800 GT PCI Express 256 MB GDDR3 RAM _ Festplatte 410 GB _ DirectX 9.0c
User posted image |
TACITUS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
huhuhu
schaut mal was passiert, wenn man diese zeile ScaleEntity VPLAYERSPACESHIPmesh,0.5,0.5,0.5 durch diese ersetzt: ScaleEntity VPLAYERSPACESHIPmesh,0.05,0.05,0.05 den massstab also verkleinert Ihr meint dann wackelts weniger? na dann schaut mal |
||
AMD Athlon 64 X2 4200+ Dual Core Prozessor _ 1024 MB Dual Channel DDR RAM _ GeForce 7800 GT PCI Express 256 MB GDDR3 RAM _ Festplatte 410 GB _ DirectX 9.0c
User posted image |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das Problem hatte ich auch mal, muss nur schauen ob ich den Sourcecode finde, wo das problem auftratt.
Etwas was du auf jeden Fall noch machen musst, ist die Lichter hiden. 5 Lichter gleichzeitig in der szene würden fast unter garantie zu einem zusammenbruch der FPS führen. Auch die Maximalekamera Range sollte 1,30000 nicht übersteigen, sonst wirst du grosse bis extrem grosse Probleme bekommen (also Linepick und vieles anderes funktioniert nimmer und was vorne-hinten kommt auch durcheinander) EDIT: hahahahahaha OK der fehler war eigentlich logisch, wir sind doof Leuts, voll die Noobs *ggg* (bzw. wir denken da schon nimmer dran ![]() Das Problem ist die Zeile Print direkt nach den Lichtern. In 3D musst du Text benutzen. Warum? Ist dir aufgefallen das der text runter geht? Du weisst sicher was bei einer Konsole passiert wenn er unten ankommt: Er schiebt alles eine Zeile hoch um wieder unten zu schreiben ... und nu schau dir ma die Dicke des "flackerstreifens" an *gggg* (wenn du das waittimer raus nimmst, dann siehst du den streifen sehr gut) |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
TACITUS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wenn ich waittimer rausnehme seh ich erstmal garnichts mehr, ausser den
fps-zähler auf etwa 5.000 springen, mein pc ist zu gut für keinen timer. amd athlon 64 4200+ dualcore.... ok, also ich werde mal die lichter ausschalten und die range gescheit machen sry |
||
AMD Athlon 64 X2 4200+ Dual Core Prozessor _ 1024 MB Dual Channel DDR RAM _ GeForce 7800 GT PCI Express 256 MB GDDR3 RAM _ Festplatte 410 GB _ DirectX 9.0c
User posted image |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
dann solltest du vielleicht mal VSync im treiber wieder einschalten oder auf application default ![]() Dann würdest du maximal 100 fps bekommen. der 2te core ist übrigens nutzlos für Blitz (egal welches), da es single threaded ist ![]() Immerhin wissen wir jetzt warum es flackert und konnten das lösen ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
TACITUS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
VSync ist an und übrigens auch alles andere was man anmachen konnte.
Grafikkarte ist so hoch gestellt wie nur möglich und es läuft trotzdem mit 1000fps. Aber das ist nicht das Problem. Das Problem besteht immer noch. Könnte mir vielleicht jemand bitte den kurzen Codeteil reintippen mit der Nicht-Parent-Kamera, ich glaub ich hab das falsch gemacht, bitte. Danke |
||
AMD Athlon 64 X2 4200+ Dual Core Prozessor _ 1024 MB Dual Channel DDR RAM _ GeForce 7800 GT PCI Express 256 MB GDDR3 RAM _ Festplatte 410 GB _ DirectX 9.0c
User posted image |
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du 1000fps hast, dann ist Vsync mit Sicherheit aus !!!
cheers |
||
TACITUS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
naja, von mir aus.
Jedenfalls musste ich den Speed des Spaceships auf 0.001 setzen, jetzt ist er auf 1 und VSync ist an... |
||
AMD Athlon 64 X2 4200+ Dual Core Prozessor _ 1024 MB Dual Channel DDR RAM _ GeForce 7800 GT PCI Express 256 MB GDDR3 RAM _ Festplatte 410 GB _ DirectX 9.0c
User posted image |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So kannste das Spiel net programmieren.
Die Geschwindigkeit muss FPS abhängig sein, damit es auch auf langsameren Systemen gleich schnell fliegt. Am besten fängste damit von Anfang an an, denn später alles umschreiben ist recht umständlich. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
TACITUS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
??Ich hab doch'n Timer eingebaut.
Wieso nochmal anfangen? Es ist doch alles ganz gut, bis auf diesen Wackel-Fehler der aber nicht meine Schuld ist... ![]() |
||
AMD Athlon 64 X2 4200+ Dual Core Prozessor _ 1024 MB Dual Channel DDR RAM _ GeForce 7800 GT PCI Express 256 MB GDDR3 RAM _ Festplatte 410 GB _ DirectX 9.0c
User posted image |
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
Niemand hat gesagt du sollst von vorne anfangen, Dreamora sagte lediglich,
daß man von Anfang an Frame sein Werk unabhängig gestalten sollte, da das nachträgliche Einbauen sehr umständlich und Motivations fressend ist. Trotzdem empfehle auch ich dir es zu machen, denn es hat definitiv nur Vorteile. Solltest du nicht wissen wie es geht findest du hier ein wenig Lektüre zu dem Thema. Wenn dein Timer aus der allseits beliebten Waittimer oder Delay Methode besteht, dann schmeiß ihn am besten gleich wieder raus, denn das ist nicht sehr empfehlenswert. Delay stoppt das ganze Programm, also auch alle Berechnungen die in der Zeit machen könntest. cheers |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group