• Skip to main content
  • Skip to primary sidebar
  • Skip to footer

Tuan Huang

  • Spring 2022
  • Fall 2021
  • About

Fall 2021

Cloud Clock

In my final project, I made a clock inspired by clouds. There are two panels on the screen, the right side indicates seconds, and the left indicates minutes. On the left side, there are 60 boxes in total, each minute the cloud released from the right side would be filled into a box on the left.

There were a lot of challenges with Unity and I’m glad I could make it this far to almost something I imagined at the beginning. Instead of setting up animations in Unity, I manipulated most things in scripts – it seemed like the only way when every movement is connected to real-time. I also found scripting to be an easier way to keep track of everything, just open the code file and change values, compared to going through inspector layers and finding the thing you want to change.

I used the function “System.DateTime.Now” a lot in this project, to call different actions at a specific time.

a screenshot of codes
activating clouds each minute

However, when I built it into an application, the particle systems (ie. the clouds) couldn’t be activated. I haven’t got the time to solve this problem, so for the presentation, I rendered a video for my final demo.

PComp final project : Remake

This week we presented our final project, Remake, to the class. Here are some process documentation and challenges we encountered.

p5.js

Our project relies heavily on programming in p5.js, including a color tracker and display images. The most significant progress we had this week was solving the jitteriness of the display by setting layers of thresholds. 

Challenge

However, the biggest challenge was also the color tracking. The reading value of each color varies a lot under different lighting settings, which also became a huge problem in our presentation, for the light was a lot warmer in the classroom than on the floor. Also, the color of each object was too similar to computer vision; for example, it often mixed orange and yellow together. On the other hand, I’m not sure if it’s because we’re overdoing things in p5.js or there are some errors in sketches that are yet to be solved; we could not manage to show every image completely when we let them move on both X and Z-axis. It was a disappointment for me. I feel like the impact of the projection was much weaker without different scales of the elements. Therefore, this would be the first thing I would try my best to solve before the winter show.

Fabrication

Thanks to Sarah’s access to Tandon’s Maker Space, we printed out several 3D blocks for users to interact with. Also, the platform was laser cut from acrylic plates. It was our first time using those machines for both of us, and we’re both happy that the interface turned out as we planned.

User Feedback

We got some interesting feedback regarding the interface during our presentation. First, since there are four states of displays in our project, Olivia suggested changing the input into something more related to the output. So instead of turning the potentiometer, maybe we could use different kinds of pens to determine what state to show – for example, a pencil could indicate the sketch mode. Also, since we only presented with the X-axis movement, Keer mentioned that we could make tracks for the objects, pointing to the users that these objects should only be moved horizontally. 

All in all, I feel like this project has developed a lot since we first got this concept. I enjoyed the process, and working with Sarah was also a delight! We’ll try to fix more things and hope to enjoy this project with the audience during the winter show!

ICM W14: final

For our final project, Gabe and I continued the path of sound visualization. We took a few steps further this time, adding depth to the space and routing the music to Ableton in real-time.

[Read more…] about ICM W14: final

PComp Project 3.2 : Development & Coding

After the playtest last week, we looked into computer vision and decided to use color tracking to monitor the objects’ location. 

Computer Vision: tracking.js

For color tracking, we used the library tracking.js, and by entering the color we want the computer to monitor, it can return the x,y position of the color objects. With the x,y position, we can then send them to control the location of the projected element. 

Sarah testing color tracking on p5.js
Sarah testing color tracking on p5.js

Also, for the projection, instead of going from low to high fidelity, we decided to make them into 4 different states controlled by a potentiometer, showing 4 styles of the landscape – photorealistic, children drawing,  wireframe, and one more that we’re not yet sure about. 

a mockup picture of our landscape
projection testing – the photorealistic state of our landscape

Mapping to Projection

And then, for my part, I tried to map the x and y positions of the objects to the x-axis and z-axis of the projected elements. There were several challenges – extracting data from the tracking results was harder than I thought, there tended to be delays and glitches, which we would try to solve. Second, in order to move along the z-axis (so that it scales up and down as the user moves the objects forward and back on the platform), we need to use WebGL in p5.js to create a 3D space. However, the tracking works only on a 2D canvas. Therefore, in the end, I tried to write the projected elements on another 3D graphic plane by using the function createGraphic(). There are still lots of details that should be revised and considered, we will work more along the way.

 

Fabrication

We planned to 3D print out our objects for the users and would start testing them with the tracking model. For the objects, we were thinking about abstract, colorful polygon shapes.

object reference
reference for our objects
our 3D model in Maya
our 3D model in Maya

Ideally, we will also hide the camera (maybe decorate it as a lamp?) to create a lean look for the whole piece. The platform that the users would be playing on would be a white acrylic plate, cut with a simple user interface, attaching the potentiometer to control the states.

 

PComp Project 3.1 : Ideation and Play Test Preparation

For the last Pcomp project of this semester, Sarah and I partnered up again. We decided to make an interactive installation, which will consist of a platform with small objects and a projection of a landscape.

As a participant moves abstract physical objects on a surface, the projection of a  high fidelity landscape is manipulated. E.g. as the participant changes the location of a grey block, the mountains in the landscape that is being projected also move. For our playtest, we use legos to represent our small models and cut some cardboard to mimic the elements that are going to be projected.

cardboard cutouts as our prototype

What we are yet to figure out is what sensor to use beneath the object platform so that we can monitor the objects’ movements and make the landscape change accordingly. We might also add a potentiometer or another element to let the audience control the fidelity of the landscape. E.g. the low fidelity might look more like wireframes and the high fidelity would be represented by photorealistic landscapes. 

 

ICM W11 : Sound

In these two weeks, we focused on sound creation and processing in p5.js.

Based on a track he made, my partner Gabe and I built upon it and added several improvising elements to it. In the beginning, I experimented with oscillators and microphones. However, I find myself not having so much creativity when it comes to sound creation. In our first discussion, Gabe showed me some soundtracks he made and kindly shared some with me to play around with. It was then I got the idea of making a computer “keyboard” for him to perform – I changed the alphabets into notes, so in addition to his base track, he could improvise music using the laptop’s keyboard. Some of the alphabetical keys also act as sound effects and jumps.

[Read more…] about ICM W11 : Sound

  • Page 1
  • Page 2
  • Page 3
  • Interim pages omitted …
  • Page 5
  • Go to Next Page »

Primary Sidebar

Footer

Recent

  • #final project: E-Forms
  • #5 Form Generator + Auto-fill by computers
  • #4 Revisiting Digital Cut-up
  • 03: Form Generator
  • 04: Tunnel Cube

Tuan © 2025