Graphics turn 3d animation into 2d sprite

sans17

Member
Hi, I want to know how I can make a 3d animation and turn it into a 2d sprite animation in GMS2. I want to do something like the final boss of Mario and Luigi, Superstar Saga (3ds version).

(This link will show you what I'm talking about at 4:00)


As you can see, the boss is a 3d model used as a 2d sprite. Is there any way to do that in GMS2?
 

kburkhart84

Firehammer Games
1. I see nothing that says for sure that this is a 3d model. It very well could have been created by 2d methods.

2. It looks like it is made up of multiple pieces, which can then be animated. Spine is one program for that. I think its the one Gamemaker directly supports as well, though the support is pretty lackluster from what I've seen. You still have to make the graphics though, but then the Spine software takes them and layers them into animations, which are typically bone based, instead of doing frame based animations like traditional sprites.

3. GMS2 easily allows you to draw multiple sprites per object, so you could easily roll your own version of this using traditional sprites, and then animating them yourself in code.

4. If I'm not mistaken, Spine also can export the animations into actual traditional sprites, although it can save you time, it does defeat the purpose somewhat.

5. If you are wanting to actually use 3d models and pre-render them into sprites, it can be done with basically any software that can render 3d models. Blender is a good starting point. You can do all steps of the 3d modeling workflow there, and that includes rendering. I in fact am doing this in my current project. I'm also rendering out normal maps so I can get real-time lights, even though it is just sprites in the end.

6. If you want to actually have 3d models in Gamemaker, render them into sprites, and then use the sprites....you could technically do this as well. But the 3d in Gamemaker is sorely lacking so you aren't likely to get good results without lots of effort. And by the time you get the 3d rendering part working well, you may as well just use that instead of turning it into a sprite. But yes, it technically can be done.

Bascially, I'm answering the question as I know. You weren't very specific in what you are doing, but at the least you provided the example so I'm taking a guess.
 
Once you have all your thing done in Blender or 3DS Max (or whatever you're using), there are exports options that automatically export png after you enter your values for the number of angles you set it to (ex: 4 or 8 directions).
Other way if you like to mess with cameras, is you render from the first camera angle you want, change the camera angle, render again, change the camera angle, etc...
The video just looks like regular 2d sprites, tho...Don't forget Nintendo has some amazing artists, they are not Regular-Joes, they can do pretty much anything they want.

2. It looks like it is made up of multiple pieces, which can then be animated. Spine is one program for that. I think its the one Gamemaker directly supports as well, though the support is pretty lackluster from what I've seen. You still have to make the graphics though, but then the Spine software takes them and layers them into animations, which are typically bone based, instead of doing frame based animations like traditional sprites.
That Spriter extension is still usable, and free. Personally, I like to export them, but it can work. Spine is expensive :confused:, and I'm so use to Spriter, so I can live without native support, but ohhhhhh how cool would that be to have it?!?
 
Last edited:

muki

Member
It's absolutely possible, I do it for my current project, but it has very little to do with GMS. As far as GMS is concerned, 3d prerendered sprites are handled just like pixel art sprites, hand-drawn sprites, etc. It's up to you to know how to model, animate and export everything to a spritesheet or sequence outside of GMS.

I've used both 3DS max and Blender to do this for two different projects/experiments. You don't need both.
 

kburkhart84

Firehammer Games
If you are wanting to render the actual 3d models in Gamemaker, you are going to need to use one of the existing model formats, such as OBJ, or FBX. Then, you are going to need to find/create code to import whatever format you choose. Then, you are going to need to find/create code to actually draw it. Basically, there is no direct support for 3d models in Gamemaker pretty much. You will need to find or code it yourself. An alternative to the above is if you made your own custom format, though the rest of the steps still apply, in addition to having to code python in Blender to export your custom format.

GMS2 is not meant for 3d. It can be done, and others have done plenty with it. That does mean that there are some resources around if you look around the forums.
 

muki

Member
I would not recommend importing models in GMS just to be able to render them into sprites to be used in a game. Unless you just want to do it for educational purposes, or have something incredibly specific in mind, I don't see a point.

But that's just me.

Far easier to render models in modeling software of your choosing (like blender) straight to PNG sprites. Then import PNGs.
 

Momoro

Member
I would not recommend importing models in GMS just to be able to render them into sprites to be used in a game. Unless you just want to do it for educational purposes, or have something incredibly specific in mind, I don't see a point.

But that's just me.

Far easier to render models in modeling software of your choosing (like blender) straight to PNG sprites. Then import PNGs.
Agreed :D
 

Padouk

Member
As you can see, the boss is a 3d model used as a 2d sprite. Is there any way to do that in GMS2?
Ahoy Mate!
This is more a Blender question than a GMS question to be honest... As pointed out earlier, most of the work will happen in the 3D tool rather than in GMS.
It's just a matter of using the right term here. Instead of "export" try using the word "render" when searching youtube, google or blender's forums.

ok but how do export models from blender to gms2?
--
Have a look at the first 3 minutes from
(you can forget everything pass the 3:30 mark, you don't need to build a spritesheet for gms, individual images are enough)

--
The short answer is.. you want to use "Render animation"
A) It's all about setting some "Eevee parameters" and using the "Render animation" option in Blender.
1611507422653.png

B) Then create a new sprite in GMS and import selecting all generated pngs.
1611509093493.png

--

The longer answer can get way too long for this forum post.
Things can get quite complicated depending on what you are trying to achieve.
Do you want to allow asset swap (exporting different fragments like head, chest, legs, arms to combine them back into something)
Do you want post processing (image touch up in Photoshop or image optimization in Spine after the rendering)
Do you want to render in multiple camera angle (4 or 8 directional?)
Answers will vary depending on your level of comfort with Blender, python scripts, GMS and the 2D/3D stack in general.
And community plugins are available in Blender to help you with that process
--
 
Top