Unwrapping a uv mapped sphere to print 2D graphic

unhandled

#1

I am trying to take a sphere that has an image map and unwrap the image like the sections of a beach ball so that it can be printed out as a 2d image that can be reassembled on an actual real world sphere. I realize the surfaces will be faceted, but if it were broken up into 12 (orange peel)segments, the tolerances would be fine. Any work flow suggestion???


Unroll 3d model with texture
Hi Res Jpeg from Material Texture
How do you flatten 3D objects with textures into printable material 2D Patterns?
#2

Hi Zack,

here is one approximated way to do it, i created a segmented nurbs sphere first, later i´ve created a mesh from it in order to unwrap it including its mapping:

  1. Create a vertical half circle and select it
  2. Use _Revolve, enter 0 as start angle and 360/12 as end angle
  3. The result should be one of 12 segments of your nurbs sphere
  4. Use _ArrayPolar, pick the center and enter 12 to create a full sphere made of 12 segments
  5. Join the segments into a single polysurface, this is your sphere
  6. Assign a spherical mapping to the sphere and a texture map like the one attached below
  7. The sphere is now mapped spherically and ready to be flattened
  8. Create a mesh from the nurbs sphere, use the command _Mesh
  9. Explode the resulting mesh into its 12 segments, hide or delete the nurbs sphere
  10. In my example i´ve named the segments S1 to S12 to not confuse things
  11. To unwrap with retained texture assignment, i´ve used the _Squish command with these settings:
SplitSeams=No  
PreserveBoundary=Yes  
Deformation=Free  
Material=Rigid  
Outside=Up  
Decorate=No 

Note that i´ve did this individually, for every segment i´ve used _Squish and layed out the results side by side. The result could be printed in top view and then reassembled into a sphere. Below is an example file together with the texture i´ve used. Once you open the file, it will extract the embedded image file into a folder next to the Rhino file.

Tips. To create it with more accuracy, create flat segments (in one direction) instead of curved ones resulting from the _Revolve command. You can as well create this with finer meshes before using _Squish.

UnwrapEarth.3dm (1.2 MB)

c.


#3

Clement,
You are a rock star!..that is exactly what I was trying to do!

I have another question, if you are up for it.
I am trying to project a 2d image in “front view” onto the front hemisphere of the sphere. However I don’t want the image to appear to wrap from the straight on vantage point. In reality the image will be stretching/distorting as it maps around the hemisphere. Similar to projecting a circle curve on an angled surface. From the front it will look circular, but in reality it is an oval. Any thoughts?


#4

If i understand correctly, you can use the same workflow as described above. On the Nurbs segment, apply a planar mapping in the front view instead of using the spherical mapping, then mesh the nurbs segment and use _Squish to flatten it for printing.

does that help ?

c.


Capturing a 2d image map from a ray traced reflected image
#5

Yes, thank you. I did that and it worked.

I appreciate your help today!


#6

Hello!
Please explain to me how to apply the
"6.Assign a spherical mapping to the sphere and a texture map like the one attached below", step by step.

Thank you!


#7

Hi @a_lex,

with the object selected, open the _Properties panel. Then click on 1 and choose spherical mapping type (2). Now just press Enter multiple times and accept the command defaults.

c.


#8

ok. solved. Thank you!


#9

how to print the unwraped sphere with texture included? when I try to render, it renders just the sfere, without texturing the unwraped sphere parts.


#10

@a_lex,

that is a rhino 5 bug which has been there for a long time. The workaround is to not render it, which by the way would add lightning to your unwraps and should be avoided. Instead do this to get a larger output:

In the material properties, disable the option “Enable diffuse lightning” as shown in the image below (click on the image to see it full size):

Now use the hyphened version of _-ViewCaptureToFile, in the command line set the _Size to a larger value eg. 2 to scale the view twice and optionally set TransparentBackground=Yes to capture with transparent background. For this, an image format which supports alpha channels (*.png or *.tif) is required:

After capturing, open your image file in photoshop and you should get this:

@pascal, i hope you see that, the bug described above is even worser in the Rhino 6 WIP. If you open the UnwrapEarth.3dm file the mapping is unusable.

c.


#11

Thanks for your great help. It works! :slight_smile:


#12

Hey Clement, thanks for sharing the updated workflow. I’ll put it in my file.

Please excuse typos and brevity.


(Pascal Golay) #13

Hi Clement, I do see that - I think I added a bug back then, but I’ll make sure - thanks.

-Pascal


#15

Hi Guys, standing on the shoulders of giants here… I got this to work in rhino 6: here is how… props to all who I have copied and pasted from , Thank you for all your hard work guys. :slight_smile:

Make top view rendered style
Go to options/view/rendered/lighting method/no lighting
Click on texture pic ball on materials
change type from picture to custom
click on little arrow next to colour
down to edit
change type from simple bitmap to bitmap texture
Scroll down and change mapping channel to 1 or whatever works

_Squish command with these settings:
SplitSeams=No
PreserveBoundary=Yes
Deformation=Free
Material=Rigid
Outside=Up
Decorate=No

Now use the hyphened version of _-ViewCaptureToFile, in the

command line set the _Size to a larger value eg. 2 to scale the view

twice and optionally set TransparentBackground=Yes to capture

with transparent background. For this, an image format which

supports alpha channels (*.png or *.tif) is required:

You can also right click on the viewport name and choose Capture

and To File and choose your options :slight_smile: