Unfurling a Tree

Hey there! So I’m a newbie but getting into Blender for mesh model processing in design / research, mostly around 3D scanning and printing.

Current problem is a funny one.

I have a digital scan of a portion of a tree trunk and need to ‘unfurl’ it or imprint it onto a surface.

Here is the log:

And the action is almost like rolling it onto a clay bed, getting all the depth and detail imprinted.

Does anyone have a suggestion on how to achieve this? Or any tutorials or links that demonstrate it?

I am a bit of a noob so not sure where to start!

Thanks all!
A

You may look into dynamic paint. This can affect the distortion. Of course you have to animate a rolling. Maybe look for tutorials: skidmarks/footprints in mud …

I think I know how to do this. Basically, you want to make the trunk a displacement map that you can apply to a plane or other flat surface, right? So we need to know where the trunk is shallow/deep from the perspective of the center of the tree.

  1. use a texture with a radial gradient on the trunk. I’m using loud colors so that I can see exactly where the detail starts and stops. I think it’s easier to map from “object” in texture coordinate node. The thing you have to fiddle with is the scale at the bottom of the mapping node, what worked for me was XYZ .8,.8,0; the Z is 0 to give a cylindrical texture not a spherical one. Mess with the color ramp until you just have dots at the high and low points

  2. convert the color ramp to black and white at the extents without changing where the stops are

  3. scale the log by 100 so you are easily inside it. Flipping the normals might be important? I didn’t bother.

  4. change the output image ratio to roughly the width and height of the trunk (not especially important unless you need undistorted prints). move the camera to origin and remove rotation with shift-G and shift-R. change the camera to type “panoramic” and panorama type “equirectangular”. the camera should be rotated on X by 90, and change the latitude min and max to -45 and 45 (or that’s what worked for me). this camera is only available in cycles

  5. if everything works right you should get a render kinda like below. I had to change the camera clip end to 1000 or something also

I went ahead and applied it to a subdivided plane you can see in the step 4 picture, it seems to have worked? There are probably ways to refine this, maybe get better detail using .exr output or something, but I don’t know enough about that. Hope this helps.

Better late than never but thought it was worth pointing out this idea worked like a charm.

Two really good videos helped me here (especially since I was completely new to Blender and animation).

  1. Was as per @Okidoki suggestion, looking at a footprint tutorial. This one in particular helped.
    https://www.youtube.com/watch?v=4Emeeuh1bW4
  2. Then a more detailed tutorial on dynamic paint (displacement and other modes) was helpful:
    https://www.youtube.com/watch?v=m2qUmjwPMjo

For the purpose I am using this for, this was sufficiently accurate. To increase accuracy, you have to increase the subdivisions of the surface that is being imprinted. Obviously the more subs the slower and hungrier the process - which has its limits.

If I wanted a more accurate result I think @smws approach may be better.

Massive thanks!
A