Nautical Pulse

Responsibilities: 3D Modeling, Vellum Hair Simulation, Rendering

Overview

For this project, I created a dynamic underwater simulation that evokes the feel of flowing seaweed. Using procedural techniques, I modeled a curvy base and flowing hair structures, then simulated their behavior using Vellum constraints. The final render features smooth, gradient-colored textures, with natural motion and underwater lighting.

3D modeling

3D modeling involved creating a base and scattering points onto it, then copying hair geometry to these points. The base's curvy, uneven shape was achieved by using a Scale Ramp along the curve in the Sweep node, a technique also applied to shape the pointed hair structures.

Vellum Simulation

To simulate an underwater marine environment, I used Vellum hair constraints, reducing bend stiffness for flexibility. In the Vellum Solver, I disabled gravity and added air resistance and swirling motion with Pop Drag and Pop Force nodes in the DOP network.

Rendering

I focused on smooth textures and gradients to emphasize the smooth, flowy aesthetic. To achieve this, I utilized the curveu attribute, which linearly increases along the curve's length. I then remapped this attribute to drive the color, creating a gradient effect along the curve for both hairs and base. Using Redshift, I created a Standard Material, brought in the Cd attribute with an Attribute Lookup node, and connected it to the Base Color.

For more natural and blue-colored lightning, I selected a suitable hdr map and assigned it to the Redshift Dome Light which serves as my general light source.

Challenges and learning outcomes

Hair constraints and their vellum simulation cannot be directly applied to voluminous geometry.

Vellum hair constraints typically work on curves (lines), not voluminous geometry like meshes. My solution you mentioned was applying the Sweep node after the Vellum Solver. By doing this, I first simulate the constraints on the lines (hair strands), and then use the Sweep node to add volume to those lines afterward, preserving the desired behavior.