I was wondering if there is a way to edit a png texture to allow light to shine through its alpha channel. As though the transparent alpha not actually present in 3D space to block the light. I am using Blender Internal with a spotlight to cast god rays behind my object, and as of right now, the transparency on my mesh plane is blocking out the light.
Any solution is greatly appreciated, and if you also know how to solve the problem in Cycles, I'm open to that option as well (as I know I will be completing similar projects with Cycles as well).
1 Answer
In Cycles you don't need to do anything special, just set your material to use the image's alpha channel to control the mix of a diffuse (or other shader) and a transparent shader. The light will pass right through the transparent areas:
To get volumetrics you need to change the world texture to have some volume scatter (and increase the intensity of your lights a bit):
For Blender Internal it's a bit trickier:
Set the transparency for the material by enabling the transparency box and moving the Alpha value to 0:
On the texture settings enable the
Use Alpha option for the image
and on Infulence settings enable Alpha
That will let the light pass through the texture, but other objects will receive the shadow of the mesh, not the transparency of the texture.
For other objects to receive the shadow cast by the transparency, you have edit their manterial and on the Shadow section enable Receive Transparent
Now... as far as creating a volumetric light that uses that transparency... It just doesn't seem possible.
The buffer shadows on the lamp seem to be follow only the mesh...
When you are expecting for something like this:
To create such image, you need to have a real mesh, not just a texture, to create the correct shadows.
-
$\begingroup$ This was super helpful! Thank you. I'll probably just switch over to Cycles for this project then. $\endgroup$ Commented Oct 13, 2015 at 21:10