6
$\begingroup$

How can I create an invisibility cloak? It should be an invisible object which causes other specified objects to become invisible when it covers those objects.

$\endgroup$
8
$\begingroup$

After reading Leon Cheung's answer, I've redone my solution:

Say you have this setup

enter image description here

and you want to make the plane into an invisibility cloak that affects only the red monkey.

First, make the background transparent (see here for help).

For Blender Render, select the plane, and under the Materials tab of Properties window, enable Transparency, select Mask and set Alpha to zero:

enter image description here

For Cycles Render, select the plane and set its material to Holdout,

enter image description here

For both Blender and Cycles Render, you create two render layers: one with the invisibility cloak and objects affected by it, and one with the normal, unaffected objects.

Then create this node setup:

enter image description here

and the result is:

enter image description here

$\endgroup$
7
$\begingroup$

Your own solution seems nice enough. For Cycles, I just want to share with a simple way, which needs just two renderlayers and less nodes:

  • For the cloak object, you can use Holdout shader.
  • For cases related to Z, you can simply add a Z Combine node (as you did in your own answer). Furthermore, Alpha Over brings more control on Alpha. Anyway, it could be one solution for Cycles. :)

enter image description here

Example File

$\endgroup$

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.