Sprites in 3D environments, w/rotating camera -- how would this work?

I’ve been investigating Unity3D after seeing both 2D and 3D games created with it, am highly impressed the more I dig into the documentation (naturally!), and am strongly considering purchasing a C# book so I can learn the language before digging into Unity scripting. The last thing I’m wondering about is whether Unity3D can achieve a particular visual effect that’s gone by the wayside since the late 1990s: sprites in 3D environments, with player-defined camera rotation about the Y axis. Think “Final Fantasy Tactics” and “Xenogears,” the latter of which is briefly demonstrated below:


I haven’t seen this implemented quite yet, and the vast majority of discussion about 2D-on-3D deals with 2.5D presentation from what I’ve researched.

I just want to make sure there’s a theoretical solution for this before I commit to C# and Unity. I imagine each sprite object would have to be assigned a plane that always faces the camera, and the object script would have to load different sprite/animation frames after detecting player directional input and camera shifts. What I’m less sure about is preserving depth in the 3D space: the second and third characters in the lineup sometimes appearing in front of the leader, sometimes behind, depending on which way the environment is rotated from the viewer’s perspective. Will billboarding handle this, or would the solution be way more obscure than that?

Thanks in advance for any advice, opinions, and observations! As I say, I’m not prepared for scripting quite yet; just looking to see how hot or cold my layman’s suspicions are in theory.

The art style you’re talking about is totally doable. You may have to manually set up shader render queues if you need blending. If you are willing to go with hard, opaque edges, like old, pixellated games did, then sorting is easier. Billboarding is probably best done in the shader, because it eliminates the need for extra scripts and CPU work.