This was the first time I built a complete 3D production entirely from scratch, solo — environment, characters, simulation, systems, and final compositing, all one person. It's an R&D piece from June 2016: realistic-looking greyhound-racing footage with a different, randomized finish every time.
Tools: Cinema 4D, Octane Render, Anima Crowd Simulation, ZBrush, Substance Painter, Photoshop, and After Effects.
The stadium model runs to roughly 2,600 objects, built from a real dog-racing track using real-world measurements and about 360 reference photos and videos. An XPresso controller system exposes stadium lighting and time-of-day as simple parameters, so a lighting pass doesn't mean touching individual lights by hand.
To keep the tribunes from reading as empty geometry, crowd on the stands is generated with the Anima crowd simulation plugin.
The greyhound started as a high-poly ZBrush sculpt, retopologized down to a production mesh with a baked normal map. Three separate diffuse textures were built in Substance Painter and Photoshop, and a Cinema 4D shader randomizer handles per-dog coat color and race-jacket number variation at render time — no dog in a race needs a manually authored material.
Rigging uses a straightforward FK bone chain; the gallop cycle is a 34-frame idle animation.
The race needed to feel like a contest rather than a fixed animation loop, so each dog runs on its own randomized speed value that changes several times over the course of the run — built with Cinema 4D, C.O.F.F.E.E, and Python.
Each dog also gets a random name pulled from a text file, and the same names drive the broadcast-style leaderboard graphic: it shows the current top three during the run, then locks in each dog's time at the finish. Camera movement and focus are calculated continuously from the pack's average position, so the shot follows the race instead of running a scripted path.
Rendering runs on Octane. The heavy stadium environment is rendered once as a background plate and reused underneath the runners — a choice that also made random camera rotation cheap, since the expensive part of the scene never needs re-rendering per shot. The main challenge at this stage was separating the right depth planes cleanly so the composited dogs read correctly against that reused background.
Render time was pushed down close to real-time, and post-production stayed intentionally simple: a compositing pass over PNG sequences in After Effects.
This was one of the first projects I built completely solo, end to end — every discipline from environment art through simulation systems to final compositing held by one person, the same shape of ownership that shows up throughout later client work. It's a decade old now, made in tools I don't use day to day anymore, but the underlying instinct — find the repeating pattern, build a system instead of hand-authoring each result — is the same one behind the procedural work on this site today.