Articles

Coffee CGI for Advertising: Steam, Foam & Pour in Houdini

ARTILABZ™

ARTILABZ™ gives you unlimited access to all Houdini courses, 3D assets, simulation files, textures and tools. updated every month.

Everything You Need to master Houdini.

01

Premium Houdini Tutorials

Full access to every course — fluid simulation, procedural FX, brand visuals and more.

02

Monthly New Content

Fresh tutorials and assets added every month — your library grows with you.

03

Instant Access to Everything

The moment you join, the full library is yours — no drip-feed, no waiting.

04

Project Files Included

Every tutorial comes with the full Houdini scene file — open every node, learn every detail.

FROM 14.99€/MONTH

Includes one exclusive complete course

The exclusive course — a full production tutorial you won't find anywhere else, never sold alone.

Best Seller
Most Loved
Tutorial Camera Rig

ADVANCED CUSTOM CAMERA RIG

ANIMATION · CONSTRAINTS · CUSTOM UI

BUILD A FULLY CUSTOM CONSTRAINT-BASED CAMERA RIG IN HOUDINI WITH A CUSTOM UI PANEL. DESIGN FLEXIBLE SYSTEMS FOR PRECISE, CINEMATIC CAMERA ANIMATION ON ANY PROJECT.

€29.99

Freebies
Free Studio HDRI Pack box by Artivoxa showing 60 studio lighting setups with softboxes wrapped around the packaging

Studio HDRI Collection

ASSETS · EXR & HDR · 60 HDRIS

DOWNLOAD 60 STUDIO HDRIS CAPTURED IN A REAL PHOTO STUDIO. LIGHT YOUR PRODUCT AND BEAUTY RENDERS LIKE A PHOTOGRAPHER — SOFTBOX, LANTERN, STRIP AND GRID SETUPS, READY FOR ANY RENDERER.

FREE

Coffee CGI for Advertising: Steam, Foam & Pour in Houdini

A successful coffee commercial shot depends on more than a high-resolution liquid simulation. The pour must hit a precise mark, the crema must hold up in close-up, the steam must remain visible against the background, and every layer must stay controllable when the timing or camera changes.

This workflow combines a directed FLIP pour, layered foam and crema, sparse Pyro steam, physically coherent materials, and product-focused lighting. The central principle is to simulate interactions that affect motion and silhouette, then use procedural geometry, shading, and compositing for details that need stronger art direction. Planning those boundaries early produces a more convincing image while keeping caches and revisions manageable.

Plan the Coffee Shot Before Building Simulations

Lock the camera, action, and hero moment

Begin with the shot design rather than the solver. Establish the pour direction, vessel shape, liquid contact point, intended foam behavior, and the frame in which the coffee must look most appetizing. A slow-motion pour may depend on stream continuity and impact detail, while a locked product shot may place more emphasis on the settled surface, crema, and steam.

Choose the camera and lens early because they determine which effects deserve simulation detail. A macro view can reveal the meniscus, foam thickness, surface ripples, and small defects in the liquid mesh. A wider three-quarter view may require only a clean stream, a readable impact, and a restrained steam silhouette. Avoid simulating off-camera behavior unless it contributes to reflections, shadows, collisions, or secondary motion visible in the shot.

Block the action with simple geometry and a basic camera. Mark the start of emission, first contact, peak impact, hero frame, and end of the pour. If the shot will be slowed down, distinguish between the simulation timing and the final editorial timing. Discovering the desired hero moment before a high-resolution cache is far cheaper than searching for it afterward.

  • Confirm where the stream originates and where it first contacts the coffee or cup wall.
  • Decide whether the shot depends on a clean liquid ribbon, visible splash, changing crema, hero bubbles, or drifting steam.
  • Include spoons, saucers, packaging, and other interacting objects in the blockout.
  • Judge silhouettes and detail through the final camera rather than only in a free viewport.

Build dedicated collision geometry instead of automatically using the render mesh. A watertight proxy with predictable thickness is generally easier to solve than a dense cup containing small bevels, decorative details, or irregular topology. Preserve the interior shape and rim features that influence the visible flow, but simplify everything that does not affect contact.

Decide what to simulate and what to art-direct

A useful production model is to simulate the cause and art-direct the presentation. Use simulation where changing motion, interaction, or silhouette matters. Use procedural geometry, particles, shaders, or compositing where appearance matters more than physical history.

Element Practical approach Reason
Main pour and impact FLIP simulation with a controlled source and collision proxies Provides contact, breakup, ripples, and changing liquid silhouettes.
Crema and fine foam Surface masks, displacement, particles, instances, or derived geometry Preserves art direction without resolving every bubble in the main fluid solve.
Foam pushed by the pour Localized particles or geometry driven by liquid motion Connects visible movement to the impact while keeping the layer editable.
Steam Sparse Pyro when evolving motion matters; procedural or composited wisps for subtle background detail Keeps shape, timing, and visibility independent from the FLIP cache.
Fine droplets and glints Selected FLIP particles, instances, shading, or a separate render treatment Adds readable detail without raising resolution across the full domain.

Set a consistent scene scale before tuning viscosity, surface tension, gravity, or Pyro buoyancy. The cup, source, collision proxies, camera distance, and solver settings must describe the same physical scale. Keep scene frame rate, simulation time scale, and final retiming conceptually separate; a plausible pour can appear overly viscous or unnaturally turbulent when retimed without checking its motion cues.

Organize the shot so source animation, collisions, FLIP particles, liquid meshes, foam, steam, materials, and renders can be replaced independently. Use versioned cache paths and record the frame range, source revision, scale assumptions, and important solver settings. This makes it easier to identify whether a defect comes from emission, simulation, meshing, shading, or compositing.

Before detailed look development, render a low-cost preview through the final camera. Confirm that the stream reaches the correct point, the impact reads at delivery size, the foam does not become a flat graphic layer, and the steam separates from the background. More resolution will not repair an unclear composition or badly timed action.

Build a Controllable Coffee Pour with FLIP

Create and direct the liquid source

Build the emitter as a separate piece of geometry rather than making it inseparable from the animated pot or machine. A short cylindrical or tapered source can represent the opening, with exposed controls for transform, width, activation, emission rate, and initial velocity. The emitter can still inherit the approved object animation, but a local offset allows small aim and timing corrections without changing the prop performance.

Convert the source into FLIP emission using the workflow appropriate to the Houdini version and network design. Supply a clean emission region and a velocity attribute, typically v, aligned with the pour direction. Perfectly uniform velocity can create a mechanical tube, but unrestricted random velocity usually produces noisy breakup. A restrained velocity profile—with a slightly fuller center and softer variation near the edge—often gives a more natural stream while preserving continuity.

Treat source width, emitted volume, opening shape, and velocity as related but distinct controls. If the stream looks thin, increasing velocity alone may stretch it and encourage breakup. Widening the source or increasing emitted volume is often a more predictable correction. Similarly, reducing velocity to make the stream heavier can alter its trajectory and impact timing, so assess the complete action through the camera.

Control the stream, collision, and impact

Prepare the cup, rim, existing coffee surface, spoon, and any relevant surroundings as reliable collision geometry. Paper-thin walls, gaps, inconsistent normals, and insufficient collision resolution can cause leaks or particles trapped inside the cup. Inspect the collision field used by the solver rather than assuming the render mesh has converted correctly.

The render mesh and collision proxy do not need to match exactly. A simplified exterior is often sufficient, while the visible inner rim may require more careful shaping because it controls where the liquid folds, splashes, or wets the vessel. Animated colliders also need enough temporal sampling to prevent fast surfaces from stepping through the fluid.

The pour should communicate three cues:

  • Continuity: the stream appears to emerge from the spout rather than beginning in open space.
  • Contact: the stream visibly meets the cup wall or coffee surface at the intended point.
  • Weight: the impact displaces the surface without producing splash energy that overwhelms the product.

Tune incoming velocity, gravity response, surface tension, viscosity, and collision behavior together. Do not use viscosity as a universal fix for incorrect scale, poor source motion, or bad retiming. For many advertising shots, it is useful to keep the upper stream comparatively stable and reserve most breakup for the impact region, where it supports the action instead of obscuring the product.

Choose particle separation according to the smallest feature that must survive at the final camera distance. A macro rim splash needs more resolution than a wider shot where only the stream and impact mass are visible. Increasing resolution raises memory and simulation time, but it can also introduce secondary detail that later needs filtering.

  • Substeps: increase temporal resolution when the source, fluid, or collider moves too far between solver steps, particularly when tunneling appears.
  • Reseeding: use it to maintain particle coverage in stretched regions, but inspect delicate droplets and thin connections for popping.
  • Collision quality: verify the collision field around the rim and inner wall; a poor collider can cause more visible damage than a moderately coarse fluid solve.
  • Velocity variation: keep it purposeful and localized. Random motion that does not support the pour direction tends to read as solver noise.

Cache particles before refining the mesh

Cache FLIP particles before generating the final liquid surface. This separates the expensive solve from meshing decisions and allows smoothing, filtering, droplet removal, and export settings to change without rerunning the simulation.

Use a dedicated surface-building stage, such as Particle Fluid Surface or the equivalent workflow in the production setup. The mesh should preserve the stream connection and impact shape while removing isolated particles that read as artifacts. Excessive smoothing can erase narrow connections, flatten the impact, and turn the coffee into a soft blob. Too little filtering produces lumpy highlights that make the liquid appear small or gelatinous.

Inspect the mesh with the intended material, lighting, motion blur, and camera. A discontinuity visible in a static viewport may disappear under motion blur, while a small surface lump can become obvious as a softbox reflection travels across it. Keep the particle cache available so the mesh can be regenerated for a new camera distance or revised lighting setup.

Useful cache boundaries include:

  • source and collision inputs;
  • FLIP particles and essential attributes;
  • the filtered liquid mesh;
  • foam, bubble, and steam outputs;
  • render-ready geometry and volumes.

Preserve attributes only when they support downstream work. Velocity may drive motion blur or secondary effects, age can distinguish newly emitted liquid from settled regions, and source identifiers can isolate parts of the pour. Unused attributes increase cache size and pipeline complexity without improving the image.

Create Foam, Crema, and Surface Detail That Holds Up on Camera

Crema, froth, and individual bubbles are related but visually different. Crema is commonly read as a thin, irregular surface layer with warm color variation and fine bubbles. Froth has a denser, softer profile, while larger bubbles create distinct circular highlights and visible silhouettes. A cappuccino-style foam mound may also require genuine volume where a pour or spoon displaces it.

Choose the representation by screen size and motion

Do not choose a foam technique by physical complexity alone. Base it on screen size, silhouette, lighting response, and required interaction.

  • Procedural shading and shallow displacement: suitable for fine crema pores and color breakup that do not alter the silhouette.
  • Instanced or modeled bubbles: useful when individual bubbles must catch highlights but do not need to deform as a continuous fluid.
  • Particles driven by the liquid: appropriate when foam is visibly created, pushed, or transported by the pour.
  • Layered construction: combine a coffee surface, a thin crema treatment, localized froth, and a limited number of hero bubbles.

The layered option is often the most controllable. The FLIP simulation supplies broad motion and impact cues, while procedural layers provide fine detail at a lower cost. Avoid depending entirely on high-frequency shader noise in close-up: noise can vary color and roughness, but it does not create the occlusion, silhouette, or highlight response of visible bubbles. Conversely, fully modeled bubbles can become distracting once depth of field and motion blur are applied.

Connect the foam to the liquid without locking them together

Derive the foam from the final liquid surface or from a stable proxy of it. Use attributes, groups, or mask fields to control where crema can appear: inside the rim, around the impact, along broad swirl paths, or in areas where liquid motion compresses the surface.

The foam should inherit the coffee’s large-scale motion without copying every noisy deformation. A static layer may appear to float, but a layer fused directly to an unstable FLIP mesh can stretch or disappear. A practical compromise is to transfer broad motion and surface orientation from the liquid while preserving separate coverage, offset, and breakup controls.

A shared coverage attribute can drive several related outputs:

  • bubble point density and instance scale;
  • crema color variation;
  • roughness and specular breakup;
  • bump or shallow displacement strength;
  • fade near the cup wall, liquid edge, and contact boundaries.

Shared control prevents mismatches such as dense foam geometry paired with a visually bare shader. It also makes the rim easier to manage: a boundary mask can reduce large bubbles near the lip while retaining a thin crema band, avoiding intersections and an unnaturally thick ring.

Build placement from broad masks plus localized variation. A cup-area mask can define the available surface, an impact mask can raise density beneath the stream, and low-frequency noise can break up coverage. Use separate patterns or remapped coordinates for density, scale, color, and roughness. If every property follows the same noise, the procedural structure becomes conspicuous.

Vary bubble size by region as well as randomly. Larger bubbles may collect near the impact or in broken foam, while smaller forms support the surrounding crema. Clustering can create a froth mass more effectively than scattering isolated spheres, but excessive overlap produces dark seams and hard outlines under strong lighting.

Give foam a distinct material response from the coffee. Crema generally benefits from lighter values, broader and more varied roughness, and fine highlight breakup, while exposed coffee remains darker and more reflective. Reserve actual geometry for structures that affect the silhouette or catch a hero highlight; use bump and displacement for detail below that threshold.

Evaluate representative frames at delivery resolution with final depth of field and motion blur. If bubbles disappear, strengthen a few readable structures rather than increasing density everywhere. If the surface becomes noisy, reduce instance count and let the broader crema pattern carry the image.

Simulate Readable Steam with Sparse Pyro

Source steam from the coffee and pour

Steam should appear connected to heat in the shot. Derive its source from the coffee surface, the pour contact area, or newly exposed hot liquid rather than placing an unrelated emitter above the cup. A surface-derived source can be converted into volumes or points and fed into a sparse Pyro Solver.

A practical source may provide temperature and vel, with visible density introduced only where vapor should develop. Emitting uniformly from the entire cup often creates a fog bank. Instead, use several irregular source regions with small differences in activation, temperature, and velocity.

Temperature provides buoyant lift, while cooling reduces that lift as the volume moves away from the coffee. Excessive buoyancy creates fast, detached columns; too little can make the steam drift like heavy smoke. Tune the relationship against the shot scale and timing rather than relying on a single preset.

Initial velocity should support the action. Steam near the falling stream may inherit a restrained portion of the pour motion, while vapor from the surface can begin with smaller upward and lateral velocities. Surface normals and localized noise can introduce variation, but identical vertical vectors tend to produce symmetrical columns.

Keep Pyro separate from FLIP even when both use the same animation. They require different resolutions, timing controls, caches, and shading. This separation also allows the steam to be replaced or retimed for an alternate edit without invalidating the approved liquid work.

Shape wisps before increasing density

Establish the broad rise and drift through source velocity and buoyancy before adding disturbance or turbulence. Fine-scale controls should break up edges and create overlapping wisps, not compensate for an incorrect source. If the result resembles a dense smoke plume, first reduce source density, lifespan, and large-scale coherence.

Steam readability depends heavily on the final background and lighting. A low-density volume can be clear against a dark area or rim light and almost invisible against a bright backdrop. Judge it through the actual camera with depth of field, motion blur, exposure, and product lighting enabled.

Shade steam as a subtle participating volume rather than a solid object. Control render density independently from the simulation where the pipeline allows it, and use side or backlighting to reveal contours. Increasing opacity indiscriminately usually produces gray smoke rather than delicate vapor. Heat-haze distortion can support the effect, but strong distortion may damage labels and product silhouettes.

Problem Likely adjustment
Uniform vertical column Break up the source mask, vary initial velocity, and check whether buoyancy dominates all lateral motion.
Dense smoke-like plume Reduce density and long-lived coherence; allow the vapor to disperse and fade as it rises.
Steam is present but invisible Test it against the final background and lighting before increasing density or simulation scale.
Volume appears detached Verify that the source follows the liquid surface and pour timing rather than remaining fixed in world space.
Steam obscures the product Localize emission and reserve the strongest wisps for areas that support the cup silhouette.

Cache the fields needed for rendering and later adjustments, commonly density, velocity, and temperature where relevant. Expose render-level controls for density, brightness, and visibility so compositing changes do not require another Pyro simulation.

Shade, Light, and Render the Coffee

Build materials from optical and surface cues

Treat coffee as a liquid rather than a brown surface. Its appearance comes from reflection, roughness, absorption, and optical depth. Where the renderer supports suitable transmission or volume controls, tune the coffee tint against the actual scene scale. A thin stream, shallow surface, and deep cup should not display identical color values.

Keep the liquid surface comparatively smooth and let the simulated geometry provide the major variation. Ripples, impact forms, and the meniscus should shape reflections. Heavy high-frequency shader noise can make the coffee look painted or plastic; use subtle roughness and normal variation only where it survives the camera and lighting.

Foam and crema need a separate response even when they share the coffee’s color family. Use material assignments, primitive groups, or stable attributes to control them independently. Separation should come from roughness, highlight width, microstructure, and silhouette—not color alone.

Apply the same discipline to the vessel and props. Ceramic generally needs broad highlights and restrained roughness variation. Glass requires credible thickness, refraction, and reflection. Metal depends on reflected surroundings rather than a flat gray color. Small bevels and subtle manufacturing variation help establish product scale, but they should not distract from the hero liquid action.

Review all materials together at the final camera resolution. As a diagnostic test, temporarily reduce saturation: the pour, foam, vessel, and background should still separate through value, reflection, roughness, and silhouette.

Use lighting to describe the pour, foam, and steam

Assign each light a clear job. A large controlled key can create a continuous reflection along the stream and coffee surface. Fill can retain detail inside the cup without flattening the crema. A rim or backlight can separate the liquid edge, foam profile, and steam from the background.

The stream needs a reflection source placed where its curved surface can catch it. Without a readable highlight, even a technically correct dark liquid may disappear. Adjust source size and angle according to whether the shot needs a clean advertising streak or more broken environmental reflections.

Use grazing or side-oriented light to reveal the foam’s profile and microstructure. Avoid filling it so evenly that it becomes a flat beige patch. Preserve enough reflected contrast on the coffee surface to show the impact and ripples without clipping the highlights into shapeless white areas.

Treat the background as part of the lighting design. A bright background can define the cup while hiding pale steam; a dark background may reveal steam but lose the pour. Use cards, flags, controlled reflection sources, or graded environment elements to create local contrast instead of forcing one light to solve every visibility problem.

Render passes for controlled revisions

Keep liquid, foam, steam, ceramic, glass, and packaging identifiable through stable material or object assignments. Depending on the renderer and pipeline, useful outputs can include:

  • Liquid and foam masks for independent color, contrast, and edge treatment.
  • Steam or volume passes for balancing visibility against the background.
  • Reflection and refraction components for controlled highlight adjustments.
  • Shadow and contact passes for grounding the cup and preserving impact contact.
  • Depth and motion data for pipeline-supported depth of field, integration, and controlled post effects.

Use the renderer’s supported AOV or light-path workflow rather than assuming identical pass names or behavior across renderers. Compositing flexibility should support the physical cues established in Houdini, not replace them. A broken stream, incorrect impact, or badly scaled steam plume remains a simulation or shot-design problem.

Troubleshoot and Art-Direct the Final Shot

Diagnose the visible symptom first

When the shot fails, classify the visible symptom before changing parameters. Trace it backward through compositing, lighting, shading, meshing, simulation, collisions, and source animation. This prevents material adjustments from concealing a problem that began in the fluid setup.

