4
$\begingroup$

I'm having an issue which I'm stuck at. If you look at the image you can see a very simple node tree - what I'm struggling with is the vertical line of instances where the edges of the image connect. Any ideas how to get rid of this from within geometry nodes?

Basic Geo Node Setup

$\endgroup$
2
  • $\begingroup$ could you provide your image file + blend file so we can check it? $\endgroup$
    – Chris
    Commented Feb 22, 2022 at 9:25
  • $\begingroup$ I tried with many map files, here are two: Normal and Equirectangular The blend file is File $\endgroup$
    – Daniel
    Commented Feb 22, 2022 at 10:48

3 Answers 3

4
$\begingroup$

UV map is a face corner data, but you set up your scene at vertices. At this seam, you have a row of vertices that's attached to two corners of UV map.

enter image description here

That's mean that to get the U cord, Blender calculates it as middle of 2 UV coordinates (1 + 0)/2 = 0.5

Easy fix is set instances on faces instead of points:

enter image description here

An outer way is to split vertexes by UV Seam by using V:

enter image description here

$\endgroup$
2
  • $\begingroup$ Snap! I wish i could figure out exactly where the interpolation was happening.. the same problem arises between the 0 and 1 parameters of cyclic curves. $\endgroup$
    – Robin Betts
    Commented Feb 22, 2022 at 12:34
  • 2
    $\begingroup$ nice solution! +1 $\endgroup$
    – Chris
    Commented Feb 22, 2022 at 12:36
3
$\begingroup$

ok, i think, it has something to do with UVMap/UVEditing. Unfortunately i am not an export in that area.

Because of that ...i can only try and error it out...so i tried...and i am sure this is a very hacky solution but for my image it worked (i couldn't test with yours because you didn't provide it).

so i added a vector node here:

enter image description here

and because you have a sphere adding a x value won't change the image...so...play with the x-value and the line will disappear.

Don't ask me why ;) I hope you are one of the person's who search for solutions - not for explanations. But i am sure some others come up with an explanation ;)

enter image description here

$\endgroup$
1
  • 1
    $\begingroup$ I don't see what's "hacky" about it. The UV coords map the image texture as desired. The light/dark values then define the "Selection" where instances should be generated (you are using the Alpha output, but one could use any grayscale data here). The subdivision level determines the resolution/density. Looks straightforward and practical to me. :-) $\endgroup$
    – Mentalist
    Commented Feb 28, 2022 at 4:22
2
$\begingroup$

I think it goes like this:

  • All fields in GN are linearly interpolated
  • UV's are defined on Face Corners
  • Here, the 'Selection' field is defined on Points, (Vertices)

Somewhere, an interpolation is being made from face-corner U=0 to face-corner U=1, to determine where to sample the vertex 'Selection' value. The sample-point's U winds up being neither 1, nor 0, which is what we want, but 0.5, sampling the texture from the other side of the world.

Indeed, the problem can be fixed by splitting the edges down the UV seam longitude in the geometry, preventing interpolation.

$\endgroup$
1
  • 1
    $\begingroup$ thanks for the explanation ;) +1 $\endgroup$
    – Chris
    Commented Feb 22, 2022 at 12:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .