3 Comments

Character animation

This has been a somewhat neglected area of mine until now. Every time I try to investigate some cost effective solution to get a nice set of figures and animations, I run into dead ends.

In previous screen shots of my game/engine, you’ll see a pregnant-looking woman in a bikini walking around. This was a leftover from some experiments with DAZ Studio more than a year ago. It was one model I managed to get working with a walking animation, so I kept it until now.

NiceKnowing

That’s the last you’ll see of her though.

What do I need?

The following things:

  • Reasonable cost (say ~1000$ for all the characters in the game)
  • Low poly count (more on how low later)
  • A decent set of animations I can apply to all or most characters
  • Ability to add bits of clothing and have it animate with the character (e.g. suit of armor, pants, etc..). “Paper doll”.
  • Ability to easily customize them at runtime to generate more varieties. At the very minimum, swapping colors. Ideally morph changes (changing from skinny to fat).
  • Characters of the right “style”. I don’t want silly anime-style ones, or modern-looking ones.

That’s a pretty tall order. I’ll go through the various avenues I’ve investigated so far.

DAZ Studio

DAZ Studio is mainly used for “posing” figures for static images or rendered animations. There is a huge variety of content available for DAZ – all sorts of clothing and accessories, and morphs for the base figures. The possibilities are huge and you can basically create any kind of character you want fairly easily.

However, these are extremely high-poly models (on the order of 100,000 polygons). They are not intended for real-time applications like games. A while back though, DAZ released some plugins and a licensing system that was geared towards game developers.

The plugins were:

  • A texture atlas tool that bakes all the characters textures into one atlas
  • A “decimator” that reduces poly count
  • An fbx exporter (this is a common 3d model format, and one of the formats supported natively by XNA).

Sounds great, but they haven’t really delivered. One of the main problems is that when you decimate a high poly-count character to a reasonable game-ready poly-count (say 5000-10000), the results are not good. With a lot of tweaking it can end up somewhat reasonable. But then apply some clothing, and suddenly parts of the body start poking out. You can adjust weights on different parts of the figure, so the relevant bits “decimate less”, but even doing that it is difficult to get a nice-looking character.

Daz decimator

Not looking too good there, Michael. Don't worry, it will be over soon with the impending crash.

The other reason is that DAZ software is just not reliable. I had problems with it before, and just recently I tried downloading version 4. Within minutes it crashed when using the decimator. 100% repro. A post on the support forum was met with a reply from someone saying “Oh yeah, I think the decimator doesn’t work with that particular base model”, but no reply from DAZ.

I tried another base model (which was very hard to find, navigating DAZ’s confusing UI), and managed to crash DAZ again in a few minutes. This time a different problem, and no longer 100% repro. This time, it offered offered up a dump file that I could submit with a bug report, and I did. I suspect the bug will be closed as no repro though.

DAZ really needs to step up its engineering efforts if it wants to be taken seriously as a content creation tool for games. Right now the feeling is that this is an unfinished piece of software. Using it is infuriating. They are pushing it as a game content creation tool, but it is completely broken in that respect. Poking around on the internet, my experiences are certainly not unique.

It’s too bad, as it is certainly full of potential. But I can’t bet on buggy tools.

Mixamo

Mixamo is a cool concept. It’s an online service that allows you to upload your own characters, or create one with their character creator. Then, you can apply animations to the character. This is all done from within a browser window, and you can preview everything live.

The first impression is very slick and inspires confidence. Their pricing model is rather confusing to figure out though. It looks like the characters are free, and the animation data is what you pay for. However, the animation data is officially tailored to the specific character (the same animations can be downloaded for other characters for a deep discount apparently).

One thing I certainly don’t want is separate animation data for each character. Animation data is huge, and would ideally apply to many characters, assuming they have the same bone structure and relative proportions. I was able to get the Mixamo animation for one character to work ok with another, but I’m not sure that’s guaranteed.

Mixamo motion editor

Mixamo motion editor.

