
Command Palette
Search for a command to run...

Comments
Join the discussionNo comments yet. Be the first to comment.
Search for a command to run...

No comments yet. Be the first to comment.
For this week's Creative Code challenge by @sableRalph : BigSky I decided to code ChaoticUFOs by remixing the previous Hydra & P5js code with additional LiveCodingYoutube aid and SonicPi for audio.
For the P5js portion, I used the AR/XR Library: https://p5xr.org/#/ , which allowed me to have real-time footage involving the sky and the UFOs
The footage of the UFOs was done this morning as they seem to have landed in town
The Design element of this sketch was to have a glitchy "found footage effect", where LiveCodingYoutube acts as a person dissecting the video and trying to see what is actually being seen
With SonicPi, I decided to remix a previous sonification that took data from space launches to make the sounds.
Code that was remixed can be seen here: DecibelsChallenge_SpaceLaunches
For this sketch, I overlayed the various sonifications to build a chorus of sounds to mimic the energy displayed in the video
Alongside, Heartbeat Data that I wanted to incorporate into this sketch, to reflect the unknowns of the scenario being presented
What is that flying in the sky?
What are those?
UFOs?
Are they trying to humidify?
Crystalize?
Sanitize?
Or add more or less heat to the cold?
Maybe they are going to take car of the snow?
What is that flying in the sky?
Flying in the Big Sky that High?
function setup() {
createARCanvas(); //AR canvas setup
}
//rotational speeds
let rot = 0;
let rotSpeed = 0.1;
//array of colors to be used
let filling = [
"red",
"blue",
"orange",
"yellow",
"teal",
"purple",
"silver",
"green",
"teal",
"black",
"white",
];
function draw() {
frameRate(3); //slow down the frame rate, so it isnt as chaotic
rot += rotSpeed; //update the speed
//cone and sphere used to make flyng objects
for (let i = 0; i < 11; i++) {
rotateY(rot);
stroke(random(filling));
fill(random(filling));
sphere(20);
stroke(random(filling));
translate(-20, (second() % 10) + 1, 0);
fill(random(filling));
cone(20, 20, 20);
sphere(10 + ((second() % 4) + 1));
translate(40, 0, 0);
if (second() % 5 > 2) {
fill("#D90368");
strokeWeight(4);
stroke("#FFD400");
} else {
fill(random(filling));
stroke(random(filling));
}
cone(20, 20, 20);
sphere(10);
}
}
create(2,2,"roqltGmlMbY") // youtube id is pasted when you click a thumbnail
play(0)
play(all)
speed(1,-2)
speed([0,2],0.15)
speed(3,0.25)
pause()
play([0,3])
cue(2,"RMAd3abn6yY")
loopAt(1,3,2) // loop video 1 from 3 second for 2 seconds
loopAt(2,19,4)
loop([1,2],1,4) // loop video 2 and video 1 from 1 second ago for 4 seconds
cue(3,"aoxKw_nTf8w")
s0.initScreen()
s1.initScreen()
s2.initScreen()// not used
src(s0).repeat(()=> (time % 25 + 1)/5).blend(src(s1).scale(2)).diff(o1).modulateScale(o2).out(o0)
src(s1).pixelate(10000,1000).out(o2)
src(s2).scale(0.33).scroll(()=> Math.sin(time % 25)/10).out(o1)