This world was created as an exploration into what the minimal amount of visual information necessary is to embody forms with a sense of aliveness in a virtual environment. Throughout the process, I focused on using simple geometries in conjunction with detailed lighting models. I kept the forms simple because I wanted the action and interactivity of the forms in the virtual environment to convey presence as much as possible without complex geometries clouding the situation.
In order to get a simple form to animate well, I investigated ways of parametrizing forms. This gave me efficient and non-obvious control of the shapes. The first method I implemented used a set of positions and normals at those positions to define a set of planes. For each plane, a curve was drawn defined by a set of radii and angles and corresponding points in neighboring planes were connected. The simplest, default shape that this parametrization creates is a cylinder.
I eventually went back to a really basic parametrization using spherical coordinates. I precomputed the phi and theta angles for a sphere and simply manipulated the radius to create motion. This wound up being very effective in its simplicity when a translucent shader was applied to the surface and the vertices were gently pushed around by smoothed noise. I am indebted to Jasch's "Furry BFG" patch for pointing this out and which inspired my "Jellyfish" patch posted in response. I eventually evolved the forms in this patch into their current spherical form.
The clip above shows the jellyfish in their current form. They are generated from a double sphere (2 rotations of phi) with the second sphere scaled smaller than the first, creating the inner form. As the first part of the video shows, I added a quilted surface to the spheres generated from tiled 2D Gaussian forms. This causes the surface to interact in a more intersting fashion with the shader model. The final touch is a modification of the "Furry BFG" temporal noise algorithm that slowly shifts the vertices around, giving the illusion that the surface is interacting with a fluid.
In the virtual world, the jellyfish seem to swim around. I animated this by sending a wave from the top of the spheres, around to the bottom. During the wave simulation, I expand the wave as it moves around the sphere both in amplitude and area. When the wave passes off the end of the sphere, a temporal filter causes the end of the jellyfish to slowly pull back, giving a sense of the material of the jellyfish body and the environment it is operating in.
In their current form, the jellyfish provide a real sense of aliveness through their movements and surface interactions with light despite the simplicity of the form as a double sphere. There are subtle cues in how the forms move and animate that provide the majority of this information which is regulated by the well placed and well designed use of feedback in how the forms animate. The way the wave expands when a jellyfish swims and the way its surface twirls, creating subtle lighting effects turns these things from cold geometry into living creatures.