EntityInView funktioniert nicht ganz

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

dont_know_to_use

Betreff: EntityInView funktioniert nicht ganz

BeitragSo, Sep 30, 2012 11:36
Antworten mit Zitat
Benutzer-Profile anzeigen
EntityInView scheint bei mir nicht ganz zu funktionieren. EntityInView gibt auch 1 zurück, wenn das Objekt, dass ich auf Sichtbarkeit prüfe, direkt hinter mir ist...

Folgenden Code nehme ich dafür:
BlitzBasic: [AUSKLAPPEN]
If EntityInView(planet,cam)=1 Then
CameraProject cam,EntityX(planet),EntityY(planet),EntityZ(planet)
Text ProjectedX(),ProjectedY(),"Planet ist sichtbar"
EndIf

Manchmal verschwindet der Schriftzug "Planet ist sichtbar" wieder, aber nur bei einer bestimmten Entfernung zwischen Kamera und Objekt.

Kann mir da jemand helfen? Smile

Xeres

Moderator

BeitragSo, Sep 30, 2012 11:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich vermute, die Kamera befindet sich in dem Objekt.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

dont_know_to_use

BeitragSo, Sep 30, 2012 11:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Unsinn, das Objekt ist 60.000 Einheiten hinter der Kamera. Der Text "Planet ist sichtbar" wird einfach mitten im Nichts angezeigt.

Xeres

Moderator

BeitragSo, Sep 30, 2012 11:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du vielleicht zu große Abstände, sodass die Koordinaten ins negative umschlagen oder es zu ähnlichen Effekten kommt? Je weiter du dich vom Nullpunkt entfernst, desto ungenauer werden alle Berechnungen.

Wie groß hast du denn den Planeten Skaliert, wenn er schon 60.000 Einheiten weit weg ist?
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

dont_know_to_use

BeitragSo, Sep 30, 2012 12:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
ScaleEntity planet,60000,60000,60000
PositionEntity planet,-60000,-80000,-20000

Xeres

Moderator

BeitragSo, Sep 30, 2012 12:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, dass dürfte keine tolle Idee sein. BlitzBasic kommt mit so etwas einfach nicht gut klar. Ich glaube, der Beste Lösungsansatz für die Darstellung großer 3D Szenen war es, nicht den Spieler von 0,0,0 weg zu bewegen, sondern die Umgebung zu ihm hin.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

dont_know_to_use

BeitragMi, Okt 03, 2012 9:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich benutze jetzt EntityVisible. Habe dafür einen Würfel mit den Ausmaßen 20,20,1 als Parent der Kamera erstellt, der sich 2 Einheiten hinter der Kamera befindet. Keine schöne Lösung, aber sie funktioniert. Wink
 

sddsmhr

BeitragFr, Okt 12, 2012 17:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Das kommt mir doch irgendwie bekannt vor...

Ha! Hab' ich's doch gefunden:

BlitzBasic: [AUSKLAPPEN]
MeshCullBox

Habe mit diesem Befehl selbst noch nicht herumexperimentiert (steht noch auf meiner ToDo, weil ich ähnliche Probleme habe), aber er sollte wohl das Problem lösen.

"This command allows the adjustment of the culling box used by the Blitz3D renderer when deciding if the mesh is outside the view of a camera.

The culling box of a mesh is automatically calculated, however in some instances an animated mesh may stretch beyond this region resulting in it visually popping out of view incorrectly. The MeshCullBox command allows a mesh culling box to be manually adjusted to correct this problem."


Vielleicht hilfts...

PS: 60000px sind recht deftig... Aber na gut, wird wohl seinen Grund haben. Und CameraRange ist auch entsprechend eingestellt, nehme ich an?

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group