Home Technical Talk

Art steps you hate in your Pipeline.

polycounter lvl 3
Offline / Send Message
kgg_x polycounter lvl 3
Hey Artists,
I'm interested what do you don't like in your asset pipeline and wish to made easier or be replaced by a automated system or tool.
So hit me up with your hate. ;)

Why tho?
I wanna make some pipeline tools for my portfolio and would share them with you. (Houdini HDA's/HIP's only)

Noted Ideas:
  • Better Auto-UV Seams
  • 3D Mesh Wear Generator
  • Polyreducer based on Topology / Recover Topology

Best wishes,
kggx

Replies

  • Eric Chadwick
    Auto UVs have terrible seams. Put those where it makes sense, and make as few islands as possible. 
  • Eric Chadwick
    I wish we had a really good tool for recovering subdivision source meshes.

    There's TurboReverse for 3ds Max, but it only works on perfectly-preserved subdivs.

    If someone subdivided, then moved a few vertices around, or added an edge, or added a vert, or subdivided only a subset of faces, or attached multiple pieces that used different subd iterations... TurboReverse can't handle any of these. At the least, fail gracefully, recover what you can. But noooo, crash or mangle it, great thanks. 
  • Eric Chadwick
    Given a photo of a piece of furniture in a room, and some h/w/d dimensions, generate an accurately scaled model. 

    Bonus points if you can massage the photo into a decent PBR material for it, removing lighting from the albedo, and creating a decent roughness map. 
  • FrankPolygon
    Offline / Send Message
    FrankPolygon grand marshal polycounter
    The whole pipeline... I want a button I can press that spits out cool art with a front page slot on Artstation.

    On a more serious note: Some kind of procedural grunge and wear generator that looks at reference photos, matches the wear patterns in the photos to the model and normal map data and gives you a bunch of iterative seeds for wear masks that auto fit to the UV layout...

    Bonus points if you add the ability to push stuff around and delete stuff based on the movement of brushes, rags, scratchy metal things and model parts. Think of it like a magical bag full of rocks, dirt and nails that you put the model into, shake it around and it comes out looking like it's been used in XYZ environment for N years. Then you get to use a paint brush and an oily rag to clean off the model and put some final polish on it. That or make an AI actor you can give models to and it will simulate carrying them around and using them for N years and return it with the commensurate wear patterns...
  • kgg_x
    Offline / Send Message
    kgg_x polycounter lvl 3
    Auto UVs have terrible seams. Put those where it makes sense, and make as few islands as possible. 
    Will add to my list!

    I wish we had a really good tool for recovering subdivision source meshes.

    There's TurboReverse for 3ds Max, but it only works on perfectly-preserved subdivs.

    If someone subdivided, then moved a few vertices around, or added an edge, or added a vert, or subdivided only a subset of faces, or attached multiple pieces that used different subd iterations... TurboReverse can't handle any of these. At the least, fail gracefully, recover what you can. But noooo, crash or mangle it, great thanks. 
    Sounds interesting, noted. It's basically a polyreducer that takes your topology into account and keep your uv's?

    Given a photo of a piece of furniture in a room, and some h/w/d dimensions, generate an accurately scaled model. 

    Bonus points if you can massage the photo into a decent PBR material for it, removing lighting from the albedo, and creating a decent roughness map. 

    Also a good thought, I think I'm not able to produce this in the near future. But I do work on a "asset flipper". Basically you input a finished Asset and the tool would give you some random variations based on the original asset.

    The whole pipeline... I want a button I can press that spits out cool art with a front page slot on Artstation.

    On a more serious note: Some kind of procedural grunge and wear generator that looks at reference photos, matches the wear patterns in the photos to the model and normal map data and gives you a bunch of iterative seeds for wear masks that auto fit to the UV layout...

    Bonus points if you add the ability to push stuff around and delete stuff based on the movement of brushes, rags, scratchy metal things and model parts. Think of it like a magical bag full of rocks, dirt and nails that you put the model into, shake it around and it comes out looking like it's been used in XYZ environment for N years. Then you get to use a paint brush and an oily rag to clean off the model and put some final polish on it. That or make an AI actor you can give models to and it will simulate carrying them around and using them for N years and return it with the commensurate wear patterns...
    Interesting thought not sure if I can do it based on a image but I think the "magical box of rocks, dirt and nails" is possible and to be sure: You're talking geo or texture? Anyway added to my list!

    Thanks for the input guys!
  • Eric Chadwick
    Similar to a poly reducer, but recovers the original subd cage, hopefully keeping the UVs, so I can re-subd to whatever density is needed. Also so I can use the cage as a lowpoly model for other uses (realtime viewer, physics proxy, viewport proxy, LODs, etc.).

    TurboReverse has a nice option (when it actually works!) to either recover the subd cage with all its distortions required to create proper subd curvature & pinching, or recover but assign averaged positions for the verts such that it performs like a perfect-quad decimation of the source. 

    The former is great for re-subdividing, the latter is great for realtime. 
  • McGreed
    Offline / Send Message
    McGreed polycounter lvl 15
    I think I saw that as part of Blender 2.8, that they had a reverse subdivide function, called Decimate Modifier
  • rexo12
    Online / Send Message
    rexo12 interpolator
    This is going to be more appropriate for your DCC (and mostly exist already), but some kind of auto-naming system (or reminder) would be good to have, perhaps even just something to match "_High" and "_Low" suffixes (as well as naming conventions for Substance/Marmoset/etc.)

    This could be extended to some kind of automatic manager for High and Low polys of your props, separating them into vis groups or w/e, and then triangulating and resetting location to world origin for export to Unreal Engine and so on.

    Basically, stuff that can eliminate all the administrative stuff you end up having to do alongside your art would be quite nice.
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    The bit I hate is going back and fixing other people's fuckups. 
    So ideally I'd want the relevant leads to check shit properly

    More seriously - 90% of pipeline issues are caused by people not tidying up after themselves.  If you want to make a big difference, make a tool that forces them to work clean
  • Eric Chadwick
    b-b-but that's why we have technical artists! ;)
  • Justo
    Offline / Send Message
    Justo polycounter
    Well I hate how in my current project meshes should be triangulated before baking (because bakes are done outside Maya and ultimately the mesh ends inside UE4). When the need to adjust some things in the delivered mesh arises, modifying a triangulated mesh is tedious, and going back to quandrangulated-before-baking even more so.

    Locking normals doesn't solve anything...Maybe a script or plugin that could take a quadrangulated mesh, save a copy of it and create a triangulated version. Then if the user wants to he can load up the quadrangulated mesh at any point, modify it, and when he wants to retriangulate it after tweaking it, the plugin will triangulate keeping intact the edges' paths in unaltered areas. 
  • Alex_J
    Offline / Send Message
    Alex_J grand marshal polycounter
    I would like a sort of 3d grid that holds common proportions for like, anything and everything.

    You making a bison, select it and the grid shows you where the head and ass should be. Giraffe, Forklift, Neanderthal... the more the merrier.

    Something more realistic in scope might be one that just holds common human proportions. "male athletic skinny, female fat big head, etc." The benefit of this over base mesh is its all contained in one script item and you still get to build your mesh however you see fit. This thing just does the research for you and gives you a quick start.

    So, the part I hate is measuring out proportions.
  • Obscura
    Offline / Send Message
    Obscura grand marshal polycounter
    Justo said:
    Well I hate how in my current project meshes should be triangulated before baking (because bakes are done outside Maya and ultimately the mesh ends inside UE4). When the need to adjust some things in the delivered mesh arises, modifying a triangulated mesh is tedious, and going back to quandrangulated-before-baking even more so.

    Locking normals doesn't solve anything...Maybe a script or plugin that could take a quadrangulated mesh, save a copy of it and create a triangulated version. Then if the user wants to he can load up the quadrangulated mesh at any point, modify it, and when he wants to retriangulate it after tweaking it, the plugin will triangulate keeping intact the edges' paths in unaltered areas. 
    How about triangulating it using the export dialogue? So you can keep the quad mesh in your maya file.
  • Justo
    Offline / Send Message
    Justo polycounter
    @Obscura You mean Maya's export dialog? The problem is not how to triangulate something, but being able to switch back and forth between triangulated and quadrangulated meshes without risking different edge paths/normals :) 

    If I export with triangulation a character mesh, then need to modify one arm, exporting it again might make other unaltered areas have different triangulation.
  • Obscura
    Offline / Send Message
    Obscura grand marshal polycounter
    So you re-bake the normal map which is just a few clicks these days.
    I understand your problem though.
  • marks
    Offline / Send Message
    marks greentooth
    b-b-but that's why we have technical artists! ;)
    Can you add a trigger warning to posts like this in future please?
  • sprunghunt
    Offline / Send Message
    sprunghunt polycounter
    Justo said:
    @Obscura You mean Maya's export dialog? The problem is not how to triangulate something, but being able to switch back and forth between triangulated and quadrangulated meshes without risking different edge paths/normals :) 

    If I export with triangulation a character mesh, then need to modify one arm, exporting it again might make other unaltered areas have different triangulation.
    What baker are you using that requires triangulation? I use substance painter/designer to bake and that only requires quads.
  • Obscura
    Offline / Send Message
    Obscura grand marshal polycounter
    @sprunghunt -  You pre triangulate the mesh because different softwares tends to triangulate meshes differently. Everybody should know this by now. There were numerous threads here on polycount about the error that CAN happen when you move quad mesh between softwares. The "X" shaped shading error thing. That happens when the bake mesh has different triangulation than the preview mesh. Triangulation can change the outcoming normal map, because the lowpoly normals are taking into account during baking. And different triangulations can cause different lowpoly shading.
  • jRocket
    Offline / Send Message
    jRocket polycounter lvl 18
    The most obnoxious part of the modern game art pipeline is having to use many different apps(and transferring files between them). Back in the day we only had 3ds max and photoshop and that was it. Now we have 3ds max for modeling, zbrush for the high poly, marmoset for baking, substance painter for texturing, and maya for rigging and animation. And that's not including if you want to retopo or uv externally. Then of course we have to do a bunch of additional setup in the game engine editor. Why can't there just be one program?
  • Eric Chadwick
    USD is the golden apple!
  • Eric Chadwick
  • zachagreg
    Offline / Send Message
    zachagreg ngon master
    jRocket said:
    The most obnoxious part of the modern game art pipeline is having to use many different apps(and transferring files between them). Back in the day we only had 3ds max and photoshop and that was it. Now we have 3ds max for modeling, zbrush for the high poly, marmoset for baking, substance painter for texturing, and maya for rigging and animation. And that's not including if you want to retopo or uv externally. Then of course we have to do a bunch of additional setup in the game engine editor. Why can't there just be one program?
    I don't agree, I definitely think one of the biggest pains is that some apps refuse to use realistic scales or camera settings (Looking at you Zbrush) which just causes unnecessary fiddling. I can't say the necessity for several apps is a bad thing though. As 3d art gets more robust, so too must it's tools. That requires specialization, don't really understand the use for both Max and Maya in the pipeline, both DCCs. I would just say drop maya unless you have clients that have max deliverables. Marmoset can technically be dropped as well, though I love it and the bridges help tremendously.

    This is also assuming you're doing everything, where I rarely rig and animate my stuff personally so in my case less egregious but that may not be the case for you. Definitely agree with greater interoperability between apps though. More bridges that have meaningful updates and features.
  • sprunghunt
    Offline / Send Message
    sprunghunt polycounter
    I know the theory.  However in my experience if you're using the same software every time then your triangulation doesn't just randomly change. You need to change the position, or order, of the vertexes to have the triangulation change on a quad. 

    Basically I haven't ever reproduced the error in the first picture of your link. If I triangulated a mesh in max or maya it just locks the existing triangulation in place. It doesn't change the order of the edges.
  • Eric Chadwick
    Ah, sorry then. I've run across this when moving vertices around in a non-triangulated mesh, so maybe that's the problem @Justo is seeing.
  • Justo
    Offline / Send Message
    Justo polycounter
    Unfortunately our team isn't using the same software. Meshes go through Maya, Max, Motion Builder, get baked in Substance apps and end up in UE4. Rebaking things is possible, but very time-consuming, because I need to break the lowpoly into several pieces if I want near-perfect bakes. Welding everything back together is time-consuming too. So, again, if a tool (preferably a maya script or plugin) could save a triangulated version and a normal one, or something that would make working&transporting a quadrangulated mesh all around the seven seas of 3d apps while staying flexible to deal with client feedback an easier task, it would be nice.
  • sprunghunt
    Offline / Send Message
    sprunghunt polycounter
    Justo said:
    Unfortunately our team isn't using the same software. Meshes go through Maya, Max, Motion Builder, get baked in Substance apps and end up in UE4. Rebaking things is possible, but very time-consuming, because I need to break the lowpoly into several pieces if I want near-perfect bakes. Welding everything back together is time-consuming too. So, again, if a tool (preferably a maya script or plugin) could save a triangulated version and a normal one, or something that would make working&transporting a quadrangulated mesh all around the seven seas of 3d apps while staying flexible to deal with client feedback an easier task, it would be nice.

    What do you use Max for in this pipeline? 
  • Shrike
    Offline / Send Message
    Shrike interpolator
    @Justo
    Is the triangulation really needed? I dont have any issues with quads since forever, unless maybe in some rare ngon crazy cases that are obvious and cinema is really not the cleanest of exporters and importers to say the least (C4D > 3DCoat > C4D > Coat > Marmoset > C4D > Unity)
    But maybe my models are not as prone for triangulation errors

    Id really not bake in substance from my experience, bakes are below xNormal from what ive seen, maybe that is the issue. Easily worst of the dedicated bakers in terms of output quality and artefacts imo. (If you bake high to low, you maybe won't notice that much of a difference with your eyes to xNormal as its a ideal scenario, but if you bake Low to Low, it really shows a dramatic difference in quality, curvature, ao, etc are insanely worse and absolutely struggle to pick up proper information and show the pitfalls of the baker that surely also affect the classic high to low, while marmoset and xn do perfectly fine at that as known. 

    Try marmoset or knald? really makes life so much easier. (Ive think ive seen that substance also supports "self only" bake options that may reduce the need of exploding, if you go to the AO etc tabs, you can select "self shadow per object only" in a dropdown)
  • Justo
    Offline / Send Message
    Justo polycounter
    What do you use Max for in this pipeline? 
    Some animators use it for skin weighting, and I open it up like once a month if there's something I cannot do as easily in Maya. It is barely used though, and slowly being removed from the pipeline. The triangulation problem really only applies to UE4 visualization. 

    Shrike said:
    @Justo
    Is the triangulation really needed? [...] But maybe my models are not as prone for triangulation errors

    Well, these characters certainly show the infamous dark-X problems at times, specially when our animators export things from Max (hence why we're keen on removing it from the pipeline). It is fortunately, most of the times, barely noticeable.

    Id really not bake in substance from my experience, bakes are below xNormal from what ive seen, maybe that is the issue. Easily worst of the dedicated bakers in terms of output quality and artefacts imo. (If you bake high to low, you maybe won't notice that much of a difference with your eyes to xNormal as its a ideal scenario, but if you bake Low to Low, it really shows a dramatic difference in quality, curvature, ao, etc are insanely worse and absolutely struggle to pick up proper information and show the pitfalls of the baker that surely also affect the classic high to low, while marmoset and xn do perfectly fine at that as known. 

    Try marmoset or knald? really makes life so much easier. (Ive think ive seen that substance also supports "self only" bake options that may reduce the need of exploding, if you go to the AO etc tabs, you can select "self shadow per object only" in a dropdown)
    We're transferring textures from a 90k+ lowpoly to a 12k~ lowpoly (numbers in UE4 verts). Depending on the character and complexity, we can sometimes have the need to transfer up to 50 different bakes per guy. What I love about baking in Substance Designer is that it saves all the settings with which you baked everything, allows you to save/load baking presets and keeps the live-link with the bake. This is cool because if I need to re-bake, I can be confident in rebaking things with the same settings as I did before, knowing that previous unaltered areas should remain unchanged.
    With xNormal I would need cages, deal with "wrong vertex index in cage" if I altered my lowpoly, and write down in notepads or somewhere the settings by which I baked each image, and maybe break things into multiple OBJs because I think xNormal didn't use Match Meshes By Name inside the same FBX file? I used xNormal before jumping to SD but I don't remember all the details - I do remember it was a pain.
Sign In or Register to comment.