Home Technical Talk

Workflow Improvements for unique objects ?

polycounter lvl 13
Offline / Send Message
BradleyWascher polycounter lvl 13
I'm trying to figure out how other artists handle lets say just a simple prop or object that has its own unique unwrap. 

1. High poly model
2. Low poly model 
3. Unwrap and Pack UVs
4. Mirror symmetrical model details 
5. Combine symmetrical meshes into single object 
6. Unwrap symmetrical UVs that meet on an obvious seam line to new uv islands 
7. Clean up and repack UVs as needed from previous step
8. offset symmetrical overlapping UVs out of 0 to 1 (for baking)
9. Name LP models _low
10. Name HP models _high 
11. Run hard edge detect script for uv islands to set proper hard edges 
12. Export LP fbx with multiple named meshes (for baking in substance) 
13. Export HP fbx with multiple named meshes (for baking in substance)
14. Create textures in substance 
15. Return to Maya and merge all named _low meshes into single mesh object or minimum mesh number needed for in game use 
16. Name that new mesh with final game name 
17. Export final fbx to game engine 
18. Export Textures from Substance to game engine 


The issue that I'm facing is in making edits, changes, or updates to a mesh after its in game. Mostly with having to go back and repeat steps 3 through 18 every time anything changes to the model. Is there something I'm missing. Is there a better way to manage your asset so its easier to edit and adjust. Or any time saving script you use. There might not be a better way but I'm always up for ideas. Thanks! 

Replies

  • Linko
    Options
    Offline / Send Message
    Linko polycounter lvl 7
    Hi. We have made a free script for Blender that automates all those steps, even the step 2 if the asset is static and the edge loops don't matter. It doesn't work well with assets with too many small parts. And we have partially automated the step 1 with procedural surface details. For the texture we have automated the texture creation based on the stylized workflow, it applies analogous gradient colors on ID maps (defined by Diffuse colors).


    I am currently working on a much faster workflow, in one click it will take the high poly and send a game asset to the game engine. The compositing and ID maps will be replaced by an uber shader on the high poly, that you edit with sliders to generate your final albedo with real time preview. Then you choose the LoD0 polycount, the other LoDs will be automatically calculated (LoD1: 50% polycount, LoD2: 25%, LoD3: 12.5%). It will unwrap and bake two textures: the albedo and normal map, then it sends the meshes and textures directly into the game folder you have specified, in the format you have entered with the possibility to have the textures in a different folder. It should take less than a minute, you will be able to update your HP, you click on generate and will alt + tab to your game engine and it will be updated.
  • sprunghunt
    Options
    Offline / Send Message
    sprunghunt polycounter
    listing those steps makes it sound like a lot. But things like 'offsetting UV's out of 0 to 1' is a single keystroke. 

    And when you make changes to your model you shouldn't be making changes that are so huge that you have to completely re-pack and re-UV the model. You just change only what needs to be changed.  If you're making huge changes by the time you've got to your texturing stage it's a sign you didn't think about the model enough when you were making the hipoly. 
  • poopipe
    Options
    Offline / Send Message
    poopipe grand marshal polycounter

    You missed the very first step which is to block the model out, get it in game and answer all the big questions before you piss days away on making it properly.


  • zachagreg
    Options
    Offline / Send Message
    zachagreg ngon master
    Yea I'm going to have to agree with poopipe on this one. Why are you editing UVs and textures a lot? UV's and textures are some of the last things that should be done when making an asset. I mean doing a quick auto unwrap and smacking some block in textures is fine for most of testing phases and to get the feel of an asset or level in engine. Sometimes it is necessary to go and completely change a mesh but I feel like you're going 1-100 on an asset each time you put it in engine which is not the way to go.

    Steps 1-11 should be 3 steps. High poly, low poly, and UVs. Naming things does not deserve a step in and of itself, that is an organizational thing that should be in the habit of making your high and low polys. All the other stuff is UVs. Number 11 seems to be going backwards too. Define your hard edges on your lowpoly then unwrap by those, the other way around seems muddy to me but that may just be a personal thing. 

    12-13 is just the game exporter or batch exporter, it's a button press.

    The reality of it comes down to a couple of things. I think listing pipeline out like this makes it seem more complicated than it is. There are some workflow things that can be fixed but there is not a reliable one step solution, this is why we are game artists. Most importantly though I have to reiterate is to have those large questions answered in the blockout and testing phase so that large changes like this don't happen. Sometimes they do though and that's just the reality of it but I can't think of a situation where I would need to completely change all of my UVs and redo my textures, at that point I feel like it's just a different asset that was needed.

    Oh why are you going back into Maya to merge meshes together? I'm curious about this as this may be something I'm not aware of but I've always either used UDIMs for multiple textures on a large object or I've made use of color ID or mat ID maps inside substance painter/designer. Making use of the bake by mesh name for baking the individual pieces. Very rarely have I needed to go into painter with completely separate pieces then merge them later.
  • sacboi
    Options
    Offline / Send Message
    sacboi high dynamic range
    Yes I'd agree, validating the target object early on via a given low res blockout cage is essential especially if the intent is to implement a none destructive workflow.
Sign In or Register to comment.