Project Texture onto Particles

I’ve created a particle effect with the particle panel…

What’s the best way for me to take a texture and apply it onto the entire particle system, as though the texture was being projected onto the particles? In other words, the particles would almost serve as an alpha mask for the texture… anywhere there was a particle, we would see a small portion of the texture applied to it.

Make sense? Any thoughts?

I haven’t tried this, but I’d expect you could get good results with node.projectTexture(), where node is the particle effect’s renderParent. Have you tried this yet?


Funny you should ask! I actually was trying that out a bit this afternoon, with some success. It seems to work fine when using transparent PNGs, however, when using any MPGs or elements without an alpha channel, the particles would become hidden by the “projected black” of the texture.

Is there a way to “key black?” Or use some sort of lumakey or chromakey function that would allow me to effectively turn the black area of the texture into a transparent area?

Thanks for your help!

You can do that if you write a shader.

Or, you can use smaller particles that aren’t likely to block each other.

Otherwise, you’ll have to generate an alpha channel for your content. You can even do this for a video file; but you’ll have to analyze each frame and generate a companion grayscale video file that you load alongside the primary one (with the two-file form of loadTexture()).