Take the 2-minute tour ×
Graphic Design Stack Exchange is a question and answer site for Graphic Design professionals, students, and enthusiasts. It's 100% free, no registration required.

In IronMan 3, Eve-Online, or Star Trek, 3D models render in a bluish fashion.

Examples:

enter image description here

enter image description here

Is there a simple way to achieve this result with my own models? I typically use Blender, but if it is easier in another software package, I'm pretty agnostic...

share|improve this question
1  
look up facing ratio. basically its a shader that has a color ramp connected to the angle between surface normal and camera look direction. Even the worst renderers can do this as lights use the same calculation sp placibg a light at camera will get you inverse of this effect. Also search for xray shader. –  joojaa May 25 at 9:30
    
@joojaa that looks like a good option to me. Thanks for the pointer! –  Kheldar May 26 at 11:04
    
Related: blender.stackexchange.com/q/15737/599 –  gandalf3 Sep 11 at 2:21

3 Answers 3

up vote 7 down vote accepted

This is pretty easy in cycles, by mixing a transparent node with an emission shader based on how close the camera is to facing the normals head on.

You can get the "facing" value with a Layer wieght node or by taking the dot product of the normal and the incoming rays from the camera:

enter image description here

These methods are pretty much equivalent, though you have a handy blending factor if you use the layer weight node.

Plug this into a mix node:

enter image description here

And you get this:

enter image description here

To get rid of the geometry behind the rest of the model, you can use the Transparent depth output of the lightpath node (note that this output is only available in the latest development versions of blender, but it will be in 2.71)

This value goes up based on the number of "transparent bounces" (a transparent bounce refers to the sampling ray passing through a transparent layer/surface of the mesh). Since we only want to see the top layer, we can use a Less than math node and a mix shader node to make every bounce past the first bounce (bounce 0) will use only the completely transparent shader (Transparent Depth is never negative, so this is basically testing if it's equal to 0).

enter image description here

enter image description here

If you want more control, you can use a ColorRamp node to fine tune the blending as much as you like:

enter image description here

enter image description here

Here is an example .blend for you to play with.


Note that I hid some of the input/output sockets on the nodes with CtrlH to conserve screen real-estate. So they might look different.

share|improve this answer
1  
Thanks for popping over here to answer this. I'm wondering if we should migrate this and maybe some of the other Blender questions over to your Blender Exchange. Want to drop by meta.graphicdesign.stackexchange.com/questions/1122/… and leave your thoughts on the subject –  Ryan May 30 at 13:14

There's possibly at least 4 phases to creating this look.

  1. Reduce or adjust your models to their shapes as per visual recognition, not how the model is actually made. So instead of polygons or NURBS, find those delineations of shape and form that communicate the desired message of the shape. See IronMan's helmet for an instance of this. It's only the Outline and a Seam that's being shown, not the 3D geometry/topography.

  2. Give these "lines" a weight by way of light. It's actually white light that's being either transmitted or received on these "lines" that's given the effect of showing you the shape. I say "lines" because often they'll be geometry far more complex than mere lines to give these "lines" their weight as per their emittance or receiving of light.

  3. Render your objects as filled objects in whatever colour you like. Blue, as you're stating.

  4. Composite the different renders in something else and balance up their relationship to one another to get whatever look you consider to be ideal.

share|improve this answer
    
Thanks for the suggestions @Confused, though I believe the result obtained would be of a much higher level than the low requirements I have, and it doesn't exactly fit my definition of "simple way". Upvoted ^^ –  Kheldar May 26 at 11:07
    
Sadly (perhaps a reflection on me) I think this is the simplest way. Try anything you like, but steps 1 and 2 are going to be much more crucial than you first realise or imagine. And much harder than you might first think because you didn't originally create your models for this intent. If you ignore them, and only do a "geometry = light" rendering and a body rendering, then composite, you'll fast see the problem with non-purposeful geometry. And it will be much simpler. –  Confused May 27 at 7:55
    
Thank you so much for your help! –  Kheldar May 27 at 11:15

I think you need a Fresnel material. I don't know how it's achieved in Blender. It reflects 2 colors. One would be black for the normals pointing at your eye and blue for those who get perpendicular to your eye. If you don't know what I mean read this:

http://www.3drender.com/glossary/fresneleffect.htm

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.