- Home /
Do I make an isometric game in 2D mode or 3D mode?
I'm assuming that the best way to make an isometric game is to make the game in 3D mode and just have the fixed camera at that 45,30 rotation, but my question is regarding how to render 2D graphics (sprites) in this mode. Do I need to have every visible object (every 2D sprite) in my game have a script that tells them to lookAt(camera)? Or is there some better way to do this? Because in 2D mode no such lookAt stuff is necessary. Sorry if this seems like a dumb question. Thanks in advance for your help.
I don't work in the iso/2D space, but could you just set the sprite's rotation ins$$anonymous$$d of using lookat?
Answer by kittenkong · Apr 07, 2014 at 05:56 AM
I can't think of any better way to do it other than
transform.LookAt(Camera.main.transform.position, -Vector3.up);
If you are playing in perspective mode you'll need to put it in your Update() script but if you are using isometric and the camera angle never changes and you can save a few cpu cycles by putting the script in Start().
Thanks. That makes sense... but I just realized, even if I do that, the sprites will still be slightly at an angle, and not completely flat, because unless they are in the center of the viewport/camera, their rotation will not be completely the opposite of 45,30. It would be like 46,29 or something, see what I mean? I don't know... I'm feeling I might just go with a top-down approach and then sort of make the graphics look isometric anyway, kind of like HLD. Do you know any tutorials for designing graphics/collision in this type of game? Thanks again.
Ah sorry I think you are right, if you are using isometric view you should just set the angles to 45 degrees or whatever so they are all the same. LookAt would just be for perspective. Surely it's easy to make all your gameobjects at the same angle?
I haven't done much in isometric and I think Unity just added a bunch of new 2D stuff so thats good, but because it's newish there may not be too many tutorials.