top of page

NOC: Final Project - Whaaaaales

rendered image of my blue whale in Maya

My final project stuck largely to my proposal in my last blog post, but due to time constraints (and to make the project read a bit better), I decided to dial my ambitions down and limit my idea to 1 species.

However what I've learned is that population tracking isn't exactly accurate, rather it's done through counting smaller percentages and extrapolating larger numbers using various mathematical models. With technological innovations such as GPS trackers, aerial trackers, terrestrial telemetry systems etc., our ability to study populations and track their global movement has gotten much more reliable and easier - but at the same time is still only an estimation with sometimes low confidence values.

Because of this, my idea for this project became a bit trickier to illustrate. So I decided to select an animal that has been the focus of many field studies for decades...whales! On top of being the largest animal on the planet, blue whales are just really neat creatures, but are also endangered. Through my research, I learned that we have been trying to closely tracking the population of this whale for quite a long time - seeing as we almost completely wiped them out during the mid-1900s. This was due entirely to the rampant and unrestricted whaling in the early 20th century.

For visualization purposes, I felt that an ocean was a fitting canvas for a particle simulation and would make for a pretty neat soundscape to coincide with the animation itself. I found this lovely blue whale model, decimated, rigged it and made a short animation cycle of it swimming. This process took way long than I thought it would, (naturally) and of course the particles themselves reduced the fidelity of the whale mesh which I expected but didn't really account for when designing the swim cycle. But anyway, without further ado, below is the finished product. I recommend watching at the highest possible resolution with headphones.

I have never done a particle simulation on a moving form before, so figuring out how to get that to work in Maya was the first challenge. I also struggled understanding how people could assign colors to the particles independently of each other and based around parameters that change overtime. Luckily, I was able to find a tutorial that helped me do just that. This blog post also helped a lot with the small amount of MEL scripting that was needed in the expression editor to tie in the opacity and color values with the simulation.

This was part of the issue that I ran into when trying to do the liquid cat simulation. I was unable to figure out how to have the liquid be more than one material that changes overtime. I think the liquid simulation would have been more interesting if the cat could retain realistic fur coloring while turning into liquid. Although that might also be a bit horrifying (I will remember to try this out later). But I'm glad I got that resolved for this animation as I think color really helps it pop.

Behind the scenes, you can see I have 3 particle emitters for the whale, the background and the fish

The particle instance rate is directly tied to the estimated population of whales at key points their history, which you can see illustrated in the above graph, further extrapolated with data from IUCN's Red List. The idea is that as the instance rate decreases, the form of the whale becomes hard to make out and see - a visual indication of the disappearance of their species. Learning that their population was increasing at a rate of roughly 5% per year since the early 2000s, it was nice to see visually how the animation would change once the particle rate started going up again.

The colors I chose is a ramp from light blue to dark purple depending on the age of the particle, which is also tied to it's alpha value. This means that as the particles get older and turn purple, they will also start to fade out. The particle life span itself is a random value between 0 and 18 second which was more of a visual decision. I enjoyed seeing the trail of particles flowing behind the whale that look similar to a fluid dynamic simulation and I thought it added more interest to the animation - and also represented the idea that these whales were living out their normal life-span. During the time-span when the blue whale population was dramatically decreasing, I decreased the life span at the same rate and removed the trail of particles.

There are a few more variables I played with to help shape this animation. One of them is the "conservation" value, which determines much the particles should try to stick to the emitter's surface. This value is also tied to the population changes over-time, but I didn't want it to vary too much as a super low conservation value make the whale really difficult to make out - even with a high particle density. I also added some particle fish, which is meant to act as a visual indicator to signal the beginning of major shifts in the blue whale population. They were supposed to visually guide to whale along it's path, keeping it on pace towards a brighter future (hopefully).

Close up shot of the first frame - pre-render

My original goal for this project was to have the whale turn into another animal and have a longer animation with various creatures using different types of data, and I think that's the next step for this project. I think it would be really neat to have a particle world where you can see how various changes overtime depending on whatever data you were interested in visualizing for a particular creature or habitat. This would make a great large-scale projection as well and may be the final iteration of this project. You can see a short video below of my projection test below.

Overall I learned a lot for this project. I really wanted to get deep into particle simulation in Maya and I learned a ton about the nParticle system. I am ready to continue learning more, including more about whales, which personally is the most fulfilling part of working on these projects. I think there is a lot that can be expanded on for this project in the future, and I want to continue thinking about other ways to visualize data on our fellow animal friends. I plan on using everything I've learning this semester in Nature of Code to push my work even further in the future.


bottom of page