3

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.

moonboots
  • 155,560
  • 7
  • 105
  • 171
NicNamSam
  • 31
  • 3

1 Answers1

4

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

moonboots
  • 155,560
  • 7
  • 105
  • 171