Interactive music visuals for Max Cooper's Emergence AV collaborations project.
Concept
Forms in motion, interact spontaneously, knitting emergent interconnections.
A continuous reflexive process — coheres through ascending scales of complexity; recurs through cycles of entropy and order.
Moving through scales, evoking natural forms:
From primordial matter, forms; ovum, animal...
Through self; community...
Towards interconnection; cohesion...
Tech
The visuals are an emergent physical system of interacting particles.
Complex organic forms emerge spontaneously, from simple interactions at the individual scale — in a fluid-like advection, particles recursively affect and affected by the field of motion.
At the core of this effect, each particle leaves a trace of its velocity in the velocity field, which in turn affects the velocity of particles passing through that field. This simple interaction at the individual scale gives rise to the complex organic forms at the collective scale, without explicit control or guidance.
The idea came while reading about advection in Lagrangian fluid dynamics, in the excellent series of articles Fluid Simulation for Video Games, by Dr. Michael J. Gourlay for Intel — this is kind of a simpler advection, showing some fluid-like properties.
Stochastic noise also drives the process — to set it in motion, and to shape it through scales and forms with more control (increasing, cycling wavelengths of noise).
Noise is used here as a way to guide and direct the general motion of the particles, for animation.
An optical flow process is performed on the camera, so the motion of the particles is influenced by people moving naturally in front of their camera. I like this kind of natural interaction (similarly using the microphone), crossing the barrier between you and the experience.
Check out
Thomas DieWald
and
Adam Ferris
for some nice examples of this technique.
Made by
Eoghan O'Keeffe
~ Interactive visuals.
Nirvan Murréll
~ Video editing.
Max Cooper
~ Music, Emergence project.
Controls
Explore through mouse, keyboard, touch, camera, microphone, and controls.
Menu controls
See the toolbar at the bottom of the screen for these controls - from left-to-right:
Toggle the intro info
Change visuals quality
Toggle fullscreen
Toggle the edit panel
Capture and share a screenshot (the shareable link appears at the bottom of the capture screen)
See the video
Get the Emergence album
See the Emergence project
Further settings and controls can be found in the edit panel, which appears at the right side of the screen.
Keyboard — main controls
The main keyboard controls - most of these can also be found in the edit panel.
Also, create your own animation with keyframes.
(Experimental...)
H
— Toggle the edit panel on or off
<space>
— Play/pause
[
— Seek backwards
]
— Seek forwards
F
— Fullscreen
O
— Clear the view
0
— Flow
preset
1
— Wings
preset
2
— Fluid
preset
3
— Flow only
preset
4
— Noise only
preset
5
— Sea
preset
6
— Petri
preset
7
— Turbulence
preset
8
— Rorschach
preset
9
— Funhouse
preset
\
— Reset particles (keyframe)
<shift>
— Respawn particles (keyframe)
'
— Spawn particles from flow (keyframe)
;
— Spawn particles from fastest (keyframe)
,
— Spawn particles from form (keyframe)
/
— Spawn particles from sampled image (keyframe)
.
— Spawn particles from image (keyframe)
<enter>
— Keyframe current state at current time
<backspace>
— Delete last keyframe
Keyboard — editing controls
While holding any of the settings keys down, change them with the adjustment keys.
(Experimental...)
Settings keys:
`
— Set rootNum
P
— Set autoClearView
Q
— Set forceWeight
A
— Set flowWeight
W
— Set noiseWeight
S
— Set flowDecay
D
— Set flowWidth
E
— Set noiseScale
R
— Set noiseSpeed
Z
— Set damping
X
— Set speedLimit
N
— Set speedAlpha
M
— Set lineWidth
<control>
— hold and press another key to re-assign to current state
Adjustment keys:
-
— Adjust setting, small decrease
=
— Adjust setting, small increase
<down>
— Adjust setting, medium decrease
<up>
— Adjust setting, medium increase
<left>
— Adjust setting, large decrease
<right>
— Adjust setting, large increase
<caps-lock>
— Reset setting to default
<escape>
— Reset setting to default (keyframe)