I made this kind of HUD Earth with the shading tab.

I want to add an overlay with latitudes and longitudes, to make it look like a more real-looking HUD Earth. For that, I use the modifier "Wireframe" But when I do it, the longitudes and latitudes kind of replace the continents and don't go in the oceans, it literally replaces all my work, all my continents.

enter image description here

That's not what I'm looking for, I just want the latitudes and longitudes to overlay the landmasses, no to replace them. I'm sure there is a simple way to do that, but how?

Thank you for anyone with the answer to my question.


Un-check the box that says Replace Original on your Wireframe Modifier settings. If needed, you can also add additional material slots to your object and change the material of just the wireframe (or surface) by changing the Material Offset (if, for example you want the latitude/longitude lines to be black instead of the surface color, give the second material slot a black material and change the Material Offset to 1).


EDIT - Based on the desired result you outlined in the comments, I would definitely recommend the Material Offset method. Use the "Earth" material for the primary mesh material, and just copy the Emission shader and use that alone as the basis for the second material. Then, just change the Material Offset to 1:


Here is a blend file with the same solution as described above:

  • $\begingroup$ It kind of worked.. But why are my longitudes and latitudes transparent (longitudes and latitudes=lines from the wireframe modifier)? Shouldn't they be affected by the shading tab and the material like the reste of the sphere? I want them to have the same material and be blue like they should but they aren't. IMAGE: imgur.com/a/Lo1Hk1B $\endgroup$ Jul 28 at 1:41
  • $\begingroup$ You're using UV texture coordinates, which won't properly map the texture until you apply the modifier (because the wireframe part of the mesh to apply the UV coordinates to isn't technically "there" yet). You can either apply the modifier and UV unwrap again, or use a second (non-transparent) material and the material offset method I mentioned above. If you are using eevee, try adjusting your materials blend mode if the problem persists. $\endgroup$ Jul 28 at 1:51
  • $\begingroup$ I edited my answer with what seems to be the best solution for what you're after. $\endgroup$ Jul 28 at 4:11
  • $\begingroup$ I still have the exact same problem, even after simplifying my shading Here's the screenshots: imgur.com/a/9p7agOb $\endgroup$ Jul 28 at 10:18
  • $\begingroup$ Ok now I think I solved it thank you, I didn't understand what you mean by "offset". I still have a few settings to correct though $\endgroup$ Jul 28 at 12:19

You could just use a setup like this...

...Except for the top and bottom, where the UV unwrapping is not just a grid:

(blue lines above show the wireframe from Christopher's solution)

Which hints this might be the XY problem. The X problem is how to draw the meridians and circles of latitude, which you actually mention in your question; the Y problem is adding a wireframe modifier to your setup, which unnecessarily increases geometry (unless e.g. you want to add like thickness to the lines seen on the silhouette).

Generating longitude/latitude lines in the shader:

Wireframe is blue below while the shader lines are white:

Notice how lines created in the shader aren't even - you could make them using trigonometry, similarly to e.g. this answer: How to add golden line to my maps?

Update: here's a setup with constant thickness of the lines:

I had to double the Value node describing the number of horizontal circles, not sure why and didn't bother to count if it's correct now or was correct before.

  • $\begingroup$ I tried your first setup, the latitudes and longitudes didn't appear. What did I do wrong? :( screenshot: imgur.com/a/XmMKIVR By the way I really like the way you compact your boxes and only show the relevant values, don't know how you did that but that's pretty neat. If there's any way for me do that too I'm interested $\endgroup$ Jul 29 at 0:30
  • $\begingroup$ @KOΛLΛ_NET21 Math > Compare node outputs 1 for any value not more than Epsilon away from 2nd value. So increase the Epsillon to something significant, .e.g. 0.1 for 10% of the space to be white (if you put 0.1 as ε in both compare nodes, you will take 10% of area once, and then also 10% of 90% of remaining area, totalling 19% of sphere surface to be taken by lines). Also take a look at the top-left Texture Coordinate node, I'm using Object space there. i.imgur.com/2I513g4.png $\endgroup$ Jul 29 at 8:10
  • $\begingroup$ @KOΛLΛ_NET21 as for making the nodes compact: I move them with CTRL and keep exactly 2 grid cells between them horizontally (less and you have problems connecting nodes), after nodes are connected, I also temporarily connect something to unconnected inputs with their default value changed, select that node, press CTRL+H, disconnect temporary links. You can also right-click > toggle node options. And of course you can resize your nodes. The best thing you can do, however, is CTRL+G, but I avoid it on Stack Exchange because then you need multiple screenshots. $\endgroup$ Jul 29 at 8:18
  • $\begingroup$ Thank you for all your help! It worked really well and it's also really convenient because everything is in the shading tab and I can change the settings as I please $\endgroup$ Jul 29 at 16:07
  • $\begingroup$ I have a question though, in the second setup, what is the block "length"? There's no block with that name so I assume your renamed it but since it's fold down it's impossible for me to know what kind of block it is $\endgroup$ Jul 29 at 16:30

Maybe you could try separating the longitude area or whatever area is causing the problem with Separate -> Selection (keyboard shortcut P) and convert it into a different object and apply the modifier(s). Finally, you can join the objects back together with Ctrl + J.

  • 3
    $\begingroup$ Hi, thanks for the post. This site is not a regular forum, answers should be substantial and thoroughly explain the solution and required workflow. One liners and short tips rarely make for a good answer. If you can edit your post and provide some more details about the procedure and why it works. Perhaps add a few images illustrating the workflow and final results. See How do I write a good answer? $\endgroup$ Jul 28 at 16:53

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.