0
$\begingroup$

So this problem is massively difficult to describe in words, making it very difficult to do any kind of search for; if it's a duplicate, please point me in the right direction.

Below is a gif of what's going on:

Ground Wobbles

As the gif hopefully shows, the shape of the ground plane changes significantly as the camera moves.

I discovered this behavior when I noticed some odd rendering behavior in Freestyle, where some of the lines were disappearing for no readily apparent reason, which I eventually realized was the ground plane being in unexpected places in the render (I was only rendering the lines, not colors).

It should be noted that this ground plane is huge; it's around 2km x 1km in size. I don't know if that has any kind of affect, but if it does, I could probably cut it into smaller pieces.

The purpose of this is to be a large map that I can render from a variety of angles for illustration purposes, so I can't have the ground position/shape being so mutable. What's going on?

$\endgroup$
  • 1
    $\begingroup$ That looks like either one of two things, either Z-fighting which happens when you have overlapping or too close together objects, or precision issues. Both have the same fundamental cause which is hitting the precision limits of the viewport computation. Either your objects are too close together, too far from scene origin, or too large, or both of them. Either Try subdividing your plane object, or use more than one, and make sure there are no overlaps or objects amost coincident but not quite. $\endgroup$ – Duarte Farrajota Ramos Apr 11 '17 at 13:31
  • $\begingroup$ Since the object isn't in the same place as anything else, and since you can see that the surface actually physically moves, which isn't indicative of z-fighting (notice that steps on the stairs disappear) I'm going to guess the precision issue is a more likely candidate. The plane is already subdivided a good deal, but I'll try going a couple steps up, and if that doesn't work or causes problems, I'll break it into a bunch of smaller planes and see if that helps at all. Thanks :9 $\endgroup$ – Arcane Apr 11 '17 at 15:21
  • 1
    $\begingroup$ Precision issue might not be at the geometry level itself, but in how realtime rendering works, I am blindly guessing that because the plane is very large the depth buffer can't possibly hold all that range of depth, causing those precision issues. Reducing the viewport clipping distances may help too. $\endgroup$ – Duarte Farrajota Ramos Apr 11 '17 at 17:51
  • $\begingroup$ Well, it should be noted that I'm not rendering in realtime, but rather in Cycles; I only use the camera gif there to show quite clearly how the position of the camera influences the apparent geometry of the object. $\endgroup$ – Arcane Apr 11 '17 at 21:53
  • 1
    $\begingroup$ The viewport is a real-time render engine, albeit a very simplistic one. I am guessing you would not see that glitch happen in an equivalent Cycles render $\endgroup$ – Duarte Farrajota Ramos Apr 12 '17 at 1:06
0
$\begingroup$

The problem that I was having was two separate problems:

  1. The ground plane going bonkers in the camera preview
  2. The ground plane appearing to be in the wrong place in renders

The solution to the first problem turned out to be increasing the near clipping distance on my camera from 1mm to 1cm, though I'm not entirely sure why the clipping distance has an affect on geometry in the preview; the shifting geometry also is preview only and is not reflected in the final render (thanks to Duarte in the comments for pointing this out).

The solution to the second problem only seemed to be related to the first, and turned out to be that I had at some point disabled the subsurf modifier on render, causing the rendered geometry to be completely wrong. Re-enabling it fixed the issue completely. Always check your modifiers!

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.