The website’s UI is a bit confusing at times, and unfortunately there is very little sample content to download. There was only one character and one animation that could be downloaded for free to test with.

I got the free content working, but then there were a few small problems with the paid animation files I downloaded from Mixamo. The bvh file referring to bones that were not present in the model (they can safely be ignored, apparently), and the fbx file that container the character had one of the bones mislabeled as not being a bone. I’m not sure if this is a bug in the XNA fbx importer or not. The .dae version of the character loaded fine in Blender (Blender can’t import fbx unfortunately). Unfortunately, XNA mis-categorizes the bone in a portion of the pipeline I don’t have control over, so it will be difficult to fix this. Luckily, the bone is not particularly important.

So with that having been said, I was able to successfully get a Mixamo model into my game with a walking and idle animation.

Mixamo Chars

Where did that pregnant lady go?

However, relying on a Mixamo as a character creation tool isn’t really an option for me. Their characters are very geared towards “modern day” people. There’s nothing wrong with them (they’re very beautiful). But they would be much more at home in the Sims, or in Grand Theft Auto than in some “period piece”.

So that would leave me finding characters elsewhere and using Mixamo only for animations. I’m not sure how compelling it is just for that.

Other options

Something like this seems pretty interesting:

http://www.turbosquid.com/3d-models/kit-unlimited-characters-3d-max/625237?referral=tucho

265$ for an entire set of mix-n-match fantasy characters with plenty of animations. These are very low poly, on the order of 500 polygons apiece. They look dated (in terms of technology, because of the low poly-count), but I think they might be just right for the size I will be rendering characters at.

TurboSquidChars

Very low-poly characters

The Mixamo character I’m using now is around 7000 polys. Even rendering 10 of these results in a significant performance impact. Characters will be small enough in my game that I think I could get away with 500 poly-count models, which would significantly alleviate perf issues.

The very notable thing missing from this set is women. I plan to have a roughly equal number of male and female characters. It’s possible I could morph the character into a more feminine shape in Blender, I’m not sure. The only free samples of this type of character are in .max format, which I’m not able to use (unless I pay $3500 for 3ds max).

The other alternative is to pay someone to create the characters/animations. I’m pretty sure that would end up being very expensive, but I haven’t really looked into it yet.

Does anyone have any tips/suggestions on how to accomplish what I need?

Advertisements

3 comments on “Character animation

  1. […] accordance with my last post, I’ll talk about the animation system I’ve currently […]

  2. If you can work out the armature from the 500 poly model set that you are proposing to use you could then use Blender to create a female model that matches without needing to be able to read the .max files. You could read the FBX versions with XNA and display the bones fairly easily.

    Like you I also have only one set of animations shared by all the similar shaped models in the game.

    Once you have one model that works with the animations you can easily use Blender to create others.

    Regards

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Just another WordPress site

Just another WordPress.com site

The Space Quest Historian

Adventure game blogs, Let's Plays, live streams, and more

Harebrained Schemes

Developer's blog for IceFall Games

kosmonaut's blog

3d GFX and more

Halogenica

Turn up the rez!

bitsquid: development blog

Developer's blog for IceFall Games

Game Development by Sean

Developer's blog for IceFall Games

Lost Garden

Developer's blog for IceFall Games

Memories

Developer's blog for IceFall Games

Casey's Blog

Developer's blog for IceFall Games

Blog

Developer's blog for IceFall Games

Rendering Evolution

Developer's blog for IceFall Games

Simon schreibt.

Developer's blog for IceFall Games

Dev & Techno-phage

Do Computers Dream of Electric Developper?

- Woolfe -

Developer's blog for IceFall Games

Fabio Ferrara

Game Developer

Clone of Duty: Stonehenge

First Person Shooter coming soon to the XBOX 360

Low Tide Productions

Games and other artsy stuff...

BadCorporateLogo

Just another WordPress.com site

Sipty's Writing

Take a look inside the mind of a game developer.

%d bloggers like this: