1
$\begingroup$

I am trying to use a generated material as a texture for the backface of a complex object in Blender Internal (an object that already have a texture). The idea, using nodes, is similar to Back face cull rendering. What I want is that the material being used should look like it is projected onto the render screen of the camera.

As an example (see below), I am using a wood materials in Nodes. Even if the object has a complex shape and a texture, I would like the rays of the wood to look parallel in the render view. I thought I could use a geometry node and use one of its output, then a vector curves with the shown curves for the x, y and z coordinates to make any vector pointing towards VIEW, or use a normal node, but I could not get any result. Using a "normal" node as an input for the vector input of the texture node, I get a blank material in the texture node.

Ps : I've looked a lot in Blender reference concerning texture nodes with no clues. I would love something similar to UV unwrapping orthogonal to view, but for the backface part of the material (Noe that the object already is UV mapped since it has a texture already).

Backface Material facing camera test

Does anyone know how I could achieve this ? The ideal would be that it could be used in Blender Internal. If you have a solution for cycles, I could also use it, but prefer the BI solution. I am aware of the Texture coordiates node in Cycles that could help me achieve what I want, but in Cycles only.

Thanks a lot for your help,

$\endgroup$
1
$\begingroup$

You have to use "window" method for texture projection.

Here is blender file with material both for Cycles and internal render, just press Shift+Z and select any of theese renders - result is almost same.

For Cycles it is Geometry Info node, for internal it is Coordinates parameter in texture block properties.

$\endgroup$
  • $\begingroup$ Thanks Dan. The thing is that I already have a texture for the material applied to my object, and what I want is an additional texture used for backface - which should appear as an orthogonal projection of my texture onto the object from the camera. I have made some progress in this direction and will update the question to show them, but they are not yet fully acceptable. $\endgroup$ – Jonathan Chemla Jul 15 '15 at 7:43
  • $\begingroup$ Actually, I found a way. I marked it as the answer. Thanks again, $\endgroup$ – Jonathan Chemla Jul 15 '15 at 8:51
0
$\begingroup$

I managed to achieve what I want now, using a tricky method (easy to understand when thinking about what UV coordinates are).

For the Blender Render, I just do the dot product of the Global output of the Geometry Node with two orthogonal vectors. Then, I combine them back and use that vector result as the UV map input of the Texture Node.

I can then mix this texture with the already existing texture using the Mix Node, and as a factor the Front/Back of the Geometry node.

$\endgroup$
  • $\begingroup$ Actually, this does not work quite as expected. I still have some issues in the lines being not parallel (although they are almost parallel !). Does anyone has a better solution ? $\endgroup$ – Jonathan Chemla Jul 15 '15 at 12:53

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.