top of page

Technical Works (i.e. VEX)

Works requiring some degree of programming or other technical skills

MultiCube v038 Personal practice to solidify my understanding of Houdini's duplication techniques. I wanted a variety of cubes, each doing their own thing with random animation offsets, and the whole clip had to be loopable. This required a fair amount of VEX in Houdini, in particular due to the fact that as many of the cubes are dynamically carved by subtractive booleans, their point count changed which in turn badly affected motion blur. And as one cube's animation is finished, it is replaced by a different cube with a different animation and different point count. This means the output of the copy_to_points node is a single mesh with highly unstable point IDs. I therefore had to create a system before and after the copy_to_points node to provide stable point IDs from which to calculate the correct velocities for the motion blur. Very brain-tickling but very satisfying when it finally all worked. In the process I also had the idea to light up the interior of some of these cubes and initially I did it naively, with some emitting materials. This however resulted in grainy/noisy output that gave me the excuse to learn how to use a light mesh instead, resulting in smooth lighting and faster rendering times. This work was inspired by the series of (2D) Cube Icon Sets realized by "vecktor" and published on shutterstock. I initially wanted to do an animated version staying faithful to the original but it is not possible to contact the author via shutterstock to ask for permissions and I couldn't find him anywhere else on the internet. Also asking a shutterstock representative to clarify if I could legally create derivative work was not fruitful: the line between derivative and original work is not really sharp and I could not obtain a straight answer. As such, I took vecktor's work for inspiration but ultimately did my own visual brainstorming about what cubes to create and followed those sketches instead.

Animated Untitled I was inspired by the work of Anna Kruhelska, who patiently creates this type of artwork in light resistant paper: https://www.annakruhelska.com/pulse-series/ I tried to capture the nuances of paper as much as possible, i.e. the way it scatters yellowish light in the interstices between the moving shapes. I also tried to match the original lighting setup and added some vignetting all around to help focus on the piece. It was fun to figure out how to create a flexible setup in Houdini, to easily allow for variations on the theme. In the process I realized Mrs. Kruhelska approximates mathematical functions with her sinusoidal lines but also adds some irregularities making her pieces subtly more interesting and personal.

Growth and Space Colonization Algorithm Realized with Houdini and Redshift in the context of Week 6 of the CGMA course "VEX in Houdini". The focus this week was on Growth and Space Colonization algorithms, hence the glowing, radioactive vine growing over and out of the wreck. I also took the chance to have some quick fun with Maxon's noise nodes for the water shader and I reused a setup from a previous week to create the vegetation in the background. Credits: the ship and its textures have been realised by NoSleepinGT and are available on TurboSquid: https://www.turbosquid.com/3d-models/3d-shipwreck-beach-ship-model-1412138

Boids in VEX Realized in the context of week 5 of the CGMA course VEX in Houdini. This is a VEX-based implementation of some of Craig Reynolds behaviours, more specifically: cohesion, alignment, separation, path following, leader following and obstacle avoidance.

Lightning and Loft tool Assignment for Week 3 of the CGMA course VEX in Houdini. I tried to do too much in one shot visually, but at least the tools seems to be working reasonably well: the lightning tool generates lightnings when the surfaces of the two objects are within a threshold distance and the loft tool is behind the blades of grass in the background.

Reaction / Diffusion algorithm test I'm going to have to revisit this one, the transitions are too short and the R/D algorithm is not really that visible during them.

Reaction / Diffusion algorithm implemented in VEX Realised in the contex of week 4 of the CGMA course "VEX in Houdini".

Sierpinksi Gasket Assignment for Week 8 of the course Abstract FX in Houdini (CGMA) This week focused on Fractals. The setup I built for this video allowed me to increase or decrease the level of recursion of the Gasket's tethraedal elements, giving me the chance to wrap my mind around Houdini's "foreach" nodes.

Wires, lights, comp! Realised in the context of the assignment for Week 4 of Introduction to Houdini FX, by Rebelway. Wire solver-based cable placing, some VEX and tricks for the lights, some basic houdini-based compositing.

Character Effect Realised in the context of the assignment for Week 7 for the course "Abstract FX in Houdini". Rigged and animated character converted to VDB fog, copper cubes placed in a regular grid pattern, pscale proportional to density via parameter ramp.

Render Time Point Replication - Scribble style The squiggly lines that resemble a little a scribble done with a pen are actually 400 separate points each, generated only a render time.

Render-time Point Replication - Graffiti style High quality graffiti are actually much more elaborate and beautiful of course, but I was playing with the curlnoise function in vex, it gave me this result pretty much out of the box and on a still frame it looked like some messy graffiti somehow. Realised in the context of Week 7 of the CGMA course "VEX in Houdini". Each curvy squiggle is actually 800 points generated only at render time.

Hexagons Wall Got inspired by some artwork by Matthew Blunt (https://matthewblunt.tumblr.com/image/151352106917) that I had for some time in my pinterest collection. It looks simple enough but there are some subtleties I had to deal with while creating the setup in Houdini to keep it mostly faithful to the original artwork. Namely the hexagons laying still are flat, have corner markings and are perfectly seamless edge-to-edge. The hexagons that move however do not have markings, have a slight bevel to them and have gaps between them. In the transition the markings fade first, then each hexagon rotates and at the same time it shrinks slightly while a small bevel appears. The procedural setup handles this with a copy_to_points node within a foreach loop and can easily change the shape of the area tiled with the hexagons and their numbers. Also procedural is the distribution of the static vs dynamic hexagons: noise within an Attribute VOP node allow for very different distributions, with more clustering or more randomness.

Emanuele D'Arrigo © 2024. All rights reserved.

bottom of page