Search Unity

How to create sprites?

Discussion in 'Formats & External Tools' started by Retruate, Jan 24, 2015.

  1. Retruate

    Retruate

    Joined:
    Jul 5, 2014
    Posts:
    111
    Hello,

    I need to create sprites for my 2D game.

    What is the best open-source software for creating sprites for a Unity 2D game?

    Thanks for your help in advance.

    John W
     
  2. Tiles

    Tiles

    Joined:
    Feb 5, 2010
    Posts:
    2,481
    There are two ways to create 2D game graphics.

    In the beginning of the games you painted your game graphics pixel by pixel. That's why it is called pixel art. Nowadays you usual don't paint your graphics pixel by pixel anymore, but like a real picture by using brushes and canvas. Krita is open source. There is Gimp too.

    The other way is to create your graphics in 3D, then render it to 2D. It is especially for animation much faster and ways more accurate than drawing it by hand. Blender is open source.

    No matter what method you use, be prepared for a few months of learning before you can produce something useful. And making graphics is art.
     
    BrandyStarbrite likes this.
  3. Retruate

    Retruate

    Joined:
    Jul 5, 2014
    Posts:
    111
    I am already using Blender for 3D games, how do I render my objects to 2D?

    Also, I checked out the Krita website. Which would you recommend for creating sprites, Krita, or GIMP (or Blender objects rendered to 2D)?

    Thanks so much for your help.
     
  4. Tiles

    Tiles

    Joined:
    Feb 5, 2010
    Posts:
    2,481
    I'm a 3D artist. It's more accurate. But it's your decision which way you need.

    I have never rendered animations from Blender. But there is this neat little Animation button in the render settings. So i guess that one renders animations. Just do a google search for a tutorial.
     
  5. kburkhart84

    kburkhart84

    Joined:
    Apr 28, 2012
    Posts:
    910
    Yup, the animation button renders out an animation. It uses whatever folder is set in the render tab, rendering whatever frames are set in the render tab. I've used it extensively in the past with OK results, not great, but certainly better than what I can sprite by hand. I recommend using catmull-rom AA at the lowest level. You can also use different types of materials, though I recommend deciding on a single one for all the graphics. If you are going for simple single color(though shaded) type graphics, then use no textures, and only use vertex colors. You can still use lighting though. You can choose toon shading if you want to, and you can use freestyle stroke rendering as well if you want edge outlines. But whatever you choose, make sure to choose it for all the graphics.

    The hard part for me is trying to combine 3d pre-rendered graphics with 2d tilesets. 3d pre-renders aren't usually good for tile based games so trying to mix the two doesn't usually work well.
     
  6. vidi

    vidi

    Joined:
    Oct 14, 2012
    Posts:
    175
    Whalepork likes this.
  7. Tiles

    Tiles

    Joined:
    Feb 5, 2010
    Posts:
    2,481
    Yes, vector art is also a way. There's also tools out there to animate 2D graphics with a bones system. Plastic Animation Paper for example.

    It usually works very well. You just need to know how ;)

    It's nearly ten years that i have created my last prerendered isometric graphics. But the trick is to create everything in 3D, use the same orthographic camera view and lighting setup, and a special base tile size to render out so that the graphics fits together. And don't rotate the camera when you render the sprites. Rotate the content, the characaters that you want to render as the sprites. Or you will get different lighting for your sprite in different angles.

    For classical front view games there's not this much to take into account. Every square tile will do the trick.

    The standard game isometric (not to mix with the mathematical isometric, its angle does not fit for game needs) camera angle is 30 degrees (or 60, dependand from which you look at) camera rotation, and a base tile with a ratio of 2:1. Games like Age of Empire uses 64x32 pixels from what i remember, in rhombus size. Means the outside of this rhombus shape is transparent. I have a Blender script at my page that rotates the camera in place for that with one mouse click. You just need to zoom in and out so that the rhombus tile in the center will fit. And choose the needed render size.

    http://www.reinerstilesets.de/anderes/blender-addons/create-isocam/

    There's also my stone old isotiles tutorial. Made many many years ago, with quite a bit less knowledge than nowadays. What's missing for example is the word orthographic. I speak about front view here since my software gave ortographic view in that view. So forgive me the quirks, odd look and that it is a zipped html. But the principles are still the same. So it might be useful for you too.

    Zipped html, 4 Mb. http://www.reinerstilesets.de/downloads/isotiletuteng.zip
     
    Last edited: Jan 25, 2015
  8. kburkhart84

    kburkhart84

    Joined:
    Apr 28, 2012
    Posts:
    910
    Yup, it is the side view, top view, and angled view that give me trouble. "Isometric" is actually relatively easy. I've been able to get things done OK, but you can't just pop some textures in and boom it works, rather you have to do things in certain ways.
     
  9. Tiles

    Tiles

    Joined:
    Feb 5, 2010
    Posts:
    2,481
    Never said it is easy at all. It is art :)

    I find it in fact much easier to do 3D game art than prerendered 2D game art. You don't have to care about certain things, and can throw in the 3D assets directly into the editor. And Unity is a 3D engine anyways. But it can be done. As told, one of the keys is the fitting tile size and the orthogonal camera setup.
     
    Last edited: Jan 26, 2015
  10. kburkhart84

    kburkhart84

    Joined:
    Apr 28, 2012
    Posts:
    910
    I agree, it isn't easy. You mention not caring about certain things by directly using the 3d assets, which is true. But by doing things with pre-renders, you get a different set of things that you can now not care about. These things vary depending on the actual art style, and the resolution of the renders you are doing as well.

    Example...for things that don't have to be seamless textures right at the square boundary, you can use Blender's procedural textures directly.(They are seamless as is, but not right at exactly 1024x1024 for example, rather at some other point). You can also use any features you want for the most part, like IK systems(which are currently limited in Unity, and not available in Unity Free). You can use as many polys as you want, so you wouldn't have to worry so much about poly count(though you would still want to control it, and make sure you have the amount you need for animations). You can also use any animation features you want. Newer Blender versions let you animate about everything, including material settings, colors, whatever, as well as blend shapes(actually curve control, not Unity scripting, which can do it). Material settings can also be used quite well, including all the different tricks you can do combining textures, displacement maps, etc... You can use things like the hair renderer, for hair, or grass. You can use the "arrays" to render copies easily. You can use all the modifiers and not have to apply most of them in order to render(though you would have to apply them for export to Unity). Last thing I will mention, depending on the art style, you may not even need to do a UV map for the models, being able to just paint vertex colors instead, or only use procedural textures(with or without UVs depending on the need).

    Many of those things can't easily be sent from Blender to Unity, but they can generally be rendered out just fine. The limitation at that though is the resolution of the render. Many things won't be visible, or would just create noise instead of what you are looking for when you go to the lower resolutions.
     
  11. Retruate

    Retruate

    Joined:
    Jul 5, 2014
    Posts:
    111
    Wow, thanks for all the help.

    I have tried Inkscape, but for some reason I don't remember, I uninstalled it.

    Since I am a somewhat beginner in importing assets to Unity, I'd like to start out with bitmap or vector art for my games.
    What is the best and most user friendly software (preferably open source) I can use to do this?

    Thanks so much for all your help, I'll look into rendering Blender objects to 2D once I get better at developing.
     
  12. Tiles

    Tiles

    Joined:
    Feb 5, 2010
    Posts:
    2,481
    Gimp, Inkscape and Blender are free and open source. But they are the exact opposite of easy and user friendly. The easier software costs money.
     
    Last edited: Jan 29, 2015
  13. Deon-Cadme

    Deon-Cadme

    Joined:
    Sep 10, 2013
    Posts:
    288
    @Retronomics - There are tons of ways to do what you want to do... you are already trying to jump from zero to an advanced art topic with no real experience with software you are gonna use so expect it to take a lot of time. You also got a lot to learn...

    Hmm... my best bet for you to eventually succeed is to head over to YouTube and search for tutorials on how to make animated sprites... that gives you a chance to see the processes talented people use, how they draw things, why they draw things in special ways, how they set it all up in Unity etc...

    So get your favorite cookies and prepare yourself for many hours of videos + own experimentation in the programs you pick in the end.
     
  14. ggra3000

    ggra3000

    Joined:
    Oct 15, 2018
    Posts:
    1
    borger.png I used piskel to make my sprite but I haven't found out how to implement it
     
  15. garlinghouse3

    garlinghouse3

    Joined:
    Jan 19, 2019
    Posts:
    1
    there's also medibang paint pro