Planar and Spherical UV Projections

Hi Guys.

How can I project a simple plane into the UV of a volume? Something similar to Camera, in the node editor.

And a UV sphperical projection?

The answer is simple. You need to unwrap your object. ([U] in edit mode.)

To get a planar projection, use “Project from View”. (It must be done in Orthographic mode from front, side or top view.) This is what is the closest from the Camera coordinates in the node editor.

A spherical projection is obtained with the very explicit “Sphere Projection”. What matters here is that the 3D cursor is perfectly at the center of the sphere or else the projection is totally deformed.

Here is what I did with 2 spheres:

For “Project from View”, I simply unwrapped the 2 halves separately. For “Sphere Projection”, I unwrapped the whole sphere at once, without the poles which I unwrapped separately with “Project from View”, from a top view.

And in both cases, I separated the faces where I wanted the decal to be. ([Y] in the UV Editor.) and enlarged them to cover the texture. Since I didn’t want the texture to bleed through the whole object, I just shrank all the other faces in a corner where the texture is uniform. (Here, I used an alpha channel but it’s irrelevant.)

And the result of these manipulations:

The difference is subtle in this example but it exists. Try both projections with a grid alike texture and you’ll see very clearly.

If you want my blend file to see in details what I made, just ask. (I used Cycles.)

Thanks a lot!

In planar projection i found project from view (bounds) to be the most usefull. :wink:

But spherical projection is quite buggy.

Some vertexes are offset. I Tried to add some seams to align the top and bottom row, but It is a complete mess XD

I think this spherical and cylindrical projections should not be unwraped, but aplied directly as a Vector, becouse it is practicly impossible to unwrap a UV sphere to a 2D image becouse that single vertex on the top and bottom.

Fot the moment that will do. Thanks again!

I do it like this. do some remodel and get rid of the one vert on top and extrude the ring of verts to replace (do not scale to zero till after the unwrap) it same for bottom and make one seam top to bottom , front or back. There is a tut somewhere.

Sphere Projection isn’t bugged… :smiley: Blender just does what it can with the poles. That’s why in general, you exclude them before to unwrap and you get a perfect grid. All that remains is to find what to do with these nasty poles. :wink:

And the seams are useless, simply ignored by Blender… expect for the “pure” unwrap, the one you get when you click “Unwrap”.

Kazinger, I’ll try that, thanks for the tip.

Kaluura, by buggy I mean this gaps. They shouldnt be offset like that :slight_smile: I’ll probably coment it on blender’s forum.

I’ll edit the vertex to get rid ot that.

Thanks guys!

Another question.

I’m testing the planar uv mapping, and experimenting with decals. I’m using the same uvmap for both, the texture and decal.

In this image the texture is the white background and red stripe, and the decal the white circle and number.

How can prevent the decal from projecting to the other side?

I gess I have 2 options.

  1. Repeat the material without the decal and assign it to half the faces, I don’t like this option verey much in complexes materials.
  2. Somehow assign UV to just half the faces and use this second UV map just before my Mapping node.

But I don’t know how to make either option :smiley:

Can you guide me please?

You just do like I showed you in my first post: You unwrap by half. Nothing special to do for the half with the number. For the other half, you shrink the UV island, not in a corner like in my example, but on a side.

Done! :smiley:

Thanks, I need to practice.

Hello, If possible, I’d like to add my question to this thread. Is it possible or maybe there is an addon that lets to use planar projections which can be animated separatly from the mesh? Something like a flowting decal maybe…

You can use a video, or an image sequence if you want the animation to be rendered at the same time as the mesh, or you can add some transparency or green screening to compose the animation later.

Uforunatly, that does not suit my case. I guess I did not explain my self fully. The need to move projection is needed because it could go both ways. In one case the object stays still and projectionmoves, in another - projection stays still and object moves. My current case is the latter actually. I need to change that objects shader based on how it travels in 3D space. So the free flowing projection with a gradient as a mask would be a huge help. I hope it doesn’t sound offensive, but I come from differt 3D package, so I can’t think of alternatives for now…

Trying to answer my own question:
I could use 2 renders with different shadets/textures and then render out Zpass to use as a mask in post. But that solution is far from ideal since it would mean that I am locked to the csmera view… Damn… Actually this would not work I think :thinking:

You have that feature, under a menu in the image texture node (given you link it to Texture coordinate > Object)

And if you want spherical coordinates for procedural textures, you have to calculate them yourself.

This sounded like fun, but actually is no fun at all. There is a simple formula and it just works. Disappointingly easy :smiley: :

Also: the sphere on the right (quad sphere) is better for unwrapping.

Yeah, I have nodes for cartesian2polar and polar2cartesian already. I should perhaps upgrade them though, as I still use gradient/radial instead of atan2 which we didn’t have back then. But there is also cylinder and disk mapping (and projection/pyramidial?) that should be present as a default node.

So I guess there is no way to have free flowting UV projections in blender… Gaila, labai gaila…

Of course there is. It has nothing to do with UVs though. Object coordinates give you x, y and z coordinates of any object you choose. Take only any two axis that you need and you get a planar projection. It takes x,y as width and height of a texture when just connected, but let’s say we need a projection from the side - Y positive, then width should be -X and height should be Z: