PDA

View Full Version : Production Workflow - Texturing Or Rigging First?


ian27
12-03-2007, 12:18 AM
Hey guys,

This is probably a simple question for most of you guys, but it is one that has been puzzling me. At work I have had to create my first 3D animated character. The modelling of the character is almost complete and I have some experience of rigging, animating, and texturing in Maya - but my question is, once the model is complete, which steps would you guys suggest I take next - should I texture the character, or go straight to rigging the character and texture it later on in the workflow?

Here is my personal anticipated workflow:

a. Modelling
b. Texturing
c. Rigging
d. Animating
e. Rendering
f. Compositing

Or is a better to use the following workflow?

a. Modelling
b. Rigging
c. Animating
d. Texturing
e. Rendering
f. Compositing

Any help or advice on this topic would be greatly appreciated. Thank you.

Ian

doodlyD
12-03-2007, 01:02 AM
i think in one man prodution or any other, first you must develop your character in any possible way
texturing is important way too

you can create general texture to your character first ,sometimes it might help you to develop more personal rig setup

also sometimes you might want to animate in texture mode ,so you can feel you character a bit more

so in general texturing goes before rigging and animation ,but you can modify it in anytime

Cronholio
12-03-2007, 01:06 AM
In most studios rigging and surfacing are concurrent, it doesn't matter.

Bounce
12-03-2007, 01:08 AM
I think it all depends on how high end your going and if you have a team working with you. But if it's a one man show (which it sounds like) I would recommend your first suggested workflow.

I find it easier to texture after I model, I feel they go hand in hand, that way I can focus on creating a suitable rig and continue to tweak it while Im animating. (again, to me, these two go hand in hand).

