0 votes

I'm developing an art style that blends 2D with 3D. For that purpose my camera is tilted at a 45° angle and set to orthogonal mode, to achieve this effect. The thing is, because the camera's shape is a square, it distorts my 2D plane, making it shrink in the Y-axis.

What I need is, if possible, to change the camera's "shape" into a rectangle, while still being in orthogonal mode. Is it possible to do this in Godot?

EDIT: Here's more info and screenshots to show what I'm trying to achieve:

The objective is to mix 2D with 3D. The game, at first, looks like a 2D game, but the user can change the view angle at any time, revealing a 3D game, but still feeling 2D.

This is my main scene:


And from the camera's perspective, it looks like this:


The "squared" area appears thinner due to the camera's shape: being it a square. I managed to do a trick involving viewports and shaders to stretch this to become a perfect square.

However this feels like too much hassle for something I think is as simple as being able to manipulate the camera's shape. So, is it possible?

in Engine by (50 points)
edited by

I'm not sure if this is what you're after but try perspective with low field of view. Orthogonal is basically no depth perception so everything will appear like it's at the same distance.

Yeah, but I still can't modify the camera's shape in perspective mode to my exact needs.

Are there any games that look like what you're after? Cameras only have orthogonal or perspective views.

change the camera's "shape" into a rectangle

This wouldn't make a difference, it would still be orthogonal.

This wouldn't make a difference, it would still be orthogonal.
My objective is not to create perspective, is to stretch the visible area. I've updated the post to explain it more clearly.

Also, I have yet to see a game that is exactly my art style, but imagine Octopath Traveller: the world is 3D but all the objects are draw in pixel art. Now imagine that game but on a traditional top-down view, common in all RPG's. And being able to rotate the view to see a 3D effect.

The trick with viewports and shaders is probably the easiest way of doing it up to now, have you seen this page? https://github.com/godotengine/godot/issues/7499

Seems like it then. I managed to clean-up my code so at least now it doesn't feel like a hack around the engine. Thanks for the help!

Please log in or register to answer this question.

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.