Sunday, 14 April 2013

Implementation Method & Deformation

I have started the implementation of my tool for Maya. After testing, I have decided to use the transparency map method as the basis for creating bursting soap bubbles.

After testing the nParticle based method, it became clear that it required too many particles and therefore also too high polygon count geomtry to make the effect look good.

It also became apparent after testing the cage node method that high poly geometry was also needed for this.




I have also been testing out using the Wave deformer in Maya to create the effect of the shape of the bubble rippling over time.




Maya Bubble Wave Deformer Test from Mickey Bowen on Vimeo.

Saturday, 9 March 2013

Transparency Maps Revisited

I have continued testing using animated gradient transparency maps to create the bursting bubble effect. One thing I have attempted is to layer the transparency of the bubble's shader witht the transparency of the gradient. I tried this by using Maya's "Mult Double" node. I created three of these nodes, connected the out colour of the gradient into their inputs & connected their outputs to the colour of the shader as illustrated below.


 This however didn't give the desired results as shown below.








 As you can see, the part of the bubble which has burst is not fully transparent.

Another test I did was to see if I could solve the problem of the specular highlight showing up in the transparent areas. I tested this on the Mental Ray shader "mia_material_x". This proved to be more successful.





 I acheived this by simply using the "Reverse" node in Maya to invert the colours of the gradient so that it would only show the specular highlight on the side of the bubble which is still visible.



Sunday, 10 February 2013

Renderman Shading Language

As part of my tool, I intend to write a shader to replicate the effect of thin film interference which as previously mentioned is one part of a soap bubble's appearance. To help with this, I have bought a copy of "The Renderman Shading Language Guide" by Rudy Cortes & Saty Raghavachary.

Rudy Cortes is a shader writing TD who has worked on such feature films as:-
  • The Day After Tomorrow (2004)
  • Sky Captain and the World of Tomorrow (2004)
  • The Ant Bully (2006)
  • Meet the Robinsons (2007)
From what I have read so far, the book contains various mathematical operations, such as the dot product. This is used in shading to calculate the light contribution from the scene lights onto the surface shader.

"If the two vectors are parallel and point towards each other, the angle between them is 0, and the dot product returns 1 (cosine of 0 - 1). If the vectors are perpenduicular to each other with an angle of  90 degrees between them, then the dot product will be 0 (cosine of 90 = 0)." - The Renderman Shading Language Guide (2007) by Rudy Cortes & Saty Raghavachary - Chapter 5: Math for Shader Writers.

The way it works is the x, y and z of two different vectors are multiplied together respectively and then all added up together.



The dot product notation is written as two vectors with a dot in between them.

For example:-

v1 = [1,2,3]
v2 = [4,5,6]

v1.v2 = (v1x * v2x) + (v1y * v2y) + (v1z * v2z)

v1.v2 = (1 * 4) + (2 * 5) + (3 * 6)

v1.v2 = 4 + 10 + 18

v1.v2 = 32

I also intend to research further into the details of how light works in terms of refraction and reflections etc.

Sunday, 20 January 2013

Testing Secondary Effects

In studying how soap bubbles burst, I discovered that when it happens the bubble breaks into much smaller molecules. I have done a test in Maya to see if I could recreate this phenomenon. I did this using the black and white gradient from the previous tests as an nParticle emission map with the paricles emitting from the dark areas of the gradient. This would make it look as if the particles are being emitted as the bubble is bursting. The results of this test can be seen in the video below.


Maya Bubble Burst Secondary Particles Test from Mickey Bowen on Vimeo.






The idea for this test came from a video by Youtube user "Joseph Sohby". However, the video he made is not in English but I just watched what he did and tried it out myself. He also used particles to drive a lattice deformer on the bubble geometry, which is something I am also planning to try.


Wednesday, 16 January 2013

SOUP Dev - Cage Node

I have recently discovered a set of nodes to extend the functionality of Maya called SOUP Dev from soup-dev.com. One of these nodes which I have become interested in trying out is the Cage node. This node takes two pieces of geometry, one which acts as the clipping boundary and the other which gets clipped. Which ever part of the geometry falls outside of the boundary gets its polygon faces deleted.

I thought this node may come in useful for creating the effect of bubbles bursting, which I intend to test further. But for now, here are some of the examples which the SOUP Dev provide.




Saturday, 17 November 2012

Plateau’s Laws

I have recently been looking into some principles of physics known as “Plateau’s Laws”. These laws were introduced by Belgian physicist “Joseph Plateau”. These laws state the following:-

  • Three bubbles intersecting must always do so at angles of 120 degrees. These are known as “Plateau Borders”.

  • Each Plateau border intersects in fours at one point at approximately 109.47 degrees.

  • Soap film surfaces are entirely smooth.

  • The mean curvature of the soap film is constant on every part of the film.

I also found a blog on WordPress called “WeWantToLearn.net” which has an article discussing these laws and applying them within a program called “Grasshopper”. This is a graphical algorithm editor integrated inside another 3D program called “Rhino 3D”.

Sunday, 11 November 2012

Another Test (Take 2)

I have carried out the same test as before, but this time with a higher particle count. This was done by using a higher poly sphere. I decided to do this because after meshing the first one, I noticed that the mesh turned out a bit too blobby, which I didn’t feel looked good enough. Another thing I noticed was how the particles were being meshed. When I meshed the particles created by using the “Fill Object” command, it meshed around the particles. When I meshed the particles created at each vertex of the polygon sphere however, it not only meshed around the outside of the particles but also on the inside as well. This could pose a potential problem in terms of shading the bubbles. The reason being because of the fact that bubbles are of course transparent, which means that the inner mesh would be visible when rendered.



I also meshed the second attempt and I’m more pleased with the results of this one. However, I still need to play around with the output mesh attributes in Maya a little bit more.


Maya Bubble High Particle Count from Mickey Bowen on Vimeo.

Maya Bubble High Particle Count Meshed from Mickey Bowen on Vimeo.