No edit summary |
No edit summary |
||
Line 54: | Line 54: | ||
== Video Doc == | == Video Doc == | ||
[ | [<iframe width="560" height="315" src="https://www.youtube.com/embed/RNqw7ycQNXA" frameborder="0" allowfullscreen></iframe>] |
Revision as of 17:27, 15 June 2016
Kitten in Space!
Our concept was to realise an interactive ‘mini’ game in Unity controlled via touch OSC for smartphone. The sound accompanying the game is generated in Max MSP via OSC triggers from Iannix, this data is then transferred via OSC to affect the scale value in real time of the cube game objects in Unity.
Meooow!
Group Work By
OSC Signal Diagram
Iannix - Audio Input
We created a simple score in Iannix to send triggers via OSC to be received in Max MSP.
Max MSP - Audio Input/Output
In Max we assembled a patch that triggers sound files responding to incoming OSC messages from Iannix. A bank of sound files pre-designed in Ableton are stored in a folder on the hard drive and called from the max patch as it receives the random trigger coordinates into the sprintf open %s.wav object. These triggers are then sent on to be received in Unity via the udpsend object in Max.
Controller Input to Unity
Touch OSC App
We used the App "TouchOSC" for Android to control our Kitten in Unity. The design of the layout is inspired by the classic Nintendo controller.
Effectively we used the "Directional Pad" to move our Kitten on the x and z axis and the blue button to jump.
TouchOSC is communicating directly with Unity via OSC.
Unity TouchOSC Receiver Code
This is the script we used to get the connection between Unity and TouchOSC established.
In the "function update" part we move the player around. We receive the variables for this function via the function "AllMessageHandler" which you can find in the second part of the code.
We used the following Unity Scene and it's included scripts as a template
https://github.com/heaversm/unity-osc-receiver
Video Doc
[<iframe width="560" height="315" src="https://www.youtube.com/embed/RNqw7ycQNXA" frameborder="0" allowfullscreen></iframe>]