Transforming 3D game to 2D - Sprites / Animation

Hey guys,

I made a 3D prototype that turned into more than a prototype. I have basic textured cubes for the ground and basic textured cubes for the characters. The original plan was to make everything 3D but I recently made a contact who is amazing at 2D art, so I wanted to go with a 2D style instead.

I made a bunch of levels and set up almost all of the scripts, and the only thing that remains is the art lol. I went a little overboard here, so please forgive me.

I am using an orthographic camera currently, and I have one main question with one sub-question.

1 - Will I face any serious challenges if I delete the mesh renderers and use sprites instead?
2 - How does one scale down a sprite to fit the bounds of a GameObject?

  1. I know this isn’t the answer you want, but there isn’t an easy answer for this question. No one will know this. Others don’t have access to the inner workings of your project (nor would give the time to learn all of it) and even if they did know it inside and out they still might not be able to identify future problems. Most people just deal with problems they didn’t foresee as they come. “Problems” is what game programming (and to a lesser extent gamedev as a whole) is all about. Creating software is mostly problem solving. You have a “problem” and have to find a solution. Experienced programmers may be more likely to foresee problems, but only in theory- not always in practice.

In the context of “serious challenges” anyway. There will probably be easy problems to fix or code to change, but I’m not sure about the quirks of changing them. Although with Puppet2D I convert Sprites to Meshes and it works without any issue.

  1. Adjust the Transform Scale?

Unless I’m mistaken, GameObjects themselves don’t have bounds. They have a single Vector3 transform and that’s it.

You have to add a Physics object (ex. Physics2D Box Collider) which has bounds. Then it’s as simple as calling whatever the .GetBounds methods are to match the Renderer’s Bounds with the Collider’s Bounds.

You’d want to look in the documentation for that stuff. Any mention of “Bounds” in the script reference is a good start.