It depends on what you find is a good workflow for you.
As long as it gets done, I dont think it matters what way you do it (as long as a team isn't waiting on particualr elements from you)

Bonedaddy
12-03-2007, 02:24 AM
In normal productions, modeling, texturing, and rigging can all occur pretty well simultaneously, and are tied together with skinning, then kicked off to the animators. Honestly, the animators can work off of a bare-bones rig as well, before they get a model.

Given you're a one-man show, though, I'd recommend modeling->texturing->rigging. Reason being, modeling and texturing are very closely intertwined, and some details you may want to model, some you may want to texture. It's a bit of a back-and-forth to figure out which is which, sometimes.

Kanga
12-03-2007, 11:22 AM
....I'd recommend modeling->texturing->rigging. Reason being, modeling and texturing are very closely intertwined, and some details you may want to model, some you may want to texture. It's a bit of a back-and-forth to figure out which is which, sometimes.

Thats the best reason so far. Depending on the end use you may be using displacement or bump mapping, normal mapping which is the blurred line between modelling and texturing.

Ollarin
12-03-2007, 12:13 PM
Also, most of the time the weight maps for rigging are stored based on UV's. So you'd save yourself some trouble by doing texturing before.

twedzel
12-03-2007, 05:51 PM
It really doesn't matter too much. But as a one man show I prefer to model up to a decent level and then rig a base mesh and then continue to texture. If you texture before you rig, then it could be a pain in the ass if you need to retopologize if your surface flow doesn't give you what you need for rigging. However workflows these days are pretty forgiving and mostly it comes down to your personal preference.

mdee
12-03-2007, 05:52 PM
Concurrent.

If you lack the tools or/and just one man band, I'd do rough rigging first (because you might need to add/change) some geometry, texture/UV, final rig.

ian27
12-04-2007, 06:12 AM
Thank you for your replies everybody, it is much appreciated and your information has given me a lot to think about...

Cronholio
12-04-2007, 11:29 AM
Also, most of the time the weight maps for rigging are stored based on UV's. So you'd save yourself some trouble by doing texturing before.

"Most of the time" is not any studio I have ever worked at. Weights are a surface point attribute, UVs are a face vertex attribute 95% of the time. There's no good reason to tie one to the other and many reasons not to.

switchblade327
12-04-2007, 11:41 AM
Concurrent.

If you lack the tools or/and just one man band, I'd do rough rigging first (because you might need to add/change) some geometry, texture/UV, final rig.

That's how I'd do it too. I only want to unwrap once.

Bonedaddy
12-04-2007, 02:37 PM
"Most of the time" is not any studio I have ever worked at. Weights are a surface point attribute, UVs are a face vertex attribute 95% of the time. There's no good reason to tie one to the other and many reasons not to.

Yes, but being able to put it onto UVs for export/import is very useful.

Cronholio
12-04-2007, 03:20 PM
Yes, but being able to put it onto UVs for export/import is very useful.

How do you mean? When you say UVs are you talking about a complete model definition containing a set a of UVs? Skin Weights and UVs are separate attrs. The place I am working at now is using a system where the two actually never meet in the pipeline.

Model is built.
Model goes to rigging and surfacing simultaneously.
Rigging creates weights, they have the ability to import/export and transfer weights as the model is updated.
Surfacing adds UVs to a separate version of the model, prim groups, shading info, miscellaneous attrs also added. Surfacing has the ability to transfer all the attrs for model updates regardless of topology.
Rig goes to animation with no surfacing info (the model can be swapped for one with surfacing info, but it's not necessary).
Animation outputs an animation cache, weights no longer mean anything.
CFX/Finaling produces the final animation cache and fur, possibly modifies attributes and shader info on the rest pose.
Asset containing rest model with surfacing info and animated cache is built on the fly for lighting and at render time.

The UVs and weights never meet. The UVs are a deliverable as part of the entire rest model to many departments down the pipe, but weights are disposable after animation is complete. Rigging and animation really don't need to know anyhting about surfacing info, they just need a model a rig and set of weights. I know some animators would argue this because they like to see a textured model in their viewport, but it's really not necessity. The UVs and weights are created in separate processes, in completely different pieces of software.

ThE_JacO
12-04-2007, 03:23 PM
"Most of the time" is not any studio I have ever worked at. Weights are a surface point attribute, UVs are a face vertex attribute 95% of the time. There's no good reason to tie one to the other and many reasons not to.

Most of the time might be incorrect, but your summary of weights is just as incorrect.
While the attirbute itself is a vertex attribute, it's not uncommon, especially in decent pipeline with a moderate to good support of data granularity, to store weightmaps as vertices indexed tables, in UVspace, and more recently as spatial data too.

Storing a map in UVspace and/or some form of spatially mappable cloud is how, when the geometry granule fails the checksum check for the vertices, weights will be rempped.

Storing and dealing with weights solely in a tabled way is a surefire way of making revisions of geometry painful, and automation of asset management and tracking a nightmare.

As for the initial question, texturing and rigging are usually parallel and brought onward together, as one is needed to keep the shading process flowing, the other to move on with animation work. Most of the work on both (easily over 90%) can be concurrent, and is inter-independent.

arctor
12-04-2007, 03:55 PM
I'd go with model > rough rig > texture > fine rig

the rigging process can reveal things about the texturing that may need to be changed...

as for how weight attributes are stored...not all applications use vertex attributes...
where I work UVs and weights have nothing to do with each other (thankfully).

Cronholio
12-04-2007, 03:57 PM
True, however I've never worked that way. It's possible to store the vertex weights in a table in a "decent pipeline". The table maps to positions in 3D space; using a barycentric interpolation function you can remap the weights spatially by weighted proximity to a revised piece of geometry. No nightmares revising geometry or managing assets. The nice thing is that if you have a tool that does this you can treat all attributes the same, no storing specific attributes in a separate possibly bloated format, and the tool will transfer any attribute on any subobject primitive regardless of type.

ThE_JacO
12-04-2007, 04:01 PM
The use of a tool to transfer attributes requires a person to use it or validate the use of it (most of the time), and internally it will need to convert data to a different space anyway.
Embedding alternative formats of data in a granule and having checksums and comparisons along the pipe allows for these things to be automated much more efficiently.

Data redundancy can be expensive in many regards, but it never is for simple data sets like weightmaps, which tend to be microscopical even on absurdly detailed models.

Regardless of how useful they might or might not be, the point remains that saving weightmaps in UVspace, along with their tabled format, is a very common practice in many solid pipelines :) you simply never happened across it.

MDuffy
12-04-2007, 06:51 PM
Like Cronholio, I haven't run across any pipelines that use textures and UV space to store bone weighting data. Generally in the pipelines I've worked with, rigging and texturing occur simultaneously, so UVs are generally not available during the rigging process. Rigging on assets needs to be complete before animation begins, but texturing doesn't have to be completed until lighting begins, so generally I see cases where texturing lags behind rigging by quite a lot. Also, by storing weights in UV space, if your UVs on your model change then that will damage your weight mapping.

On the productions I've worked on, modeling changes shouldn't just be handled silently in the background by an automated process. Any changes in modeling should only be done explicitly by the modeling department as a retake, and that needs to generate retake tasks for the rigging, texturing, simulation (if needed), and character finaling (hair, fur, attached fx) departments. If you need to transfer the old weights from the previous model to the new model, then the rigging TD will explicitly run them, and then do any cleanup necessary since automated retargeting processes can't make judgement calls and need to be signed-off on by a capable human anyways.

Also, once a modeling change has been made, you must track down all the shots that use that model, and regenerate any point caches if needed (if you are caching deforming geo after animation and only passing caches on to lighting instead of the full rig). And any changes to point caches need to be managed according to where the shots are in the lighting pipeline (since any changes to point caches or animation will invalidate any rendered passes, and those passes may or may not need to be re-rendered according to delivery dates and render farm resources.) So finding the affected shots should be an autoamated process, but applying the changes needs to be a human decision.

Personally on Maya I use Michael Comet's saveSkinWeights tool (or sometimes our internal tool) when I'm transfering weights from one model to another. Points are saved out in world space, and can be reloaded in world or local model space (or indexed if your geo topology isn't changing). Maya's built-in skin weight transfer tool uses UV space and texture maps to save and restore weighting, but I've found that process to be very disk-space intensive and overall slow, especially when dealing with rigs that have 100+ bones in them.

I'm always open to learning new approaches, and I'm interested in hearing why some productions find uv-space weight saving/storing/transfering to be useful. But in the end, I've never used UV-space based weighting in any of the productions I've been on.

Cheers,
Michael Duffy

twedzel
12-04-2007, 06:55 PM
ummm... a lot of technical stuff being bantered around for questions related to a one man show. In the past I would usually throw an automatic universal unwrap on the mesh I will rig. It just expands your options later if you need to problem solve. Skin weights can then be exported out via texture maps or transfered via verts. Then you have your options if the computer decides to be a son of bitch with whatever you are trying to do. Then of course I would use different UV's on the mesh I will render.

These days if I have the time and am feeling confident with the mesh, I just rip out clean non-overlapping UVs from the get go and use them. But I've gotten pretty fast with the UV's these days so its not such a big deal if some part needs redoing. Even saying this I will often change up the UV's for a final mesh if I need more detail in areas than a single map will allow. So often I will still be rendering out with a seperate mesh based on the UV's I ripped earlier.

MDuffy
12-04-2007, 07:01 PM
posting problems... double post

MDuffy
12-04-2007, 07:10 PM
posting problems... triple post

MDuffy
12-04-2007, 07:27 PM
posting problems... aww hell.....

CGTalk Moderation
12-04-2007, 07:27 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.