3
$\begingroup$

(This question is coming from geospatial background and not a 3D modeling background, so I may have some terms mixed up)

I am using the BlenderGIS add-in ( https://github.com/domlysz/BlenderGIS ) to easily add geospatial data to Blender. Primarily I am using it to combine elevation and aerial photos to create scenes similar to what you see in Google Earth. The aerial imagery is "draped" onto the surface. Basically a pixel of the 2D imagery is shown on the 3D point of the 3D surface, from a straight down perspective. This results in photorealistic view of the terrain at "airplane window" scales. The technique works great except for areas with extreme topography such as sheer cliffs. With cliffs, the result is unnatural streaks.

To counter this I would like to figure out how to "drape" a surface photo onto the side of the surface, and then blend it with with the top-down aerial photo. I'm fine with breaking up a photo into reasonable parts to get it done. I just need to know how to designate the area that each photo part should be "draped" to the surface.

Illustration:

This is the result of draping the aerial photo onto the elevation surface, note the streaking. enter image description here

This is the a surface photo from nearby the above scene. How can I drape this photo on the Blender surface so that the sheer cliff is shown more realistically without the streaks? enter image description here

$\endgroup$
  • $\begingroup$ Roughly speaking I'd recommend starting by projecting the surface photo onto the mesh only, in a satisfying manner that suits your point of view well. After that you can then worry about masking it, possibly directly in a material with mix between the two images using a third hand-painted image as mask. My answer here may help with the first steps. $\endgroup$ – Duarte Farrajota Ramos Jul 20 '17 at 4:19
2
$\begingroup$

I would approach it like this:

Find out what camera sensor size and lens where used to create the picture.

Create a camera in blender that matches those characteristics.

Add an image as background, and set it to Front with an opacity of 50% (so that the image is always present over the model)

Then activate Lock Camera to view, move the camera until you find the spot where the photo was taken from using the background image as a guide.

Once you find the location and rotation where the photo was taken from, use the UV project modifier on the landscape object and set the camera as projector for the texture.

Note that this is not an easy task in any way.

| improve this answer | |
$\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.