Search Unity

  1. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

2d Graphics Best Practices?

Discussion in 'General Discussion' started by DavidB, Mar 18, 2011.

  1. DavidB

    DavidB

    Joined:
    Dec 13, 2009
    Posts:
    530
    Hello everyone,

    Sorry to spam threads down, but I've been searching for information on this topic for a while. I've turned up nothing of use... which means I'm likely not sure of the correct terms to be searching.

    A recent thread by ImaginaryHuman (regarding his 2d systems he wants to develop) got me wondering what the best practices for 2d art generation are now-adays. I'm aware of the Layered sprite and synched animation method.... but I know this method is quite old (UO uses it ..... and the amount of art assets to add anything to the game are quite staggering).

    Does anyone know if current generation technology has made 2d assets easier to produce/maintain? Also is Unity capable of rendering vector graphics? Or must it be faked in some manner?

    Sorry for the noob-ish questions, I'm more of a programmer by nature.... I'd like to start doing some research into the graphical side of game-dev.

    Thanks!
     
  2. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    Hi there. Unity by default cannot render vector graphics of any kind except for a triangle. However you can construct other shapes from triangles procedurally or via an imported mesh. After all, eventually everything has to end up as triangles to be renderable by modern graphics hardware, vectors included.

    One of the things that really helps to speed up 2D graphics I think is vector graphics - they're very adjustable and tweakable to get them just the way you like, you don't have to fill in all the pixels by hand and anyone with half a sense of color and layout can put together a decent looking scene, or even better use a conversion tool to convert some bitmaps to vectors.

    Beyond that, ever since monitor resolution kept skyrocketing past 640x480 the creation of 2D hand-drawn graphics has been seriously challenged. You just can't spend anywhere from 5 to 20 times as long hand-pixelling art for a high resolution display, one pixel at a time. Many of the old techniques for bitmap creation need so much more time in high resolution screens. I think that might be why many games still opt for low resolution displays (relatively speaking, because 320x200 used to be the norm when bitmap graphics were at a high).

    Partly that's why people have tried to turn to other solutions for getting the computer to do more of the work, like having someone paint the graphics with traditional media and scan them in, or go with a graphics style that is largely procedurally generated like glowing lines or flat-shaded polygons. I haven't really seen many high resolution/HD 2D games for some while, unless they've had significant production time behind them. If you are going to hand-create them you need a bunch of good artists. Otherwise you have to consider more modern methods.
     
  3. DavidB

    DavidB

    Joined:
    Dec 13, 2009
    Posts:
    530
    Interesting.... and just to clarify: By "more modern methods" you mean 3d? Is this why you are attempting to use vector graphics in Unity?.... your system would perhaps handle these files and render them properly (dealing with filling in the details as size changes)?
     
  4. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    Vectorgraphics is just one way because they're scalable and can retain quality at any resolution. Another way perhaps is to generate textures procedurally based on the resolution, at runtime. Another way I forgot to mention is using 3D rendering software to create animation frames for 2D because then likely they'll look fairly good (sometimes) and you can do much higher resolution at no extra cost.