Process Post 2: Making Artwork with ml5
March 9, 2022
Last week, I made this post about learning how to use ml5js to create interactive artwork. Since then, I found the answers to all my questions, redefined my concept, and successfully completed my first interactive display.
Here are some of the things I've learned since making my last blogpost:
1. How to make a full screen display
My friend and classmate Jose showed me how to toggle between a minimized and fullscreen display on p5js.
This is the full screen code:
function mousePressed() {
if (mouseX > 0 && mouseX < displayWidth && mouseY > 0 && mouseY < displayHeight) {
let fs = fullscreen();
fullscreen(!fs);
}
}
Thanks Jose!
2. How to incorporate audio into my codeThis Daniel Shiffman video taught me how create a looping soundtrack for my code.
My audio file consists of fire crackling over the soft tune of a piano.
3. How to place customized emitters on key points of the body
I created an emitter for the key points of the PoseNet skeleton. I didn't need emitters for the eyes and ears so I only made emitters for 13 out of the 17 skeleton keypoints.
I want to share some of the notes I made after the first showing of my piece.
Strengths of Fireflection
a) The presentation was considered and tidy
- The display was full screen and the code was hidden
- The lighting setup, audio, and projected display created an immersive viewer experience
- The p5js code worked properly and fulfilled its intended purpose
b) My work successfully communicated my concept. Viewers were able to understand and interact with the work on their own without me having to explain it. I found this out during my Digital Interventions 201 class critique.
c) The work engaged viewers. After my critique, some of my classmates danced, jumped around, did exercise, and played their own music in front of the display. I also posted my work on my Instagram, and I received positive feedback.
Plans for future iterations of Fireflection
Simplify code to make it run faster (it was lagging a little during the first presentation)
Reconfigure the emitters so that they are part of an array but individually customizable
Make the audio responsive to the viewer. Perhaps the fire crackle sound gets louder when the fire burns brighter and the viewer moves faster.
Use more red lights in the gallery to illuminate viewers (this will make PoseNet recognize viewers better and prevent glitching. Luckily, I don’t need to retrain the model)
The Final Artwork
This piece is titled Fireflection and it generates blazing sparks in response to users' movements.
Comments
Post a Comment