0
$\begingroup$

I would like to get "borders" using the Transparent BSDF function of the Cycles Render engine.

I would like to get something like this: (see EDIT below)

which is from the blender documentation. If I simply take the start up cube and add Transparent BSDF with some color I get this: enter image description here

I've tried to add planes in the background, but than I saw some weird effects. Is it possible to add the borders (or edges) of the cube?

Thank you very much in advance!

EDIT: I found something which is exactly what I would like to replicate: enter image description here I would like the transparent cube being sandwiched by something transparent as shown in the image. I've tried using solidify as suggested, but that doesn't give me the edge which is closest to the viewer. I am happy for any suggestions.

$\endgroup$
  • 2
    $\begingroup$ The example in the docs looks that way in part because it has thickness. Try adding a solidify modifier to your cube, and see if that produces the effect you are looking for $\endgroup$ – gandalf3 Jun 24 '17 at 6:11
2
$\begingroup$

I believe you are correct in using a simple Transparent shader to get the effect from your sample image - but the simple model of a Cube doesn't have any overlapping geometry to show the effect. A more complicated (overlapping) model would produce this result :

sample

As suggested by @gandalf3, adding a Solidify modifier to the cube might add the underlying geometry to get you the result you're looking for.

transparent with solidify

$\endgroup$
  • $\begingroup$ Thank you very much for your answer. I've tried solidify, but it still doesn't look like the front 3 edges are missing. I have found an image more closer to what I was looking for. Can you give another suggestion how I can achieve it (see EDIT in original question). $\endgroup$ – user40615 Jun 24 '17 at 10:21
  • $\begingroup$ @PhysX Ah. I think I understand now. You need something that is partially transparent but also partially diffuse. Try usingg a Mix node to mix between a Transparent and a Diffuse shader. Vary the Factor to change how transparent it is. I'll update my answer later when I can showing an example if that helps. $\endgroup$ – Rich Sedman Jun 24 '17 at 10:33
  • $\begingroup$ Like this : i.stack.imgur.com/G4Bz1.jpg - vary the Mix node to affect the amount of transparancy. $\endgroup$ – Rich Sedman Jun 24 '17 at 10:42
  • $\begingroup$ Thank you very much, this was basically what I was looking for. I still ended up adding planes in the back to enhance the effect. Also I was hoping to get both a little stronger. The more transparency I add, the less borders I get (and vice versa), but I guess that's how I'll get it... $\endgroup$ – user40615 Jun 24 '17 at 13:14
  • $\begingroup$ @PhysX I've added an alternative answer. I hope this helps. I'll leave this answer in case anyone finds it useful. $\endgroup$ – Rich Sedman Jun 25 '17 at 22:38
3
$\begingroup$

The simplest solution is to use a Mix node to mix between a Diffuse and a Transparent shader. Set the Diffuse shader Color as required. For a less "washed out" look, tone down the Transparent color from the default white to a lightish shade of grey.

semi-transparent

I notice that the sample provided in the question does not cast shadows on each subsequent layer. This can be achieved by adding a Light Path node to use the Is Shadow Ray to mix in an additional Transparent shader (set to pure white) so that it is invisible when determining shadows.

semi-transparent - no shadows

Taking this a stage further, we can use a single color to control the Diffuse/Transparent shaders with a Mix node to control the 'whiteness' of the transparency - this seems to give good control of the appearance without having to manually adjust the color of both shaders. Adjust the Fac of the two Mix nodes to get the desired result.

semi-transparent with RGB

Combining multiple materials with different colors and levels of transparency (and using a Sun lamp positioned to give good contrast between adjacent faces) can produce the following result :

final

To further highlight the edges you can enable Freestyle (in the Render properties) and control the Freestyle Line Style in the Render Layers properties (here set to 1.5 pixel width in dark grey).

final+freestyle

$\endgroup$
0
$\begingroup$

I think the image you are basing your effect off of is using a "Volume" shader. This approach may be a bit easier. You have the right idea with the "Transparent" shader, but we are going to utilize the different render layers.

First, make two cubes, and scale the second one to the size you want the border to be. Add an "Emission" material to the Outline cube, and set the color to what you want. Then, move that cube to layer two, by pressing M and selecting the second box. In the bar at the bottom of the screen, you should see the same set of boxes. Hold shift, and click both the first and second box, so you are able to view layer 1 and 2 simultaneously. Now, navigate to the "Render Layers" panel. Name the current one "Base Cube," and check the first box under "Layer" and the second box under "Exclude". It should look like this: enter image description here

Now, make a second Render Layer by clicking the plus icon. Name it "Outline," and check the second box under "Layer" and the first box under "Exclude." This new setup should look like this: enter image description here

Next, under "Passes," check the "Object Index" box. Select the Outline, go to the "Object" panel, and set the "Pass Index" to 1. Do the same thing to the Base Cube, but set the "Pass Index" to 2. Now what we have are two cubes on two separate layers, so we will be able to lay the Base Cube over the Outline.

To do this, select the "Node Editor" menu, and select "Compositor." Check the "Use Nodes" box, and duplicate the "Render Layer" node using Shift+D. In the new "Render Layer" node, select "Outline" as the layer. Add an "ID Mask" and connect the Base Cube node's IndexOB output to the ID value input of the ID Mask node. Set the "Index" to 1, and add a new Mix node. Connect the Outline to the first image input, the Base Cube to the second image input, and the Base Cube ID Mask to the FAC input. What this does is add the Base Cube on top of the Outline wherever the Base Cube is. Finally, connect this "Mix" node to the composite image input. The nodes should be laid out like this in the end: enter image description here

Time to Render!!! Select "Image > Save As Image" to save the outcome. This is the final result: enter image description here

I hope this is the effect you are looking for. This is a versatile method for a number of things, and it should work fine with planes as well. Let me know if you have any questions. Happy Blendering!

Cheers,

Graves Broderick

$\endgroup$
  • $\begingroup$ It appears that I misunderstood what you were trying to achieve, but I spent like 45 minutes on my answer! Sorry about that, though, it may still be useful to you at some point. $\endgroup$ – Zacocast Jun 24 '17 at 7:21
  • $\begingroup$ I still appreciate your effort ;) I've clarified what I'm exactly looking for, maybe you have another useful suggestion for me. And don't worry, you didn't totally wasted your time, I am new to blender so I still tried it to learn something new. $\endgroup$ – user40615 Jun 24 '17 at 10:23
  • $\begingroup$ Blender is a wonderful tool, and there are tons of different ways to create different effects, so thanks for being so open minded! I'm new to the idea of forums, so I'm still learning how to better interpret peoples' questions. Good luck! $\endgroup$ – Zacocast Jun 24 '17 at 19:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy