Precipitation

You can recreate most of this work using those links :
L-Systems - TouchDesigner
Link to download the touch designer project

Context

Precipitation is an audiovisual installation, it is part of my studies. We're a group of 9 people. We got 2 month to develop our installation. We chose the theme ourselves : the water cycle and it's disturbance.

Precipitation is a word play;

Each one of us is creating a module that will be controled via UDP, with a disturbance parameter. I myself am working on plants. I took the opportunity of working on visual, it's probably the only time in my studies that I may take two whole month for this purpose.


You can see more of it in this video.

Practical Problems

Making an installation is a lot of problem solving. Although I have one of the simplest module : a video-projector (as a refence point, a friend of mine is hanging huge cubes of ice), it do need a lot of thinking to get an optimal result.

Some Problems :

I'm in luck, some VP have been dismounted of some classrooms, I get to use them.

Software Tools

I was fascinated by the L-Systems and the forms it creates. Searching for the right tools to use the plain potential of this system, I first went toward p5.js, but TouchDesigner (TD) soon became an evidence. The amount of CPU ressource needed surprised me a lot, the l-sys operator is in fact 3D, and real time 3D rendering is no joke. Especially in TD, this operator in not GPU accelerated and can only use one core of the CPU. I started to think about Shaders and found a nice L-sys shader, but it was in no way as interesting as the 3D deformation that the SOP enabled. It's an interesting exemple of time investment, taking few days off your road to check if an alternative can save you time (and money). One of our teacher made me consider unity, but the trees are way too realistic and organic.

Using some 3D mangling I can transform a calm tree in a tortured texture mess.

healthy state
corrupted state

Post Process Treatment

Feedback is a wonderfull tool to give the feeling of a sreaming ecosystem. I'm also considering the use of some dithering to add texture. Here is the same image as above after those processes :

Feedback
Dither

Esthetic choices

I wanted a black background to blend the border of the projected image with the wall, but it didn't worked well with the 3D shadows. So I get back to an initial choice of black and white, to add contrast between the plants and the background. The dither that I was sceptical about now comes in handy to add color for a better feedback. Also, the bayer dithering add a point grid to the background, which gives more material and a more uniform look to the feedback. Instead of the previous 3 demo trees side by side, I chose to concentrate on the generation and on the movement it creates. I now have 6 different trees that grows and decay successively. It is really fun to experiment with the growth design, using some envelope to move multiple parameters around, discovering surprising and unexpected stuff each time.

My favorite tree

Patch organisation

To switch between the different trees, I only use one l-system operator with two switch operators, one for the l-system rule and one for the l-system parameters. A timer bang a counter mapped to both switch value.

Modulation

Things are boring when they don't move, we'll need some kind of MoDuLaTiOn. In this patch, I got one input : degradation state between 0. and 1. to create interesting movement from this simple parameters, I most of the time map to the movement that modulate the thing, not to the thing itself. Compared Noise is also a interesting way to trigger stuff, lowering the threshold for more frequent trigger. Interesting modulation point beside angle are :

The same tree but sad

- home -