ZBrushCentral

Dynamesh and Polish Crisp Edge Workflow Creates Weird-Jagged Edges

Hi all,

I am trying to make a game ready knife using Blender and ZBrush. I’ve created the blockout in Blender then export it into ZBrush to make high poly. I creased the hard edges and made the object smooth by adding subdivision. Then when i try to dynamesh it i get really bad result, like the resolution is too low. Even if i increase the scale of the object tremendously, it takes about 20 min to dynamesh, still i believe it looks like low resolution. Hard edges look bad. I don’t really know what’s the cause of that. Please take a look at the images below

ss3.PNG
ss4.PNG

People on YouTube and stuff who use that workflow get really good result without even scaling the object.

Anyway i decide to go on with whatever i have, but now when i use polish hard edges feature and export it back into blender the edges look really weird and not smooth at all.

ss1
ss2

Can someone please explain me what’s going on here? Why the most people can use that workflow but i am getting that result?

Hello @ltwin

Long story short, you are probably trading well-defined topology for the more generic topology of the Dynamesh process and this will impact the quality of your edges. No amount of Polish will substitute for good topology, especially with hard surface models. There may also be a problem with your mesh geometry that is producing rougher results in that area, but you have not provided enough information here to make that determination.



So what is happening in this case is that you probably have a low poly mesh with good topology where hard edges are cleanly defined by a creased edge. When you subdivide this mesh, the subdivision smoothing process takes into account those perfectly creased edges and delivers very crisp results–impossibly sharp even-- while keeping the edges defined by a single topological edge.

The Dynamesh process does not use or understand edge creasing. It will redistribute polygons evenly over the entire surface of the mesh. The size of these polygons will be determined by the resolution slider. The hard edges after Dynameshing won’t be defined by a single edge, but by a series of polygons. The size of the polygons will determine how crisp the edge can be. In many cases, unless zoomed in very close the viewer will not be able to see the difference once the mesh has been subdivided.

This is what you are seeing when you see the “jagged” edge when zoomed in. This geometry may look more or less smooth depending on the surface shader applied to it, and whether or not any sort of polygon smoothing effect is being rendered. Remember in most cases ZBrush does not render any kind of smoothing effect on the mesh surface–it has too high of a performance impact at the polycounts ZBrush works with. You would smooth the surface by subdividing the mesh. However, other programs do use polygon smoothing, and this is going to alter the nature of how the mesh looks in a viewport. Smoothing effects tend to “muddy” fine surface detail a bit. If the mesh looks different in different programs, it probably comes down to what kind of surface shader is applied and if any smoothing effects are active.

Depending on how much surface area the mesh has it should still be able to capture reasonably crisp edges, but not to the degree of your mesh with the optimal topology. In order to do that you would need to ZRemesh ( not Dynamesh) the mesh in such a way that it keeps those hard edges perfectly defined by a single edge that can be creased. Depending on how complex the mesh is, the “detect edges” feature may do this. More complicated meshes may require you to carefully define polygroups for the mesh and use the “Keep Groups” feature, along with some degree of manual touch-up for areas where ZRemesher is having trouble drawing the edges where you need them.



Increasing the size of the mesh does nothing in most circumstances. Dynamesh resolution is determined by the surface area of the mesh and the resolution slider. In most cases this is going to max out around 3-4 mil polygons. Perhaps counter-intuitively, there are actually resolution multipliers that can kick in if the mesh is abnormally small in the worldpsace–otherwise the process would not be able to adequately capture the form of meshes that small.



It’s important to understand what Dynamesh is, and isn’t. It is not a tool designed for capturing high resolution detail. From the first paragraph of the Dynamesh documentation:

DynaMesh has been designed to create low and middle resolution sculpting stages, making it a perfect way to create your base mesh before diving deeper into all the powerful traditional ZBrush sculpting and editing tools.

Dynamesh is designed to be a rapid resurfacing tool for the purpose of building form, not high resolution surface detail. It is expected that a mesh will still need to be subdivided with the broader ZBrush toolset to reach maximum high resolution detail potential. High resolution detail can be projected from one version of a mesh to another, if the target mesh is subdivided sufficiently to receive the incoming detail.

It is designed to be fast. If projection is not enabled in the Dynamesh options , even at max resolution setting the process should complete very quickly. If Projection is enabled and the model is taking a long time, this is a result of the projection process not Dynamesh. If Project is not enabled and your mesh is taking 20 minutes, there may be something problematic with your geometry–check it with Tool> Geometry> Mesh Integrity> Check mesh.



What I have explained above is general information. It is always possible there is something specifically problematic with the geometry of the model you are attempting to Dynamesh, but you haven’t provided any really good looks at the topology here.

Good luck!

1 Like

Oh, i get it. Thank you so much for the detailed explanation sir :slight_smile: I should take a look at other ways to solve this.