1
\$\begingroup\$

My team is currently developing a 3D Sidescroller game and we encountered some issues regarding the whole in-game perspective of the levels. The levels are composed of 3D modeled corridors which are specifically modified to simulate the effect of - 'immersive-depth'.

Example(Front View - InGame View): enter image description here Example(Side View - Angled Floor): enter image description here Example(Flat Floor Comparison - Angle vs No Angle) enter image description here

The issues I spoken of are appearing at the moment I start adding 3D objects on the corridor, like lamps, crates, cabinets etc. They all seem off, due to the fact that the whole floor of the corridor is angled forward (even if the objects themselves are angled forward).

I know it seems like a strange question to ask but are there any smarter ways/alternatives of simulating the same depth of the corridor without angling it's floor?

P.S.

1) 2D is not an option. The camera isn't static.

2) Increasing the Angle of the camera on a flat floor doesn't simulate the same effect. The camera was meant to change dynamically in certain situations, via it's angles and position (up and down). The higher it is the more it resembles the perpendicular version. However, if the camera is lower, at a lower position and angle (on the same level as the floor is) the difference comes in place, due to the back walls being higher.

EDIT:

We've decided to stick with the 'flat'- 90 deg, floor, it's easier to maintain.

Although the Angled version is more entertaining, it is limited by the fact that increasing the depth - means increasing the angle, which at a certain point will generate an inadequate look.

\$\endgroup\$
  • 1
    \$\begingroup\$ How should this look as the camera moves? Do you want to see more/less of the side walls due to parallax as our view moves side to side? Or should they stay fixed, as though it were a flat matte painting? \$\endgroup\$ – DMGregory Sep 20 '18 at 22:45
  • \$\begingroup\$ @DMGregory Hey, the sidewalls are meant to be fixed for now. But in the future we plan on making them parallax. \$\endgroup\$ – AleksandarG. Sep 21 '18 at 8:25
  • \$\begingroup\$ If I understand this correctly, couldn't you make the floor without an angle, then move the camera slightly more upwards? Or is that what you mean by "Increasing the Angle of the camera on a flat floor doesn't simulate the same effect."? \$\endgroup\$ – TomTsagk Sep 21 '18 at 8:45
  • \$\begingroup\$ I think this question needs to talk more about the implementation details before someone can write a helpful answer. \$\endgroup\$ – Philipp Sep 21 '18 at 8:56
  • \$\begingroup\$ @TomTsagk, I've updated the references with UV textures on them. Hopefully it's more understandable now. \$\endgroup\$ – AleksandarG. Sep 21 '18 at 9:07
0
\$\begingroup\$

I think you can achieve this look with non-skewed / regular perpendicular walls & floors just by adjusting your camera.

Here's an example where I took your image and overlaid it in a scene with partial transparency, then arranged perpendicular cube primitives to form the corner of the room, and adjusted my camera settings, object positions & scales until the rendered scene matched the perspective of your image:

Example of matching perspective in Unity

For this particular example I used a camera with the default 60 degree field of view, pitched downward 7.5 degrees to get the vertical lines to converge slightly. I used an oblique camera frustum to shift the rendered image vertically, so the horizon at the top of the wall sits close to the top of the screen. Doing it this way, we can control the vertical position of features on the screen without changing their shape from moving the perspective viewpoint.

\$\endgroup\$
  • \$\begingroup\$ Hey, we've found the perfect perspective for our game, the floor now is a lot wider, by cause of the lack of space the previous one had, hence the new perspective. Reference '2)', I've pointed some things out. (I should have been more specific). I appreciate your time and effort. +1 \$\endgroup\$ – AleksandarG. Sep 23 '18 at 10:44
  • \$\begingroup\$ If you're interested, you can use the oblique frustum trick I mention above to control how much the perspective shifts when you move the camera vertically. \$\endgroup\$ – DMGregory Sep 23 '18 at 11:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.