Hey Hive!
Recently, some new areas of learning entered my radar.
As I shared with you in a previous post, I’m currently working as a Unity Developer, mostly creating games for events and brand activations.
In this kind of projects, games are not always played as we do on PC, consoles, or phones. Sometimes they involve custom inputs, body tracking, or they’re not even games at all but interactive experiences like face scanners (here I showed you one) or interactive screens.
That’s why I not only need to keep learning Unity related stuff but also dive into new fields like:
- Arduino: custom inputs and connecting Unity with physical devices
- MediaPipe + OpenCV: body tracking
- Python: connecting OpenCV and MediaPipe with Unity
- TouchDesigner: a plus for interactive experiences
I have a lot to learn, but I’m really excited about it. It’s always fun to keep expanding knowledge and experience.
How i plan learning all these?
To start, I decided to:
1. Search for YouTube tutorials
2. Use ChatGPT as my tutor, so I can ask questions, get examples, and practice exercises
I began with OpenCV + Python, because I think it’s a good entry point that gives me a clear roadmap:
OpenCV/Python → MediaPipe → Arduino → TouchDesigner
Here’s the logic:
- OpenCV + Python are the foundation for camera and human recognition.
- MediaPipe provides trained models for hands, faces, and body tracking.
- Once I master those, I can connect everything to Unity and integrate Arduino for physical devices.
- Finally, TouchDesigner adds even more creative interaction.
For example, I saw a simple demo where hand detection turns LEDs on/off depending on how many fingers are raised. Pretty cool!
For OpenCV, I found two free YouTube courses that look great:
I also asked ChatGPT for some simple scripts to get started. It gave me 5 Python examples:
1. Basic camera frame detection
2. HSV color filter: detect a specific color
For example here is only detecting brown/dark colors
3.Border detection: detect shapes by color difference
Lamp and glasses look really cool lol
4.Motion detection: track moving objects
5.Anti-jitter: stabilize camera tracking
My Roadmap of Exercises
Based on those examples, I asked ChatGPT to design progressive exercises. Here’s my current roadmap:
Level 1 — Strengthening the Basics
- Image capture → take a photo with the webcam when pressing Space and save it as
capture.png
. - Video recording → record 5 seconds of video from the webcam and save it as
output.mp4
. - Dynamic cross → show a cross in the center of the screen that changes color every 2 seconds (green → blue → red).
Level 2 — Detection and Tracking
- Track a colored object → detect, for example, a Coke bottle cap and draw a rectangle around it.
- Normalized coordinates → display (x_norm, y_norm) between 0 and 1 along with (x, y).
- Multi-color tracker → detect two colors (e.g. red and blue) and draw a different circle for each.
Level 3 — Motion and Events
- Click by speed → if the object moves quickly downward, display “CLICK!”.
- Stillness detector → show “STILL” if the object stays within ±10px for at least 1 second.
- Target circle game → draw a fixed circle; if the object enters it, display “HIT!”.
Level 4 — Creativity
- Virtual brush → use a colored object to “paint” on a canvas by leaving a trail.
- Pong with a physical object → a paddle follows your colored object; a ball bounces and must be hit.
- Simple gesture detector → detect red + blue at the same time; if far apart → show “OPEN”, if close → show “CLOSED”.
This roadmap helps me improve step by step while keeping my goals clear. I think the best way to learn things is to practice a lot and not only copy what you saw on exercise but also mix them together to really understand what you are doing.
Right now, I’m finishing the last exercise from Level 1, so there’s still a long journey ahead but I’m really enjoying the process!
I’ll keep sharing my progress, so consider following me. And if you’re also learning OpenCV, MediaPipe, Arduino or Touch Designer let’s discuss and learn together!
Thanks for reading, see you in the next post!