Where was I? Oh yes, realistic audio level over distance.
Building upon the applications, the Audio Level over Distance Theory model was implemented into the Max patch. This segment that was created for an earlier experiment has formed most of this Max patch. The experiment was successful and allowed for the Max/MSP patch to not only create a more realistic attenuation model, but to simplify the part of the patch that receives and translates a playable character’s position.
The theory put into practice in this experiment creates a realistic simulation of audio level over distance and will be put into the final Max/MSP created application. An option to switch between the basic version and the theory version of this audio effect will also be implemented, to allow the end-user to compare the differences.
After a bit more play around with nodes, I have gotten the players position and the cubes position from the basic audio Unity 3D app mapped nicely onto the node object. Very wizard indeed.
If I have enough time at the end of the project, I will jazz it up a bit and use it as the basic audio over distance model on the final program.
It may also come in handy sooner than that. Although not next on the list, as I’m finishing off level over distance I’m researching more and more into reverb. Unity 3D uses something called reverb zones which are essentially triggers for different reverb settings. Why make something complicated if I can mangle this object to my will and have that create “reverb zones”
Today I upgraded from Unity 3D version 4.1.5f1 to version 4.2.1f4.
So far so good, the work I have created so far appears to work correctly with the new version. Being a newer version, things should be smoother and faster with less bugs. Hopefully I won’t run into troubles with this new version.
So I’ve got Max/MSP and Unity 3D to work with one another using the previously mentioned µ (mu) Max-Unity3D Interoperability Toolkit by the Virginia Tech.
Below is a video which demonstrates how Max/MSP and Unity 3D interact with each other. Watch in Fullscreen HD.
Feel free to download the applications and test it yourself, read the readme.txt file included in the download for further instructions.
Some useful links:
µ (mu) Max-Unity3D Interoperability Toolkit – http://disis.music.vt.edu/main/portfolio.php
As Max/MSP and Unity 3D don’t connect to each other natively, I’m currently researching how to do it.
Obviously if I were to create a ‘proper’ game using the results I make throughout this study, I would directly connect the audio engine to the rest of the game… Be it by duct-taping Pure Data (an open source application similar to Max/MSP) into the engine itself like how EA Games done with Spore. Or by creating the video game sound engine code from scratch within the game. But for the purpose of this project I only need to connect the two together as I can run them simultaneously side by side.
I’ve come across something called the µ (mu) Max-Unity3D Interoperability Toolkit by the Virginia Tech Department of Music which uses a local network connection as a bridge for connecting both applications together. The toolkit uses the netsend and netreceive objects created by Olaf Matthes.
Before any further research into using LAN connections I need to make sure they work. So I made a basic and quick test within Pure Data, which includes its own pre-installed netsend and netreceive objects. The test was to send the message “hello” over the net-connection and be fully received by the netreceive object. The experiment was a success, the message successfully sent and subsequently appeared in Pure Data’s console window.
Now I need to have a look-see into the µ (mu) Max-Unity3D Interoperability Toolkit and see if that also works, and if it can be used as a bridge between Max/MSP and Unity 3D for the purpose of this project.
Some useful links:
Pure Data — http://puredata.info/
Max/MSP — http://cycling74.com/products/max/
Pure Data within the EA game Spore — http://puredata.info/Members/hans/spore/
Unity 3D — http://unity3d.com/
µ (mu) Max-Unity3D Interoperability Toolkit — http://disis.music.vt.edu/main/portfolio.php