How to turn a 3D character to a sprite for use in 2D

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By Sitting Duck

Hello Godot Community!

So here’s the use case. Your game is 2D. You made your character 3D because 2D animation is hard and you want to have a lot of fancy animations. Ok good, now that you have that, you gotta put it in the game. The thing is though, you don’t want to pre-render it and just use the sprites. Why? Well, there are a lot of reasons why but the most important one is that it limits flexibility.

So here’s your other option you came up with. Import your 3D character in Godot, render it with camera and use the result as the sprite in your 2D game.

Possible benefits:

  • real-time
  • less hassle having to sort through individual sprites
  • can more efficiently blend animations

The question: Is this solution possible and is it real-time? Or is there another way that still has these benefits?
If you can provide any documentation or helpful resources that would be greatly appreciated.

:bust_in_silhouette: Reply From: Wakatta

This is less of a Godot question and more of a Maya, 3dsMax or Blender question.
I literally Googled Blender 3D to 2D and got this with the added bonus of Godot being added

They’re asking to render the character to 2D inside Godot, not inside of a different software. So no pre-rendering - they want to do it in real time.

exuin | 2021-01-14 02:40

Ah I see, completely skimmed the pre-rendered part. Was wondering but in the tests i’ve done using 3D in 2D its very bad performance wise with multiple characters sprites are definately the way to go.

OP what you want todo is quite possible. Its easily achieved using viewports.

Wakatta | 2021-01-14 09:41

Thanks alot. I’ll look into that then.

Sitting Duck | 2021-01-15 15:15

There is actually a nice Demo in the asset-library to get you started

Wakatta | 2021-01-17 14:40

Rendering to texture is not suitable for real-time animation in most cases, as it is horrendously slow in both 2D and 3D. I suggest pre-rending your textures, and flipping through them. You’ll get orders of magnitude better performance.

stormreaver | 2021-04-10 15:55