3
$\begingroup$

I am extremely new to Blender, and I am only using it because there is no dedicated program on Earth that lets you draw onto or place images onto a globe and then create a map projection from it. I am following this tutorial.

What is the best way to add a PNG image to the surface of an sphere and move it around? I don't want the image to be the texture for the whole sphere, I want it to be a continent on the sphere.

How can I move images around on a surface like shown in the gif in this guide?

enter image description here

Can you help me with a basic way/workflow to

  1. add multiple .PNGs of continent shapes onto a sphere
  2. move them around, scale, and rotate them (preferably as easily as in the gif)
  3. project and export the result as a map projection image (equirectangular is probably best?)

Thanks for your help.

$\endgroup$

1 Answer 1

4
$\begingroup$

I may miss the obvious solution (and maybe someone will propose Geometry Nodes?)

A method would consist on simply create a second sphere, that is slightly bigger than your globe, give it a material with your image on transparent background: Plug your Texture > Image Texture with your image into the Color input of the Principled BSDF and the Alpha into the Alpha. In Eevee in order to have transparency you need to go into the Material panel > Settings > Blend Mode > Alpha Blend, and Shadow Mode > None. Parent your globe to an empty and rotate with RR until it has the wanted position. You can create as many globes as you have continents. At the end you'll be able to bake onto a unique image texture if needed:

enter image description here

enter image description here

Former solution (Vklidu's): there's a problem with this method as the image will appear at the opposite side of the object, maybe there's an easy fix? Anyway, here is the material setup for the sphere:

  • You need to create one Input > Texture Coordinate per continent, use their Object output, create as many empties as you have continents, select the empty at the bottom of the Texture Coordinate
  • Put a Vector > Mapping behind the Texture Coordinate, you'll have to tweak the Location values to put the image as the same position as the empty
  • Create your continent images (square images with transparent background), load them into some Image Texture nodes that you switch to Extend mode
  • Mix these Image Texture into a Color > MixRGB / Mix mode, use the Alpha output of the Image Texture as factor of the MixRGB. Create as many MixRGBs as you'll have overlapping continents
  • Give your empties a Shrinkwrap constraint with the sphere as Target so that they always stick to the sphere, activate the Align to Normal > Z option

enter image description here

Now when you move the empties, the continents will follow:

enter image description here

For additional continent, just add a new MixRGB node:

enter image description here

$\endgroup$
7
  • $\begingroup$ Thank you so much. I have a few more questions. 1) My continent PNG is stretching and distorting, as well as mirroring itself at the equator. How do I prevent this? 2) How do I move it around like you do in the gif? 3) Can you show what the mix nodes would look like as I add more continents? $\endgroup$
    – NicNamSam
    Apr 25, 2022 at 20:13
  • $\begingroup$ sure, what questions? $\endgroup$
    – moonboots
    Apr 25, 2022 at 20:15
  • $\begingroup$ For additional continents, just add another MixRGB before the Principled BSDF ans so on. For the other questions, could you please share your file? pasteall.org/blend $\endgroup$
    – moonboots
    Apr 25, 2022 at 20:21
  • $\begingroup$ mega.nz/file/… $\endgroup$
    – NicNamSam
    Apr 25, 2022 at 20:25
  • $\begingroup$ For the Shrinkwrap constraint, activate Align to Normal > Z. For the stretched image, it's probably because you need a square image, crop it in an image editor like Photoshop or Krita $\endgroup$
    – moonboots
    Apr 25, 2022 at 20:27

You must log in to answer this question.

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