Saturday 20 November 2010

Visualisation Techniques : Cells

Experimentation is often the key to success, and computer graphics are no exception...

Recently, I have been manually building a 3D scene from some mathematical data (due to problems using MEL to import this automatically), so I needed to start work on how the data could be represented.

This first data-set features cells which multiply over time, and also change colour (which represents their type, or stage). Previously I had already tested changing particle colours (early results of this can be found here) so it was time to experiment with how these spherical 'cells' might look.

Working separately to the data setup earlier, I started off creating a polygonal sphere, and using a surface emitter to create the particles. I started by key-framing the emission rate, but then decided to output the required amount of spheres and set the initial state (so that we did not see the creation of the particles). I created a simply three-point lighting setup, and animated a camera moving through a 90-degree arc - the scene was now ready for aesthetic testing.


This first example shows the particles, rendered using the Blobby Surface render type. The Radius and Threshold were then key-framed and oscillated, to create a moving, pulsing surface. Ideally I wanted each particle to pulse individually, but I had difficulties in doing this. Using a Blobby Surface created a simple effect, with required very little computational time on render - something which might outweigh the 'awkward' pulse effect when hundreds of cells are required (and can pulse at different intervals to each other).


This second example builds on the first, although uses the Cloud render type. This was combined with a Lambert surface, and used the same animated Radius and Threshold. The cell was animated to rotate on the XYZ-axis, giving more variance visually. I preferred the effect created here, as it seemed more random, but there was not enough definition in the shadows or highlights, forcing the cell to appear flatter than it actually is. Also, several 'holes' appeared in the surface, which was an unwanted effect.


This third and final example is a development of the second, and uses a Ramp shader instead of a Lambert shader combined with a Particle Cloud node. The Ramp shader used the 'glass' preset, and was recoloured to be more neutral. I found that this video looked the best, and gave almost a glass-like look to the cell, with visible shadows and strong specular highlights. When the cell turns green, the glass outer-casing becomes more apparent, something which contributed to the overall style of the cell.

Although great progress has been made here, and I particularly like the third example, it took considerably longer to render. Also, the cell still 'pulsed' in an unnatural fashion - something I would like to correct moving forwards.

Although more work still needs to be done, I happy with the results so far, and it is always good to see progress being made.

No comments: