Team Kernel | Procedural Popcorn and More | Week 2

Throughout this last week ive spent a lot of time processing our corn asset and getting started on the procedural popcorn generation.

I started out by looking at how popcorn actually forms, and reading the science behind it. My main source were these two papers:

https://royalsocietypublishing.org/doi/10.1098/rsif.2014.1247

and

https://knowledge.carolina.com/discipline/physical-science/the-science-of-popcorn/

Popcorn forms from the pressure buildup inside of the germ and endosperm as heat is applied

The resulting expansion is completely random, however there are a few shapes that the kernel will go through, based on where the pericap bursts

The first thing I did was process our corn asset.

Separate and process each individual kernel and give each one a unique name attribute

Seperating Kernels from base

Next I created system that will apply the popped attribute to a kernel if it meets a certain check, in this case I give the popcorn the popped attribute if its within the bounding regions of a specific object.

Checking if condition is met and applying popped attribute, which is later used to create a point group

Grabbing age of popcorn

Using the age of each kernel I create an attribute that stores the birthframe

After setting up all of our attributes I get the kernels ready for simulation. In order to get the random and bursting nature, I use a popnet to spawn particles in a direction based off of each kernels outward facing vector.

I only wanted to spawn particles as each corn is popped, very quickly in a burst.

To prepare each kernel for simulation, I scatter points inside of them and give each one velocity.

Points Velocities

Altering velocities inside popnet

POP Sim Result

Now that I have particles being generated from each kernel, I need to give each one geometry. The name attribute is the real hero here, because I can sort each individual kernel into its own respective group and use that to create the mesh by simply copying geometry to its points.

Each particle is given a copyid attribute to determine which shape will be copied to the particle. Along with that, their orientation is slightly randomized to give the shapes more variety, akin to a bilateral type pop

before remeshing, this is what the popcorn looks like.

Remeshing process, still working on transfering uvs and other attributes to better control the look

after remeshing

In order to further the look Im planning on exploring custom displacement shaders and further altering the shape with noise in a attributevop. One of aspects I’m still working on is getting the tail, the little curl at the bottom of the popcorn where the kernel remains.

A few of the other FX tasks I need to begin research and development on is the RBD, pieces of popcorn flying off as they are popped. Im planning on utilizing all of the attributes I have set up to assist in that.

Besides doing getting the base of the popcorn generation set up, Ive also been assisting the team in developing our pipeline and getting our look development set up in Karma and Solaris.

«
»

Leave a Reply

Your email address will not be published. Required fields are marked *