Z-Buffer Frage

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Omenaton_2

Betreff: Z-Buffer Frage

BeitragSo, Mai 09, 2004 18:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt ein Problem, daß bestimmt vielen bekannt ist, ich möchte aber wissen, wie man in BlitzBasic dieses lösen kann, ob es dafür spezielle Befehle mit Einstellmöglichkeiten gibt oder muß man dafür selber was programmieren ?

Folgende Szenario:

Eine Ebene. Kamera mit FirstPersonView. Vor uns liegt in einiger Entfernung eine Wand.

Wir bewegen uns auf die Wand zu und bleiben erst stehen, als wir mit der Wand kollidieren. Die Wand ist also direkt vor unserer Nase.
Wir drehen uns und dann an Ort und Stelle nach Rechts (oder nach Links) und dabei kommt es zu dem Fehler, daß wir zum Teil durch die Wand hindurch schauen können, weil die Wand noch zum Teil in die Blickwinkel der Kamera fällt. Das hat man früher manchmal auch bei vielen professionellen 3Dspielen gesehen.

Wie löst man dieses Problem am Einfachsten ?

TheShadow

Moderator

BeitragSo, Mai 09, 2004 18:36
Antworten mit Zitat
Benutzer-Profile anzeigen
kugelkollision um kamera machen
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2
 

Omenaton_2

BeitragSo, Mai 09, 2004 19:16
Antworten mit Zitat
Benutzer-Profile anzeigen
TheShadow hat Folgendes geschrieben:
kugelkollision um kamera machen


Das ist leider noch keine Lösung.
Ich habe bereits für die Camera Kugel (ellipsoid) Collision.
Ich kann das Problem auch zum Teil lösen, in dem ich die CollisionRadius mit "EntityRadius Camera 1.45,1" setze. Das bewirkt, das die Kamera nicht zu dicht an die Wand rankommt und so kann ich mich umdrehen ohne Wandüberschneidung. Das ist so weit schön und gut, aber...
das hat die Konsequenz, daß die Türen seeehr breit sein müssen, damit ich so noch mit der Kamera durchkomme.
Ich suche also eine Lösung, wo ich ziemlich nahe an die Wand ran kann und dann mich ohne Clippingerror drehen kann und die CollisionsKugel darf nicht so groß werden, daß ich nicht mehr gut durch Türen durchkomme. (Das ist mir klar, daß man in solchen Spielen die Türen nie zu eng machen sollte, das habe ich auch nicht getan, die Tür ist wirklich ziemlich breit, das müßte gehen.)

Ich habe die Idee gehabt, ich nehme eine Box fü die Collision, die ich dann so gestalte, daß sie etwas dick in der Tiefe ist aber dünn in der Breite, damit ich weiter vor der Wand stehen bleibe, aber gut durch engere Türen komme, aber das gelang mir nicht gut.
 

Omenaton_2

BeitragSo, Mai 09, 2004 19:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe gehört, daß das ein Z-Buffer-Problem sein soll und die Lösung sollte (grundsätzlich) sein, daß ich es dem Programm irgendwie mitteilen soll, daß es wenigstens auf kurze Distanzen besonders feine, genaue -Buffer-Berechnung durchführen soll. Geht das aber überhaupt in BB3D?
Oder liege ich falsch?

Holzchopf

Meisterpacker

BeitragSo, Mai 09, 2004 19:21
Antworten mit Zitat
Benutzer-Profile anzeigen
http://www.blitzbase.de/befehle3d/camerarange.htm

Gucks dir mal an...
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm
 

Ava

Gast

BeitragSo, Mai 09, 2004 19:23
Antworten mit Zitat
Kannst Du nicht das CameraRange Minimum verkleinern? bzw. die Welt grösser scalieren?
 

Omenaton_2

BeitragSo, Mai 09, 2004 19:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, die Verringerung des CameraRangeMinimums auf unter 1 war die richtige Lösung! Jetzt ist alles wunderbar.
Ich habe eigentlich auch schon mal an diesen Befehl gedacht, aber mir fiel es nicht ein den Minimumwert auf unter 1 zu setzen.

Was mich jetzt ägert ist nur, daß die Homepage von GILE(s) nicht zu erreichen ist und ich würde jetzt so gerne dieses Programm kaufen. Ich hoffe morgen ist die Seite wieder da.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group