Sprite Synergy

Hello community!

Recently I worked on a method to create sprites/sprite sheets out of animated 3D models. I found 2d animation too time consuming and unflexible, where 3d animation has the advantage to only rely on a rig and a mesh, where I could extract countless new animations from.

So I set out to extend the functionality of my little tool, which slowly grew to a formidable blueprint tool.

I wanted to make it a blueprint only tool to ensure future compatibility and an easier access to newer users. That’s why I also have extensive comments and tooltips on variables and the event graph.

If you are interested in this tool appearing on the marketplace, please go to this topic: https://forums.unrealengine.com/unre…sprite-synergy

Here is a little video:

https://youtube.com/watch?v=I5kOjItBbuc

Here is a screencap of the pre-alpha tool design, a sprite sheet and the event graph.

Tool preview (if the interest is big enough, I will also replace the default UI elements):

Sprite sheet:

Event Graph:

So, here are the facts:

Description:

This tool enables you to generate a sprite sheet with specific parameters based on 3D meshes of various sorts. It is a cross interaction between Unreal Editor 4 functionality and runtime functionality to get the best of both worlds. This tool is entirely blueprint driven, which doesn’t need any other prerequisites and is meant to be a plug and play blueprint. The tool is designed to help people, who either don’t have the skills required in 2D animation or dislike the process of creating tedious and time consuming 2D animations. With this tool, 3D artists can finally create sprites from their beloved 3D objects and start venturing into the sprite world.

Already built in and working:

  • Creation of a sprite sheet based on a skeletal mesh
  • Ability to pre-load animations inside the UE4 editor and select/change them at runtime (ONLY FOR SKELETAL MESHES)
  • Change the size of the skeletal mesh or actor to suit your needs
  • Snapshot delay to specify the time for each sprite shot to lessen performance impact (ONLY FOR SKELETAL MESHES) (Will be available for the actor option later)
  • Creation of a sprite sheet based on an actor blueprint
  • Snapshot sound for sprites (Can be disabled)
  • Setting the overall resolution of the sprite sheet
  • Setting the resolution of the individual sprites
  • Setting the number of sprites on the X and Y axis (Rows and Columns)
  • Pixel precise masking feature to generate an opacity mask for the output sprite sheet
  • Chroma key color for sprite sheet output (if you don’t want to use the masking feature)
  • Runtime preview of sprite sheet after completion of the process
  • Camera Controls to pan and orbit around the object in question
  • Camera parameters for rotation speed, pan speed and zoom speed
  • Ability to change the camera to perspective views (Side views, front view, top view, bottom view etc.)
  • Export path, which can be specified by the user
  • Custom filename
  • Throughoutly commented blueprint sections and variables

Features to be added:

  • Full resolution shot option (doesn’t plot the sprites on a sprite sheet, but exports them as invididual sprites)
  • Particle system spriting
  • Static mesh spriting
  • Replace default UI elements with custom textures
  • maybe more

And of course video tutorials, how to use the tool.

Limitations:

  • The only available format is .hdr (This is because a render target only can be exported as .hdr). Changing this would mean introducing C++ into the project, which I didn’t want to do. This tool was designed to be only blueprint based, so the tool doesn’t need to rely on prerequisites or other requirements. A blueprint based approach also heightens the chances of compatibility for future versions. It should however not be a problem, because there are a lot of free converters out there, which can convert it into a readable format, if your image editing program doesn’t want to open it. Photoshop can open .hdr files natively.

  • Some time frames need to be specified manually. For example the particle system’s duration can’t be retrieved by a blueprint, so you need to specify it yourself. Also the actor animation time needs to be inputted manually, because the tool can’t predict, what types of components you will add to your actor blueprint. All actors components must have the same animation length, so the tool works optimally, especially in terms of looping animations.

  • HDR capturing seems to have a big problem with glowing objects and don’t want to display them correctly in the output. However LDR can capture glowing objects. LDR capturing is activated on default. Just note when changing from LDR to HDR, glow will not be visible on the output sprite sheet.