How to Avoid Wavy Normals When Baking: A 3D Artist's Guide

Image to 3D Model

Wavy normals are a common, frustrating artifact that can ruin an otherwise perfect bake. After years of troubleshooting, I've found the root cause is almost always a mismatch between the high-poly detail and the low-poly cage, compounded by poor UV layout. This guide is for 3D artists who want production-ready bakes without the guesswork, pulling from my hands-on experience to give you a direct, actionable workflow from prevention to fix.

Key takeaways:

  • Wavy normals are primarily caused by insufficient low-poly geometry supporting the baked high-frequency detail.
  • A clean, validated low-poly "cage" is more critical for a good bake than a perfect high-poly model.
  • Proactive mesh preparation and UV validation will prevent 90% of baking issues before you even hit the "bake" button.
  • AI-assisted retopology can rapidly generate an optimal low-poly base that follows surface contours, eliminating a major source of error.
  • Systematic troubleshooting—isolating the problem to the mesh, UVs, or settings—is faster than starting over.

Understanding the Root Causes of Wavy Normals

What Causes Waviness in Baked Maps?

Wavy, rippling, or "shimmering" normals occur when the baking engine struggles to project high-poly surface information onto the low-poly UVs. The core issue is a lack of geometric support. Imagine trying to drape a detailed cloth over a simple frame; if the frame doesn't roughly match the cloth's major folds, the cloth will sag and ripple in unnatural ways. In baking terms, the low-poly mesh doesn't provide enough geometric anchors (vertices, edges) to correctly capture the direction and intensity of the high-poly normals, resulting in those distorted, interpolated waves.

Common Modeling Mistakes I've Made

Early in my career, I'd spend hours sculpting a perfect high-poly model only to hastily create a low-poly version by simply decimating it. This was a guaranteed path to wavy bakes. The decimated mesh would have uneven triangle distribution and edges that didn't follow the silhouette or curvature of the original detail. Another classic mistake I made was using a low-poly mesh with perfectly uniform, grid-like topology for an organic shape. The baking software had no clear geometric cues for where major surface changes occurred, leading to averaged, wavy normals across large UV islands.

How High-Poly and Low-Poly Geometry Interact

Think of the relationship as a partnership. The high-poly model is the source of all visual detail. The low-poly model is not just a render-optimized version; its primary baking role is to provide a well-structured, continuous surface for the high-poly normals to be sampled onto. The vertices and edges of the low-poly act as data points. If these points are too far apart over an area of complex curvature, the sampled normal data gets stretched and blended, creating waves. The low-poly must have adequate geometry placed where the high-poly surface normal changes direction.

My Pre-Bake Checklist for Clean Results

Step-by-Step: Preparing Your High-Poly Mesh

Before I even look at the low-poly, I ensure my high-poly source is bake-ready. First, I check for and remove any non-manifold geometry—these always cause bake errors. Next, I apply a final, uniform smoothing pass to eliminate any micro-details or noise that could introduce high-frequency "bake noise" mistaken for waviness. Crucially, I make sure there are no floating, intersecting, or overlapping mesh pieces that aren't properly booleaned or fused, as these create impossible depth scenarios for the baker.

My High-Poly Prep Mini-Checklist:

  • ✅ Run a non-manifold geometry check and repair.
  • ✅ Apply a global smoothing modifier to reduce sculpting noise.
  • ✅ Ensure all parts are a single, unified mesh or properly booleaned.
  • ✅ Check for and fix any inverted normals.

Step-by-Step: Optimizing Your Low-Poly Cage

This is where most battles are won or lost. My goal is a clean, quad-dominant mesh where edge loops follow the primary contours and silhouettes of the high-poly asset. I add supporting edges near all hard surface bevels and subdivide areas of high curvature more densely. A technique I rely on heavily is using AI-assisted retopology, like the tools in Tripo, to generate this base mesh. I feed it my high-poly sculpt, and it produces a clean, animation-ready topology that naturally follows surface flow, giving me a perfect starting cage that inherently supports the detail I need to bake.

