skydome - realistic?

Blitz3D Forums/Blitz3D Beginners Area/skydome - realistic?

Gamzman(Posted 2006) [#1]
Hi,

I'm currently working on a fighter plane game with an outdoor environment (obviously :) ). I have an island surrounded by an infinite plane textured to look like a sea, I also have a very large skydome (roughly 8 times bigger than the island). the problem I’m having is that as you fly off the island you get closer and closer to the edge of the skydome which looks really kak. So the solution I came up with is to position the skydome to the X & Z of the camera so as the camera moves the skydome moves so you will never reach the sky. My question is this, is this the best method of creating a realistic outdoor environment concerning the skydome? I was also thinking about having the sky dome rotate with the camera but at a slower rate to give the impression that the sky is really far away, would this work? or is there a better way?

Kind Regards,
Gamzman


WendellM(Posted 2006) [#2]
Yes, parenting the skydome to the craft/camera is the way that I handle "infinitely far" skies in Blitz3D. You might add in a little trickery for low-lying clouds which can be climbed above, but you're on the right track in my view. I've never done the "rotate slower" approach (scroll the background slower in 2D settings to mimic parallax, yes, but not in a 3D scene), but you might have something there.


Chevron(Posted 2006) [#3]
I would also say make the dome a lot smaller than you are currently and alter the render order to make it behind all the other senery, this will improve the quality of the texture.


Mustang(Posted 2006) [#4]
Skyboxes (-spheres) like cubemaps are correct only in one single point of space like you have noticed. The "right" way to do skyboxes for games is to have a tiny (like 1m*1m*1m) skybox attached to the camera (position only, NO rotations!) and render that first using EntityOrder, before anything else. That way you are always in the center point and don't have to sacrifice z-buffer accuracy (unnecessary big CameraRange) because of big skybox.


jhocking(Posted 2006) [#5]
You don't want to parent the sky to the camera because you only want the position to move along with the camera, not rotations. Just do it yourself every frame after UpdateWorld; create a function called UpdateSky and call that every frame.

Incidentally, I like skyboxes better than skydomes. There's a visual error on the horizon line where the box sides meet, but other than that they look great and are much easier to texture/generate textures for.


Gamzman(Posted 2006) [#6]
thank you for the advice, Mustang - I think I know what you mean and I will give it a try, do I set the skydome to EntityOrder,skydome,1 or -1?


Gamzman(Posted 2006) [#7]
@Mustang - thank you worked a treat! just one more question though, how do I get it to work wiv my infinate water plane? at the moment if I increase the camera position on the Y axis I get a gap between the skydome and water plane because of the camera range??


Mustang(Posted 2006) [#8]
Ho-hum... So... if you're going to rise up a lot you may need to extend the dome mesh below the waterline level. I'd probably also fade out the water with fog to white and do the same for the part of the sphere that's below the water (ie add a small fade to white to the skybox horizon line texturemap too). That way you'd see only slightly more white when you rise up.


kfprimm(Posted 2006) [#9]
I'm currently working on a fighter plane game

You too?! Wow...I was just about to post on this same subject....thanks.