Ebene und Skybox



  • Hallo zusammen
    Ich habe eine Ebene, welche dynamisch durch einen Vertexshader deformiert wird swie eine Skybox. Nun ist es so, dass das Bild super aussieht, solange die Kamera nicht bewegt wird. Sobald die Kamera jedoch in der Höhe verschoben wird, also nicht mehr koplanar zur Ebene, sieht man sofort, dass es sich um eine kleine Ebene handelt. Natürlich könnte ich die Ebene irrsinnig gross machen, aber das Spielfeld ist eigentlich relativ klein und ich benötige eine relativ hohe Vertexdichte, damit ich die Wellen korrekt animieren kann. Ich nehme an, dass ich nicht die erste Person bin, welche mit diesem Problem konfrontiert wird, konnte aber im Internet nichts passendes finden.

    Mfg Samuel



  • Ich nehme mal an du hast eine Skybox in der sich nur eine Wasserfläche befindet die kleiner ist als die Skybox und sobald du die Kamera hochfährst siehst du durch den geänderten Blickwinkel Teile der Skybox die eigentlich unter dem Wasser liegen sollen?

    Falls es das ist wäre das mehr oder wneiegr ein Ästetisches Problem weild er Rest der Fläche nicht gefüllt ist, eine Möglichkeit die mir einfallen würde wäre das du die SkyBox entgegengesetztd er Kamera bewegen könntest, dh wenn sie hochfährt, fährt die Skybox runter um den Blickwinkel auszugleichen, entsprechend wenn man vorfährt, fährt sie zurück, das würde denke ich mal funktionieren so lange du dem Rand des Wassers nicht zu nahe kommst. Ansonsten würde mir nur einfallen das Wasser mit einer LandTextur zB zu versehen die an die Skybox anschließt und somit die Blickänderung auf die Skybox verdeckt.



  • @Xebov
    Hehe, genau das is das Problem. 😉 Danke für deine Ideen, ich werde gleich veruschen, dies umzusetzen und werde dir sagen, ob es funktioniert hat. Der Hauptfokus liegt darin, dass ich die Wasserebene nicht zu gross machen möchte, da ich sonst eine geringere Vertexdichte pro Quadratfläche habe und somit weniger schöne Wellen animieren kann...



  • wie hast du deine skybox denn implementiert? hast du sie um deine ebene "außen rum" gezeichnet?

    versuch mal, die skybox in einem quader mit kantenlänge = 1 zu rendern und dabei den z-buffer zu deaktivieren, sodass sie kleiner ist als die ebene. durch ausschalten des z-buffers beim rendern der skybox, erreichst du dann, dass sie immer im hintergrund ist. wichtig: skybox als allererstes in der szene rendern und danach z-buffer wieder einschalten.

    sollte dann passen

    edit: und natürlich musst du die skybox mit der kamera immer mitbewegen, so dass sie immer einen abstand von 1.0 zur kamera hat.


Anmelden zum Antworten