Do your renders of paper and cardboard always look flat, missing those soft fibers or crisp creases you see in real life?
As a beginner in CGI, you might tweak bump maps or displacement without knowing why the texture still feels plastic or scale looks off.
Paper and cardboard demand precise control over thickness, roughness and edge detail, yet setting up the right nodes and lighting can feel overwhelming.
You’ll learn a clear workflow to build a shading network, adjust displacement, and simulate subtle folds for truly photorealistic results.
What references and measurement data should I collect before starting a paper/cardboard project?
Assembly of accurate photorealistic paper and cardboard materials begins with precise real-world data. Gathering high-quality images, physical measurements, spectrophotometer readings and even micrographs ensures your shaders and microgeometry match reality. Accurate references reduce guesswork in Houdini.
Collect these essential datasets:
- High-resolution diffuse, specular and subsurface photos under neutral lighting; shoot flat and with raking light to reveal embossing and fiber.
- Caliper thickness measurements (for paper: 80–300gsm range; for corrugated board: flute height, liner thickness).
- Spectrophotometer or colorimeter readings to capture accurate base color, reflectance curves and anisotropy.
- Microscopic or macro scans (photogrammetry or flatbed scans) to derive micro-bump maps, fiber direction and roughness variation; import into Houdini COPs to generate tileable heightfields.
Organize your references per section—base color, normal detail, roughness range and displacement height. In Houdini, load images into a material network using Texture VOPs and SideFX Labs tools. This structured approach yields realistic shading and geometry from the start.
How do I model accurate paper and cardboard geometry efficiently in Houdini?
In photorealistic CGI, paper and cardboard demand precise thickness, crisp edges, and natural bends. Houdini’s procedural SOP workflow lets you iterate non-destructively, adjusting thickness or fold angles at any stage. By leveraging attribute-driven operations and packed digital assets, you maintain a lightweight scene while preserving full control over detail.
For a flat sheet, start with a Grid or Box node to define basic dimensions. Use PolyExtrude to add uniform thickness, then group edge loops for a subtle bevel. Applying EdgeCrease or a light Subdivide ensures edges catch light realistically without overloading the mesh:
- Create “sheet_top” and “sheet_bottom” groups for targeted bevels.
- Use AttributePaint to mask areas requiring sharper or softer edges.
- Apply a final VDB Convert and remesh for consistent quad topology.
To model folds or bends, insert a Bend SOP or Vellum Constraints between extrusion and bevel. Bend SOP lets you drive curvature by group or attribute, while Vellum simulates realistic springback. For a crisp fold, crease the targeted edge group then use PolyBevel with minimal offset:
- Define fold lines via EdgeGroup or attenuated attribute fields.
- Use Bend SOP’s “Capture Region” to isolate the fold influence.
- Adjust “Rest Bend” to fine-tune how tight the crease appears.
Corrugated cardboard combines inner flutes and outer liners. Procedurally generate flutes by sweeping a sine-wave profile along a curve, then loft two planar liners on top and bottom. Stitch with Merge and Boolean for accurate overlaps:
- Build a sine profile curve with AttributeVOP sampling based on U coordinate.
- Sweep that profile along a straight spine using the Sweep SOP.
- Overlay flat liners, then fuse edges for a single mesh.
Finally, encapsulate your network in an HDA (Houdini Digital Asset). Expose parameters for sheet size, thickness, bevel radius, fold angle, flute pitch, and liner offset. This lets you instantiate dozens of variations—flat sheets, folded boxes, or custom corrugated panels—with a single tool, maintaining both accuracy and efficiency.
How can I create believable bends, creases, wrinkles and tears for paper and cardboard?
Creating believable bends, creases, wrinkles or tears begins with proper geometry. For paper and cardboard, maintain a uniform thickness using a PolyExtrude. Ideal thickness ranges from 0.1 to 0.5 cm: enough to catch light yet remain flexible. Clean topology—quads and evenly spaced edge loops—ensures smooth deformation.
To create controlled bends, use a Lattice or Soft Transform SOP along a guide curve. Group the fold region and apply a bend angle driven by an attribute (e.g. @angle). For dynamic bending, switch to a Vellum Cloth simulation with hinge constraints: reduce stiffness on the crease edge group to allow soft bending without mesh sliding.
For sharp creases, add a Crease SOP or set edge crease weights before Subdivide. After subdivision, use a Point VOP to inject micro-normal noise for realistic fiber irregularities. Blend two noise scales: coarse ridges for paper grain and fine noise for micro-fibrils. This layered noise creates subtle light catch and shadow.
Wrinkles appear when paper buckles under compression. In a Vellum setup, scatter packed points across the mesh to define clusters with varied constraint stiffness. Drive compression forces via a simple POP Force or collision with a low-resolution collider. The clusters collapse to form natural folds. Cache sim output and add secondary displacement for fine lines.
Simulating controlled tears uses the Finite Element Method or RBD cutting. Set up a Voronoi Fracture on a high-res mesh, then use a Group SOP with a fractal edge pattern to define tear path. Convert pieces to RBD and apply breakable constraints with a strength ramp. Animate a sliding cutter or tension forces to propagate the tear realistically.
- Model uniform thickness with PolyExtrude (paper: thin, cardboard: thicker)
- Use Lattice/Soft Transform or Vellum hinge constraints for bends
- Add edge crease weights + subdivision + micro normal noise for creases
- Generate wrinkles via distributed Vellum clusters under compression
- Set up Voronoi Fracture + breakable constraints for torn edges
How do I build photorealistic paper and corrugated cardboard shaders in Houdini?
Essential texture maps: what to bake/paint (base color, roughness, micronormal/fiber, subsurface, corrugation masks)
Accurate paper and corrugated cardboard rely on multiple maps to capture color, light scattering, and surface variation. Each map targets a specific physical property, enabling the shader to respond correctly under varied lighting.
- Base Color: hand-painted or baked from a scan to capture tint, fiber speckles, and printed patterns.
- Roughness: greyscale map defining specular fall-off across fibers and coatings.
- Micronormal/Fiber Normal: high-res normal map that mimics paper grain and microfolds.
- Subsurface: thin‐film scattering map to simulate light penetration in thin paper.
- Corrugation Mask: procedural stripes or baked height mask isolating flute shapes for displacement.
Practical shader network: principled material setup, layering corrugation, and controlling micro-roughness
Begin in a Material Network and drop a Principled Shader VOP. Wire your Base Color map into Base Color. Feed Roughness into the Specular Roughness input. For micro detail, connect the Micronormal map into the Normal input via a Normal Map VOP.
To layer corrugation, generate a 2D stripe pattern using a HeightField Mask or Attribute VOP timed to UVs. Use a Displacement VOP to offset the surface normal along the flute direction, blending the corrugation mask with the base height. Finally, control micro-roughness anisotropy by driving the Roughness Anisotropy parameter with the corrugation mask so light reflects differently along and across the flutes, recreating the directional sheen of cardboard.
What lighting, render settings and compositing passes produce a photoreal final for paper/cardboard?
Achieving a photorealistic look for paper/cardboard relies on a balanced lighting rig that mimics real-world conditions. In Houdini’s Karma renderer, start with an HDRI environment for soft, even fill and add a warm key light angled to reveal tiny surface fibers. Supplement with a low-intensity back rim light to accentuate thin edges and simulate real bounce from nearby surfaces.
For render settings, use conservative sampling to control noise around fine fibers. In Karma XPU set Pixel Samples to 6 (Min) and 4 (Max), and raise Path Tracing bounces to at least 5 to capture subtle subsurface scattering. Enable subsurface transmission for thin paper layers—this simulates light bleed and adds depth without full volumetric costs.
- Diffuse AOV: isolates base color and fiber detail
- Specular AOV: separates sheen and edge highlights
- SSS AOV: captures thin-sheet light transmission
- Ambient Occlusion: enhances creases and folds
- Normal pass: aids edge sharpening in composite
Export these compositing passes via a ROP Composite node or Karma’s built-in AOV output. In Nuke or Houdini Composite View, layer diffuse under specular with a screen blend, then multiply in AO to ground the object. Use the normal pass for lightwrap effects along folds, and fine-tune SSS intensity to avoid a waxy look.
By combining practical lighting choices with optimized render settings and targeted compositing passes, your CGI paper and cardboard will convincingly match real-world references, down to the finest fiber and edge detail.