top of page



For my graduate-level graphics course CIS 5660:  Procedural Graphics, I worked with Houdini in order to create a node-based, procedural jellyfish simulation.  This project allowed me to delve deeper into the world of procedural modeling and simulation, breaking up the jellyfish into its core components: its bell, arms, veins, organs, and tentacles. I also experimented with lighting and some color for my final render for extra flair and to make it feel more like an underwater scene. Below are some rendered images of the simulated jellyfish as well as a breakdown of the mesh:

  • Bell

    • Created the bell using line geometry bent to form a curve

    • Revolved the curve to form a bell shape and added mountain noise to make the bell shape appear more organic

  • Arms

    • Created the arms using grid geometry that I ruffled using a VEXpression

    • Duplicated the arm to form a ring of 5 arms using a Copy node

    • Applied Cloth and Hair simulation via Vellum Constraints and Vellum Solver nodes to create general movement for the arms

    • Pinned the tops of the arms and used a Deform node so that the arms would move with the bell

  • Veins

    • Triangulated the jellyfish mesh

    • Created  veins using a "Find Shortest Path" node

      • Starting and ending points were selected from the top and bottom points respectively of the surface of the bell

    • Smoothed out the paths to make the veins look more organic before giving the veins volume using a Sweep node

    • Used a Deform node so that the deformation and movement of the veins would match the bell

  • Organs

    • Bent line geometry into a curve before using Sweep to give the lines volume 

    • Used Mountain noise to make the shape look more organic

    • Created 4 copies of the base organ and then used a Deform node so that the movement of the organs would match the bell

  • Tentacles

    • Created the tentacles using line geometry as the base strand

    • Took a scattering of points along the bottom edge of the bell using a Scatter node and copied the base strand onto them

    • Applied a Hair simulation and a Deform node so that the movement of the tentacles would follow the bell

    • Applied a Sweep node to give volume to the tentacles

  • Material shaders

    • Created 3 material shaders, one for the bell, one for the veins/tentacles, and one for the arms/organs, each with varying traits like color, emission, and transparency​​​​

  • Lighting

    • Added various lights to the scene, including a Geometry Light attached to the organs so that they could glow

bottom of page