Godot Version
4.3.1
Question
`I want to move the horizon down in my 3D game without twisting the game view, but I can’t.
This is a screen snapshot of my present game view. The height of the horizon is 1/2 screen height. I want it to be only 1/5.
This is the organization of the scene tree of my game at present.
Rotating the y axis of camera can help, but the game view (camera view) also twists sharply in such cases, which is not allowed. I wonder if there is any other method that helps.
Many thanks to all the helps and helpers.
`
I dont think that is physically possible, the ground should be 50% of the screen if it went on infinitely as a flat plane.
To reduce that you need to be on a curve. Like a sphere. Godot doesnt support hyperbolic rendering so i would make your ground a sphere. Or apply a shader to your ground mesh to bend it for you.
Alternately, tilt the camera back a bit. As @pennyloafers says, for a camera looking down (say) the x axis, if your ground plane is infinite it’s going to take up the bottom half of the screen regardless of how high above it the camera is. The “infinite” part does that.
If you tip the camera up a few degrees around the x axis (assuming you’re looking along z…) it will move the horizon down on the screen.
You could also leave the camera level and use a flat ground plane if you don’t mind tilting the ground plane. If the ground plane runs “downhill” from the camera rather than being parallel with the xz plane, you can put the horizon lower on the screen. If the camera can rotate, though, this means you’ll have to be constantly tilting the world a la Super Monkey Ball.
For that matter, do you actually want a ground plane? If you’re making something like Space Harrier, you could always just composite your horizon from a flat parallax background.
Thanks! I get your points. Applying shader is a good point. Maybe I can try it.
Thanks! I do need a ground plane. Maybe I should rotate the camera a little bit. Hope this will not tilt the screen badly.