To create the effect for yourself:
- Select the surface of the figure you wish to make a bubble. For my image, I used a sphere primitive, so there was only on surface. For more complex figures (like Genesis), there may be multiple surfaces you'll need to select, or some you may have to set to "null" in Reality in order for it to render correctly, like the jaw and mouth surfaces of most figures (usually hidden by the face surface, but since the bubble is translucent, it'll show through and look... well, weird).
- Set the Lux Material to "Glass," then copy the settings in the image. I looked up the index of refraction (IOR) and film thickness of soap bubbles, so this will save you the work of finding it yourself.
- Make sure Glass Type is set to "Architectural." This gives the best bubble effect. Otherwise, it looks more like a glass sphere than an airy bubble.
- Set your Reflection and Transmission colors to white, then select a multicolored texture for your Reflection Map. For your convenience, I will share the texture I made for the reflection map (circled in red on the image; see below for a link). You know how bubbles have all those pretty colors? Setting a psychedelic reflection map is a good way to simulate this. It's easy enough to make your own in your paint program of choice: swirl around a rainbow gradient over a pale yellow background, then blur to taste. You can also find images of bubble solution online, but I find this works best (and avoids copyright issues).
- Leave all other settings ALONE! This is important: KEEP THE OPACITY AT 100%! Yes, bubbles are translucent, but the Lux Material takes care of that for you, so there's no need to mess with the opacity (otherwise, it looks like a poorly superimposed picture).
- Render as usual. Render your scene as you normally would.
On a side note, in my experience, shiny objects like bubbles, plastic, metal, etc. tend to benefit from IBL lighting, because it gives them more scenery to reflect back.
I hope you found this tutorial useful!
A comparison of the bubble with and without the reflection texture applied:
The reason it looks strange when set to non architectural glass is that the sphere primitive gives a solid sphere, so with the index of refraction set to 1.33 it acts like a glass lens, where as a bubble is a hollow sphere.
Still a very pleasing result in simulating the bubble!
It would be interesting to see how well a modelled bubble would work; not sure if the bubble wall thickness could be modelled to be sufficiently thin to cause the thin film effects; I know someone has made a prism image that splits the light, but it also required a mod to the exported text file sent to lux... What would be interesting would be having the ability to apply a map to the thin film itself, so that the film thickness varied by the amount of the texture, then the colours would be generated by the actual variation in thin film thickness and light conditions!
en.wikipedia.org/wiki/Soap_bub… en.wikipedia.org/wiki/Iridesce… en.wikipedia.org/wiki/Thin-fil…
As for modelling the very thin wall of a true bubble, this might not be so hard using the geometry shell feature in Studio. Create your bubble, shape it a bit with some D-Formers, and then apply a shell to it and set the offset is something tiny like .01 or .001.
I would not be surprised if that was the case; can you link to any info that shows how to do that for the thin film? (either by editing one of the files or some such?) - is this also an ability possible via Blender?
I also guess the 'shell' feature is a studio 4 feature, and I must admit to not having installed 4 yet (4.6 is it now I think?)
Thanks for the additional info, would be interested to see more on this! `¬)
LuxBlend supports ALL features of LuxRender, since that's the exporter that the Lux devs themselves maintain, and they always make sure it supports everything.
To edit the files Reality generates, you'd look in the .lxm file for the MakeNamedMaterial of the surface in question. You'll see that it has specified the film as "color film" [r g b] and index as "float filmindex" [f]. If you change those from "color film" to "texture film" or "float filmindex" to "texture filmindex", you can point them at any arbitrary texture of the appropriate type (e.g., film needs a colour texture, filmindex needs a float texture). You can load a colour texture by duplicating what Reality generates for Kd, for example, and specifying the desired image file. For float textures, duplicate what Reality generates for Ks and set to desired file.