Validating UVs and Baking Settings

With meshes ready, I turn to UVs. I ensure there's consistent texel density and that no UV islands are overlapping or mirrored incorrectly (unless intentionally). I add a small, uniform padding (usually 8-16 pixels) between islands to prevent bleeding. For baking settings, I start with a high ray distance (enough to capture the deepest cavity) and enable "match by mesh name" or manually assign high/low pairs. My first test bake is always at a lower resolution (1K or 2K) to quickly spot major issues like waviness before committing to a 4K or 8K bake.

Advanced Techniques and Tool-Specific Workflows

Using AI-Assisted Retopology for Better Base Meshes

Manually retopologizing a complex sculpt is time-consuming and requires significant skill to get right. This is where I integrate AI retopology into my core workflow. By using it to generate the initial low-poly pass, I get a geometrically sound base that respects the original form. I then import this mesh into my main 3D suite for final cleanup—straightening edge loops, optimizing poly count for a specific LOD, or adjusting edge flow for deformation. This hybrid approach saves hours and provides a structurally superior cage compared to manual box modeling or decimation.

Leveraging Smart Segmentation for Clean Bakes

For complex assets with many separate parts (like a mechanical robot), baking everything in one go can be problematic. I use intelligent segmentation to break the bake into logical pieces. I'll bake the torso, arms, and legs separately, for example. This gives me finer control over the cage envelope and ray distance for each part. In my workflow, I might use a tool's segmentation features to automatically or semi-automatically identify these distinct parts from the high-poly model, streamlining the process of preparing individual bake groups.

Comparing Manual vs. Automated Normal Baking

Manual baking in a traditional 3D suite offers granular control over every parameter—cage extrusion, ray direction, anti-aliasing. I use this for final, hero assets where I need to tweak every last detail. For rapid iteration, prototyping, or when dealing with a large batch of assets, I lean on automated baking pipelines. A good automated system will handle cage projection, ray distance, and UV padding intelligently. The key is to feed it a properly prepared low-poly cage; garbage in, garbage out still applies. Automated baking is a time-saver, not a substitute for good topology.

Troubleshooting and Fixing Wavy Normals

How I Diagnose and Isolate Baking Artifacts

When I see waviness, my first step is diagnosis. I view the normal map in the UV editor, looking for the tell-tale gradient bands within a single UV island. I then isolate the problem: Is it the mesh or the UVs? I temporarily apply a checkerboard pattern texture to the low-poly model. If the checkerboard distorts in the 3D viewport in the same area as the bake wave, the underlying low-poly geometry is the culprit—it's simply not supporting the detail. If the checkerboard is clean, the issue is likely in the UV layout (stretching) or the baking settings themselves.

Practical Fixes in the 3D Viewport and UV Editor

  • If the low-poly geometry is at fault: I add supporting edge loops. For organic waves, I use a Relax or Smooth brush on the low-poly mesh (in sculpt mode) to gently adjust the vertex positions to better match the high-poly surface contour.
  • If the UVs are at fault: I check for stretching and relax the specific UV island. Sometimes, the solution is to simply cut the UV seam in a different place to break up a large, continuous area that's causing interpolation issues.
  • If baking settings are at fault: I incrementally increase the "cage extrusion" or "ray distance" value. A cage that's too tight will cause waves as it "skims" the high-poly surface incorrectly.

When to Re-bake vs. When to Paint Manually

I always try to fix the source data (mesh/UVs) and re-bake. This is the only way to get a technically correct, scalable result. However, in a tight production crunch, if the artifact is isolated to a very small, non-critical area (like a tiny, wavy patch on a rock), I might fix it manually. I'll open the normal map in a texture painting software like Substance Painter, use a normal brush to sample the surrounding good areas, and paint over the wavy patch. This is a last-resort patch, not a solution, as it won't hold up under extreme lighting or animation.

Share the Article

Generate anything in 3D

Click below to Join Millions of 3D Creators. Try ultra-high fidelity model generation and best-in-class pbr texture.