De slang van stenen

Eigen project · Houdini, VEX, Cinema 4D en Octane

3D-render van een slang van stenen met een gloeiend blauw oog en dramatisch randlicht tegen een donkere achtergrond

De slang van stenen krijgt een plek in een game waar mijn vriend aan werkt. Het is een eigen portfolioproject waarin ik diep in de technische kant van Houdini ben gedoken, om te onderzoeken hoe je een complex, organisch wezen procedureel opbouwt.

De slang van stenen, procedureel opgebouwd in Houdini, in een woestijnlandschap in een game, met een klein figuurtje op de voorgrond dat laat zien hoe groot de slang is
In de game van mijn vriend: het figuurtje vooraan laat zien hoe groot hij is
De slang van stenen, procedureel opgebouwd in Houdini, opgerold in een arena in een game, naast een cirkel van rotsblokken, met een klein figuurtje voor de schaal
In de arena: opgerold bij een cirkel van rotsblokken
De slang van stenen, procedureel opgebouwd in Houdini, ’s nachts in een game, met vallende sneeuw en links een klein figuurtje in een lichtgevende cirkel
’s Nachts in de sneeuw, met links het figuurtje in een lichtgevende cirkel

Duizenden stenen, één slang

Ik wilde laten zien hoe je met Houdini en VEX een robuuste slang maakt van ontelbare losse stenen en rotsfragmenten. De blikvanger zijn de oplichtende blauwe ogen. Het draait helemaal om procedurele generatie en detail, voor games en VFX.

Zo is hij begonnen

De slang is begonnen als een kop met een kap, zoals bij een cobra. Een staart had hij nog niet. Hieronder zie je het eerste model, naast een mens voor de schaal. In de eerste renders zaten er ook nog geen losse rotsen op: de huid was een korrelige laag, maar het blauwe oog lichtte al op.

Van Cinema 4D naar Houdini

Ik ben in Cinema 4D begonnen. Daar heb ik de stenen eerst op een donut getest. Het idee: de stenen moeten de vorm van de donut aanhouden, en dus later ook de vorm van de slang volgen. Daarna heb ik particles over de slang laten bewegen, met onder meer Flock en Surface Attract, en een Cloner met verschillende stenen gebruikt.

De overstap naar Houdini was het keerpunt van dit project. Daar heb ik de botsingen tussen de stenen beter onder controle gekregen. Die zijn gesimuleerd met twee aparte systemen: een RBD-simulatie, en een systeem dat ik zelf in VEX heb geschreven, in de pre-solver van de RBD-solver. Zo reageren de stenen op elkaar tijdens het bewegen.

In Houdini heb ik de rig en de geometrie van de slang opgezet. De rotsen heb ik er met eigen VEX-code procedureel overheen verspreid. Uiteindelijk heb ik de slang in Houdini belicht en met Octane gerenderd; de eerste fase in Cinema 4D heb ik ook al met Octane gerenderd.

Wireframe van de slang van stenen in Houdini, met het node-netwerk waarin het model wordt ingeladen en samengevoegd

Een staart, en een houding als Kaa

Eerst had de slang nog helemaal geen staart. Maar ik wilde dat hij opgerold zou liggen, zoals Kaa in de oude Disneyfilm Jungle Boek. Die houding vond ik zo mooi. Dus heeft hij een staart gekregen. Daarna ben ik vooral met de animatie bezig geweest, om die goed te krijgen. Voor de close-ups heb ik een hele reeks camera’s rond de kop gezet.

In de video spuwt de slang ook vuur en rook. Dat vuur heb ik eerst getest met een Pyro-emitter in Cinema 4D.

Test in Cinema 4D: een vuurstraal uit de bek van het grijze slangmodel, met de instellingen van de Pyro-emitter ernaast
Een test met een Pyro-emitter in Cinema 4D: vuur uit de bek

Een ecosysteem op zijn huid

Onder de rotsen is zijn huid opgebouwd als een ecosysteem: hij heeft mos op zijn huid, en daarop allemaal stenen.

De grootste uitdaging

Al die duizenden stenen zo verdelen dat de vorm van de slang vloeiend blijft. En de belichting in het donker precies dat dreigende, filmische randje geven.

Om de slangvorm ondanks al die duizenden losse stenen mooi vloeiend te houden, heb ik de basis opgebouwd vanuit een strakke onderliggende curve-rig en vloeiende geometrie in Houdini. De VEX-code doet hier het slimme rekenwerk achter de schermen: hiermee stuur ik heel nauwkeurig de distributie, rotatie (oriëntatie) en schaling aan van elk individueel steentje ten opzichte van de oppervlaktenormalen. Dankzij die custom VEX-functies vallen al die duizenden stenen automatisch en naadloos in de welvingen van het lichaam, waardoor de organische, vloeiende lijn perfect behouden blijft zonder dat het een chaotische hoop puin wordt.

Volgend project: het lichtgevende hert →

E-Line Vision
Bringing vision to light.