Universal Character System in SAINTS ROW 2

Is this paper available for download anywhere?

The power point and videos are on the GDC vault.
http://mygdc.gdconf.com/vault/1337

Direct Links:
http://cmpmedia.vo.llnwd.net/o1/vault/gdc09/slides/POLO_Shorter[HD].wmv
http://cmpmedia.vo.llnwd.net/o1/vault/gdc09/slides/Fortier_Universal%20Saints%20Row%202.ppt
http://cmpmedia.vo.llnwd.net/o1/vault/gdc09/slides/BODYMorphing[HD].wmv

I blogged about this presentation here: http://tech-artists.org/blog/?p=25

It was quite a good one in terms of content.

We have a Volition GDC Archive, but we haven’t updated it with this year’s talks. I’ll get that done in the next day or two.

Sorry for the late entrance into this thread, but if anyone has any questions about it, I can answer them fairly easily as I was heavily involved in the pipeline design and implementation.

Are you doing dynamic mesh culling for overlapping garments?

We do have a system in place for hiding certain parts of a mesh based on what layer it is on (shirt, overshirt, coat, etc) compared to what layers are being worn. The artists had to manage this data per clothing item, though, so it wasn’t procedural or auto-generated based on proximity.

[QUOTE=anim8d;3302]Sorry for the late entrance into this thread, but if anyone has any questions about it, I can answer them fairly easily as I was heavily involved in the pipeline design and implementation.[/QUOTE]

Thanks for sharing, i actually have a list of questions as this is something we’re investigating heavily for future titles (Halo MMO confirmed!! No no just kidding:p:)

Since we’ve never done this before, a general process explanation would be great, mainly how do you author and manage content?

How do you determine which regions of body parts to scale and size?

How do skeletons work with different body types? Does the animations get shared throughout?

Organization, how do you organize a complex matrix like this and keep it sane?

Pre-sets versus total freeform, why one way or the other? Just subjective aesthetic decision?

Map blending, is it based on body regions and just linearly blended between the two?

Thanks again, this is good stuff…

Hey guys, thanks for the presentation and videos, cool stuff!

My main questions would definitely be about the organisation. I can see how you do pretty much all of that stuff in terms of art and workflow, but I can’t really imagine how you manage that whole system… for example you must have locked down the “segments” (the VID system?) pretty early, because surely changing that after any decent number of assets were made would be a nightmare, right?
Any pitfalls you encountered when trying to manage all this stuff, or did you implement any nice workarounds for some stuff?

I’ll try to point to slides in the GDC presentation where I can with my followups below.

[QUOTE=djTomServo;3335]
How do you determine which regions of body parts to scale and size?
[/QUOTE]

Our body customization was not done based on region, but was instead full body (fat, muscle, age, gender)- slides 12 and 13 show what these looked like. For our face customization, we had multiple regions of the face (eyes, ears, nose, brow, etc) with multiple morph targets for each to allow the user to tweak to their heart’s content- slides 18 and 19 detail the specifics there. All of the customization was done via morph targets.

[QUOTE=djTomServo;3335]
How do skeletons work with different body types? Does the animations get shared throughout?
[/QUOTE]

We only used one skeleton for every single character in game. Not ideal, but it was the best option we had with the time we had to implement it. It did cause us to have to make our animations very generic, which hurt the animation director in me, but was a whole lot easier to manage, which made the tech. animator in me happy.

[QUOTE=djTomServo;3335]
Organization, how do you organize a complex matrix like this and keep it sane?
[/QUOTE]

Managing all the content was done via spreadsheets and directory structure. We had hundreds of components, so we categorized them based on body region (face, hands, feet, etc) and layers (undershirt, overshirt, coat, etc).

The character artists also followed templates for building their assets so the auto-rigging process would work properly (see slide 26)

[QUOTE=djTomServo;3335]
Pre-sets versus total freeform, why one way or the other? Just subjective aesthetic decision?
[/QUOTE]

Our method of freeform gave the end user a LOT of possibilities, and we’ve received positive reviews based on that. For player customization, freeform worked well for us.

We used the same system to create NPCs, which was great from a rigging standpoint because the automated rigging process was used to rig their components, and an artist or designer could then go in and create any NPC they needed based on the library of components we had (see slides 20-26 and 36-43. slide 25 shows a good cross-section of our layers).

Pre-sets definitely give you more control over the silhouette of a character, as well as allow you to potentially make different decisions, such as multiple skeletons.

[QUOTE=djTomServo;3335]
Map blending, is it based on body regions and just linearly blended between the two?
[/QUOTE]

The normal map blending was done based on the values of the body morph targets being applied, modified by a curve per target type (slide #16 in the presentation shows these).

Overall, the big win for me personally was that I did not have to hand-weight 1500 components. The system was automated, and at the end of the dev cycle i just needed to spend a couple of weeks (With the help of some others) to tweak maybe 30% of the assets by hand. As one would imagine, a majority of the tweaks were in the shoulder and crotch regions.

I hope this helps and wasn’t too generic!

[QUOTE=MoP;3339]Hey guys, thanks for the presentation and videos, cool stuff!

My main questions would definitely be about the organisation. I can see how you do pretty much all of that stuff in terms of art and workflow, but I can’t really imagine how you manage that whole system… for example you must have locked down the “segments” (the VID system?) pretty early, because surely changing that after any decent number of assets were made would be a nightmare, right?
Any pitfalls you encountered when trying to manage all this stuff, or did you implement any nice workarounds for some stuff?[/QUOTE]

You are correct- we had to have the VIDs in place very early. Although, we did run into a snag at one point that forced us to re-order the VIDs and even reduce some. Our system allowed us to use Maxscript to hunt down the VIDs that needed changing and convert them when they were auto-rigged.

Overall, making changes anywhere in the pipeline was painless* until it hit animation. That’s where making proportion changes or rig changes became an issue that we had to brute force our way though.

*painless meaning that the character lead and myself could come up with a course of action and generally write a script to handle the changes. Time consuming, but we kept it as batchable as possible.

Yeah, I figured there must be at least some element of brute-force batch processing / script going on at least once or twice with a system like that… thanks for the reply :slight_smile:

[QUOTE=anim8d;3347]
I hope this helps and wasn’t too generic![/QUOTE]

Nah, this is all Great stuff, again thanks for sharing! I’m sure i’ll have more questions as we creep further along :):