UV Less Image Projection?

Hi All,

I am just wondering if Blender supports the kind of camera projection mapping that C4D does?

Basically an image will be cast from the camera into the scene and fall upon geometry without the need for any UV mapping. All Blender techniques I have seen in tutorials seems to require UV maps and cutting the image apart.

Is there another way?

In blender internal You can create a spot lamp, add an image as texture and project it on the geometry. Make the spot shape Square, and match the size to the field of view of the camera.
Add a copy location, copy rotation constraint to the lamp and using the camera as target.


I still prefer the “UVPorject” modifier, to have more control, but that one does require all the geometry to be UV unwrapped.

1 Like

Yea, UV project modifier is quite nice. It needs a UV map but could just add one for object data, don’t need to properly seam and unwrap the mesh. Although there is a slight complication if the mesh already uses a UV map for other textures for example, then it needs one more and the modifier to use the correct one.


In that one I added UV maps to selected objects with python and then copied the UV project modifier. Material is also shared.


for obj in bpy.context.selected_objects:
    bpy.context.scene.objects.active = obj
    bpy.ops.mesh.uv_texture_add()

Thanks for the tips.

I’m trying out cegaton’s suggestion and I just can’t get it to work right. Can you take a look at my scene? I think I have the viewport setup correctly, but the final render looks nothing like what I see.

Attachments


27_project_image.blend (364 KB)

On the lamp
Set image mapping extesnion to extend
and the mapping coordinates to view.

On the lamp
Set image mapping extesnion to extend
and the mapping coordinates to view.

Attachments


sorry for the double post…

I still suggest you look at the UV project modifier… https://www.youtube.com/watch?v=CvqLbGaHTzQ

Ptex? But it is not available in Blender (yet).

Somewhere in between 2.58 and now there used to be Sticky project mode. Sorry to be pita but that seemed to be easier to use.
How would you go about baking the result (after managing to properly adjust projection) of UVProject modifier now?

There is a Sticky mode removal discussion

@cegton: thanks for the additional information, my render now works using the Lamp projection method. However, there is no way to use non-square images using that technique. (Am I wrong?). The spots shape only projects a square, not a rectangle. I tried changing the scale at the image level but that just produces blurred edges.

I have been playing around with the UV Projection modifier as well and it does accomplish nearly the same thing except it does not seem to support background. I have been looking for a way to emulate the C4D camera projection method described in the Greyscale Gorrilla Camera Mapping tutorial.

Cycles background does not work either. This kind of surprises me. There is no way to just set an image as a background in Cycles? If I use a background shader it becomes a sphere. If I add a diffuse with an image for color to the background it does not work…

I have been searching for a ‘true’ camera mapping tutorial for Blender but they all involve what I call fancy paralaxing. I really don’t want to get into chopping the image in any way. But I do want to get a camera move out of a still image. Does anyone know of a Blender based tutorial like that?

Thanks

Hmm…I still have not had any luck setting up the Cycles version of a UV Projection system. Can someone explain what I am doing wrong? I am using the node setup posted above but the mapping for my ground is way off.

Attachments

27_CYCLES_UV_project_modifier_1b.blend (373 KB)


You haven’t assigned the image to the modier!


I saw that you finally went for the UV projection.
That’s the most sensible approach, now you’ll be creating your geometry and texturing at the same time!

Just to get the record straight for the UV-less technique in case someone is interested.

Set image mapping to clip and then scale the mapping coordinates to the aspect ratio of your image (Y:1.55 in your case) and the image will be scaled back to it’s original proportion. Then just readjust the spot shape angle so the image fills the frame on its horizontal aspect.
You don’t need a plane to project on if you turn on the Background image and use it as reference.

The most complicated part of working this way (or any camera mapping really) is going to be matching the perspecticve of the real camera with blender’s camera


When you’re done modelling you can just unwrap your UVs from view using the camera view to assigin your surfaces…

That’s not correct You can use an image as background als long as you are not on render view.