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.
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 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.
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 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.
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.
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.
Something like this seems pretty interesting:
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.
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?