Forum rules - please read before posting.

Problems with 2.5D and a moving camera

Hi all,

we are trying to push our development of a point and click adventure game in the 2.5D direction, but Adventure Creator is giving us headaches. It's a great asset and we are not going to move to another one, that's why I'm writing this post. We need to find a solution.

So, we want to have 2D backgrounds with 3D characters, and we must have a scrolling camera on the X-axis (we don't want, at any cost, to have a static one).
If we set up an ortographic projection then there are no problems, everything is fine (except for the fact that we need to write a custom script for scalling the character - that's normal of course for this type of projection). We then add the parallax effect scripts on layers we want and that's it.
If we use a perspective projection, then we do have scalling of the character (of course), and everything works fine except for the fact that the camera must remain static, which is something we don't want to have in our project. As soon as the camera moves on the X-axis everything falls apart (hotspot, layers). After many days looking for a solution, we managed somehow to get it working and to have everything ok. But now we have a problem that the camera is shaking, and we don't know what is causing the problem. Since this was achieved with some workaround methods, we are not confident going in full development this way.

My questions are:

1) the custom script for scalling, which we've used with the ortographic projection, could give us problems later? I mean, we did the script fine, the character is scalling good. But, can this scalling cause some other problems later since it is not used by default with this projection? scalling the box collider can cause problems with layers and the character seemingly might fall through layers?

2) are there any other potential problems that we might face in development if we choose to go with the combination of ortographic projection and custom scalling script, in 2.5D? The scene with an ortographic projection looks like zoomed in, and flat. That's normal of course because of the nature of this camera. So we are not too much happy about the look, we would be more comfortable with the perspective projection.

3) we are thinking about going full 2D. Our characters are modeled and animated in 3D of course. If we switch now to full 2D we would need to render sprite sheets and that's something we wanted to avoid because: we would loose movement fluidity which we have with 3D characters, we would spend time to render sprite sheets, we would loose dynamic lightning on the character, lip sync won't be that good...On the other side we would get a full 2D look (which is something that we want to achieve even in 2.5D, the more 2D look the better - using the right shaders on characters), and we would get a really simple, straight forward work using Adv. Creator. So what do you suggest? After reading all of the above mentioned, do you suggest we switch to full 2D beside having these cons?

Cheers.

Comments

  • Welcome to the community, @TanaisGames.

    You can see my comments regarding a 2.5D scrolling camera here.  Essentially you can use a GameCamera2D camera prefab that uses a Perspective projection, which should eleminiate the need to scale the character(s).

    AC makes a lot of internal calculations when it comes to moving 2.5D / 3D characters, so it actually creates quite a lot of problems if you scale them - particularly if you make use of root motion.  See how you get on with the suggestion in my other post rather than go down that route.

    Regarding full 2D, others on here will be able to give better advice about dynamic lighting etc on sprites, but so far as animations go you have the option of either "Sprites Unity" or "Sprites Unity Complex".  Both are covered in the Manual (Sections 3.6 and 3.9), but SUC gives you full control over your animation by simply manipulating Mecanim parameters such as movement speed and facing angle - allowing you to make use of them how you will.  I would definitely recommend going over the 2D tutorial either way.
  • edited November 2016
    Hi @ChrisIceBox, thank you for the reply.

    Do you know why when using ortographic in 2.5D, and while the player moves on the X axis (moving the screen), we get a slightly shaking effect? It seems like in 3D games when the frame per seconds drop because of the pc being to weak. Any idea why this is happening?

    Basically what you are saying is that we drop the 2.5D with ortographic (since we must use a custom scale script), and to go with the 2.5 perspective or full 2D? I suppose full 2D would be the best option in our case since we would avoid those problems with the camera, shadows etc in 2.5D, and we would have a straight forward work with AC?

    Cheers
  • Shaking in what way, the camera or the player, and what kind of AC Camera exactly?  I would have to see the effect you mean to have much to say about that.

    A 2D camera set to Perspective is a viable method of having a scrolling camera in a 2.5D game.  The perspective won't shift, it'll just offset (Ken Burns effect), but full 2D is also an option.  Both can be done within AC without the need for custom scripts, though you may need to write a shader for shadows to get them in 2.5D with a 2D perspective camera.
  • @ChrisIceBox, thank you.

    Please check your inbox about the shaking camera.
  • edited November 2016
    @ChrisIceBox

    our developer managed to make a scene with the thing you suggested in that other post linked above. He used the 2D camera set to perspective.

    Do you think we could have problems later with different aspect ratios on different scenes, with different perspectives?

    Cheers
  • Changing camera-type per scene won't be a problem, but changing the perspective or aspect ratio fields in the Settings Manager will have to be done via custom scripting.  Right-click any field's label to get the API reference.

    After changing the aspect ratio, you'll also have to re-calculate all of your AC Menus to adjust to it, which can be done with:

    AC.KickStarter.playerMenus.RecalculateAll ();
  • edited November 2016
    @ChrisIceBox,

    sorry, my previous post had questions that were probably misleading.

    What I wanted to ask is this: we are going to have a perspective projection in every scene. But, our scenes have different perspectives, some have greater depth than others, some are too narrow to even have the need of scrolling, some others have a bird-eye view etc. They are all different between them. And then of course, one person might play the game on a 16:9 aspect ratio, some other on 16:10 or even 4:3.
    My question is: since we are going with the perspective projection, this direction we are taking might cause us problems during development? Because of different perspective each scene in the game has.
    Also, we are not going to use the option to force the aspect ratio, so different people will play the game on different ratios. Could this cause some problems? I don't know, for example glitches, layers clipping, hot sposts going out of position etc.

    Thank you very much for all the answers!
  • There's nothing technically problematic about using different perspectives throughout your game - it's assumed each camera is different anyway.

    Forcing the aspect ratio in the Settings Manager allows you to easily ensure the game always looks correct regardless of resolution.  If you choose not to make use of it, you'll have to test each camera in each possible aspect ratio.

    Objects like Hotspots etc won't move position relative to the background or other elements.  Generally the only thing to be aware of is the edge of your background artwork being visible in some aspect ratios and not others - which can be solves by extending the artwork beyond the visible boundary but keeping interactive elements (Hotspots, NavMesh etc) within the "safe" zone.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.