How to create animated "sprites" in a 3D environment

Hey everyone :slight_smile:

So, I’m currently toying with an idea to a simple shoot-em-up game that will have a graphical style of basically 2D sprites walking around in a 3D world. A quick example I sat up is this:

32048-example.png

Where the stickman in this case is just a plane with a texture on it, to give it that retro 2D sprite look. However it will not be a 2.5D game, as you will be able to move on all axes (so this includes depth, too).

Basically, since I’ve been away from Unity for quite a while, I’m contemplating how the most practical approach would be with a game like this.

That is, can I make use of Unity3D’s new 2D framework to achieve this? This way I would be able to make use of all its wonderful in-built sprite sheet and animation tools, which would be awesome. However, I wonder if it’s possible to make Unity sort these sprites by depth instead of simple sorting layers?

The other route might be to simply make an animation system where you texture quads with a sprite sheet and then flip through the frames by changing the UV map coordinates or something of the like.

I’m simply wondering what approach you more experienced Unity developers would take here? Is it possible to use the new 2D framework to achieve this, or would I have to use something like quads and planes and then build an animation system?

Thank you all for your help!

My oldscool method :slight_smile:

  1. make a spritesheet (an image with N x M frames of animation… like this explosion spritesheet http://www.unicornmax.com/สร้างเกมส์-html5-ง่ายๆ-part3-สร้าง-e/explosion-sprite-sheet-i0/ )
  2. change frames by change UV coordinates. For example - there I gave my solution have to keep png files for animation? - Unity Answers , you could use it for simple cycled animations, or make your own if you need extra animation functionality.

You should be able to accomplish what you are looking for with UGUI by using a canvas object with the worldspace option.