Home Technical Talk

A question about projecting details vs high poly to low poly bake?

goddessjuno
polycounter lvl 2
Offline / Send Message
goddessjuno polycounter lvl 2
Is they're really a difference bewteen reprojecting high poly details onto a low poly retopoed mesh (in a software like blender, or zbrush), vs just baking high to low poly in substance painter (i'm not sure if this can be done in other softwares)?
Which method would be better for a model that will be rigged an animated?

Replies

  • Alex_J
    Offline / Send Message
    Alex_J grand marshal polycounter
    Question is a bit unclear to me. Can you rephrase it, perhaps? Seems like you are asking the same thing twice.

    Project in zbrush is not the same thing as bake in substance painter. If you tried to Project high poly detail onto a low poly model, you wont actually get that detail because there is no geometry to support it.

    You might have perhaps read about a few techniques and confused some things?
  • goddessjuno
    Offline / Send Message
    goddessjuno polycounter lvl 2
    @Alex_J
    I sorry for the confusion, I've been self teaching myself 3D art (I'm focusing more on character creation) and they're some parts of the workflow that are still confusing to me. 

    I've seen people use zbrush or blender for projection (sculpt high poly, retopo, then project high poly onto the low poly model), then later I learn that you can also sculpt high poly, retopo, bake high poly onto the low poly in substance painter. It kind of seem like the point of both method was to reduce the poly count (for the sake of rigging and animating, UVs, and to keep your computer from dying) while keeping all of your detail form you high poly.

    When I decided I wanted to try animation, I got confsued as which method I should use for the workflow, to my understanding it's impossible to animate something that's too high poly. (hopefully this clarify things.)

    ....you can ignore that inbox reply, I meant to reply to you here...sorry bout that.
  • Shrike
    Offline / Send Message
    Shrike interpolator
    Yes, a reprojection is done for when you want to keep using this highpoly mesh for something directly, like animation.
    You basically fix the topology of your highpoly mesh to be better. This is surely mostly used for non game things. In some cases you can also reproject to keep working easier, like if you want to have a better topology to do some stuff (like extrude some perfect rectangles or whatever for a pattern)

    A bake is transferring the highpoly mesh onto a usually much lower polygon mesh by using textures as substitute for polycount, and involves using a normal map to simulate geometry. This is done to optimize for realtime usage / get more quality than your mesh has polygons.
  • goddessjuno
    Offline / Send Message
    goddessjuno polycounter lvl 2
    @Shrike

    That makes more sense, so reprojection is just to make a high poly mesh workable again (i hope that's proper english), or essnitally just giving it better topology. High poly to low poly bake, is to make the model look like it's high poly, using textures.

    You added that projection isn't used for games. Does this mean that game character and game asset can only be made using a realtime character  workflow? I know game egine are realtime renders, is it easier to on those engines to just simulate the geomerty? Sorry for the additional question I'm just curious.

  • Alex_J
    Offline / Send Message
    Alex_J grand marshal polycounter
    Projection tries to match the position of vertices from one mesh to another.

    So a mesh is just a ton of vertices and each vertex is a point in 3d space. For example, 0,0,0 is the origin. 100,0,0 is 100 units in positive X direction.

    So if you have MeshA and you project it's details to MeshB here:
     
    you'd get:

    If MeshB didn't have that vertex in the middle, the projection would probably just try to average the nearest vertices to that position. So if you go in zbrush and project a highly subdivided mesh onto a low one, you'll see how it is limited to the similarity in topology resolution.

    Baking details is too much to explain in forum post and shrike already covered it, but once you get into it you'll have to read a lot more to understand that process. Basically all that does is create a 2d texture that will mimic the normals from a high resolution mesh to be used on a low resolution one. If you don't know what "normals" are, check the wiki and google.

    You'll use projection in zbrush or blender occassionally like if you have a generic base mesh and you want to quickly morph it's shape closer to something else, or if you retopo'd (like using dynamesh) because topology was working against your sculpt, and now you need to get back the hi res details. It's more of a tool you use during the mesh creation process just for convenience - not something that directly contributes to some asset you use in game (like baking creates a texture map).

    This sort of stuff sounds like rocket science to read but just playing around with the tools to make some small models you'll begin to understand - it can all be understood rather intuitively and isn't as complex as it sounds to read. There are billions of tools but to make models you only use a small core set of foundational skills. The myriad of tools are just convenience for every little time somebody found something tedious. But you don't necessarily have to understand them all to make great art. Once you hit a problem head on, then it will be much easier to understand what tools are meant to do, rather than trying to understand solution -> then reverse engineer the problem.



  • Shrike
    Offline / Send Message
    Shrike interpolator
    @Shrike

    You added that projection isn't used for games. Does this mean that game character and game asset can only be made using a realtime character  workflow? I know game egine are realtime renders, is it easier to on those engines to just simulate the geomerty? Sorry for the additional question I'm just curious.

    You can of course just not bake things and just work with the polygon count you have. For a game character it depends on the perspective and the game. This can be from 500 to 10000k and more polygons. At higher polygon counts or depending on your artstyle you might not need any bake at all, but generally it is still advised since bakes drive curvature and AO maps which are still critical for typical texturing workflows.
  • Brandon.LaFrance
    Offline / Send Message
    Brandon.LaFrance polycount sponsor
    @goddessjuno There are many reasons why you would want to retop and project, but there are fundamentally two different cases you should be aware of. Each has a unique purpose and goal. Generally, you will be dealing with both. And a mesh that is optimal for one is not necessarily optimal for the other.

    Case 1: Sculpting

    This is the geometry that will contain all of the detail that you will be later baking down into the optimized mesh. Typically either sculpted (or a subdivision surface, but this is less relevant for this discussion). When sculpting you will often find it is easier to block-out shapes while leveraging tools such as Dynamesh or Dyntopo (Remesh or Dynamic Topology in Blender). However, these methods leave messy topology that can be difficult to work with.

    It is often convenient when sculpting to have clean topology and varying levels of subdivisions. This gives you much more control when sculpting. In order to get there, we retopologize, and then project the details from our messy geometry, onto our clean, subdivided geometry. We can now continue working on our model with the benefits that this provides.

    In ZBrush, this is called Project (in Blender, I like to use the Shrinkwrap modifier for this). This literally conforms the geometry of the clean mesh to match our dirty one. Its important to keep in mind that this mesh is optimized for sculpting, and that it subdivides cleanly. Ideally, this mesh is all quads, and contains few poles only where necessary.

    Case 2: Optimized geometry

    This is the geometry that is optimized for your game engine or renderer. It will be UV mapped, textured, rigged, and animated. Details from your high-resolution mesh will be baked onto this one. That is to say, you will bake several maps that capture information from the high-res geometry into an image texture (a map) based on your optimized geometry and its UV map.

    There are many tools that you can use for baking. I prefer to use Marmoset Toolbag, but the Substance bakers are great, too. Although it is possible, I would recommend against doing this in Blender, Maya, or ZBrush. That way lies madness.

    You can bake all sorts of maps that contain different information about your high-resolution geometry (normal, displacement, curvature, AO, position...). These will be used during the texturing process. This does not directly affect the geometry of your optimized mesh.

    What is optimal here is different from the first case. Typically, you'll be much more concerned with geometry that fits within your vertex budget, has clean UVs, bakes cleanly, is easy to rig, and deforms well when animated. This is essentially your finished piece. Everything in Case 1 is just a means to get here.

    Although there is some overlap in what constitutes "optimal" for both cases, you should keep in mind that they are not the same thing, and there are a lot of things that are important for one that may be irrelevant for the other.
  • Eric Chadwick
    In addition to all the great info above… for a character workflow it is very important to create good topology for the game model, because it needs to bend nicely in animations, light nicely, and get good UV seams. 

    We have some resources to help with this: http://wiki.polycount.com/wiki/Topology#Principles_of_Topology
Sign In or Register to comment.