Visible symptom Likely causes Useful fixes
Pour breaks into blobs or flickers Discontinuous emission, low particle coverage, insufficient temporal resolution, poor collisions, or aggressive meshing Inspect source velocity and emission first, then the collision field and particle coverage. Confirm that meshing does not erode thin connections.
Liquid passes through the cup or rim Coarse collision field, unsuitable wall thickness, gaps, or fast motion between steps Visualize the actual collision volume, improve the proxy, and increase temporal sampling where necessary.
Stream feels too thin, heavy, or slow Incorrect scale, source dimensions, velocity, emitted volume, gravity relationship, or retiming Compare the pour with the cup diameter and fall distance. Correct source motion and timing before using viscosity as a fix.
Liquid mesh looks blobby Excessive smoothing, coarse particle separation, or broad soft reflections Return to the particle cache, preserve narrow connections, and assess the revised mesh under final lighting.
Foam resembles evenly scattered dots Uniform point distribution, identical scale, weak regional masks, or placement unrelated to the flow Vary clustering, density, size, and orientation. Concentrate foam around plausible impact and accumulation regions.
Foam floats or slides Static placement or incomplete transfer of broad liquid motion Drive the layer from a stable liquid proxy and transfer large-scale motion while retaining independent local controls.
Steam is technically present but unreadable Flat lighting, poor background contrast, low source density, or compositing that crushes subtle values Inspect the volume in isolation, then test it in context. Improve side or rim contrast before simply increasing opacity.

Judge scale through several cues at once: stream diameter, fall speed, splash size, bubble diameter, rim thickness, steam drift, and depth of field. If these cues disagree, the shot will feel synthetic even when each element is attractive in isolation.

Keep the Houdini setup revision-friendly

Separate source preparation, collision generation, FLIP, meshing, foam, Pyro, shading, and rendering into clear stages. Cache expensive outputs and preserve upstream simulation data when downstream treatment may change. A lighting revision should not require a new fluid solve, and a mesh-filtering change should not invalidate approved source animation.

Expose controls with clear artistic consequences, such as pour timing, source width, velocity, impact position, liquid level, foam coverage, hero-bubble density, steam strength, and render-level volume density. Group them in a subnet or digital asset with meaningful names and practical ranges. Avoid exposing every solver parameter; too many controls make cause and effect harder to diagnose.

Use low-resolution previews to approve composition, timing, and silhouette. Increase simulation detail only after the stream enters at the correct moment, the impact supports the hero frame, the steam avoids important branding, and the foam reads from the final camera.

Retiming can help editorial exploration, but check it for stretched splashes, inconsistent motion blur, and steam that no longer matches the pour. If the new timing changes the physical action substantially, revise the source or simulation rather than relying entirely on post-processing.

Before delivery, review the shot against a camera-specific checklist:

  • Liquid continuity: the stream remains connected where intended and does not flicker between frames.
  • Contact: the pour meets the rim or coffee surface with credible displacement, splash, and shadowing.
  • Foam attachment: crema follows broad liquid motion without floating, stretching, or intersecting the cup.
  • Steam readability: vapor is visible against the final background without becoming opaque smoke.
  • Reflections: highlights describe the liquid and vessel without exposing unwanted cards or environment artifacts.
  • Silhouettes: the pour, cup, handle, foam edge, and steam remain legible at delivery size.
  • Motion blur: blur supports the action without hiding gaps or unstable simulation detail.
  • Product legibility: branding, vessel shape, and the intended focal area remain clear after compositing.

This review also identifies where the next revision belongs. Timing and aim return to the source, contact failures return to FLIP and collisions, lumpy reflections return to meshing or lighting, and steam visibility can be addressed through its source, shading, lighting, or composite without destabilizing the approved coffee simulation.

— FOREVER FREE —

Free Studio HDRI Pack box by Artivoxa showing 60 studio lighting setups with softboxes wrapped around the packaging
  • Blender
  • Cinema 4D
  • Houdini
  • Maya
  • 3ds Max
  • Unreal
  • Redshift
  • Octane
  • Karma
  • Cycles
  • Arnold
  • V-Ray
  • Corona

60 studio lighting HDRIs in one free pack — softboxes, lanterns, strip boxes, grids, top-light and three-point setups, all shot in a real photo studio.