This is a project I worked on for a programming internship.
I wrote the code for the middle-ware using Unity that allows animation data to be sent from Unity into Max/Msp.
Parameters such as framerate and toggling individual joints can be controlled from Max through code I wrote using an OSC plugin.
I wrote the code for the middle-ware using Unity that allows animation data to be sent from Unity into Max/Msp.
Parameters such as framerate and toggling individual joints can be controlled from Max through code I wrote using an OSC plugin.
What I worked on
- Unity
- C# Programming - UDP - OSC - Max/Msp |
Process
This internship started out as a small task to send animation data from Unity to Max/Msp through UDP. After a day's worth of work I had figured out how to get it functioning using some of my own code and a few third party plugins for Max.
After that I was tasked with doing essentially the same type of thing but from Max/Msp to Unity. They wanted to be able to control parameters like framerate and toggling which joints were sending data. I did this using OSC (Open Sound Control). I went through several iterations of implementation for this part. I tried out several preexisting code bases for OSC before settling on one that I was able to implement easily and without much overhead or extra, unused code.
From there, kept working on it for a few more months; implementing more features and optimizing existing code. Near the end of the project I was working on things like multithreading, performance profiling, and using a decompiler to edit dll files.
I ended up learning a lot from this project as it presented me with quite a few programming challenges that I wouldn't have otherwise found myself trying.
After that I was tasked with doing essentially the same type of thing but from Max/Msp to Unity. They wanted to be able to control parameters like framerate and toggling which joints were sending data. I did this using OSC (Open Sound Control). I went through several iterations of implementation for this part. I tried out several preexisting code bases for OSC before settling on one that I was able to implement easily and without much overhead or extra, unused code.
From there, kept working on it for a few more months; implementing more features and optimizing existing code. Near the end of the project I was working on things like multithreading, performance profiling, and using a decompiler to edit dll files.
I ended up learning a lot from this project as it presented me with quite a few programming challenges that I wouldn't have otherwise found myself trying.