<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Elenaliv</id>
	<title>Medien Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Elenaliv"/>
	<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/Special:Contributions/Elenaliv"/>
	<updated>2026-05-24T22:27:26Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.6</generator>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Tutorials/Networking/Controlling_Unity_with_Processing&amp;diff=85482</id>
		<title>GMU:Tutorials/Networking/Controlling Unity with Processing</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Tutorials/Networking/Controlling_Unity_with_Processing&amp;diff=85482"/>
		<updated>2016-07-27T11:05:12Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: /* Unity */ formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== On 1 Computer ==&lt;br /&gt;
&lt;br /&gt;
[[Image:1_Computers.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Open Unity and Processing.&amp;lt;br&amp;gt;&lt;br /&gt;
2. In both programs the Remote IP should be set to 127.0.0.1&amp;lt;br&amp;gt;&lt;br /&gt;
3. The SendToPort in Processing equals the ListenerPort in Unity. You will have to adjust the values manually. Usually port values between 7000 and 15000 are not taken, so you can use them for your OSC connection.  If it is not working try changing the ports. Do not use the same value twice at the same time, if you have more than one connection running.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== On 2 Computers ==&lt;br /&gt;
[[File:2_Computers.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Make sure you are connected to the same Wifi. If it does not work there might be an active firewall disturbing your work, so turn that off if you have to. &amp;lt;br&amp;gt;&lt;br /&gt;
2. Open Unity and Processing. &amp;lt;br&amp;gt;&lt;br /&gt;
3. In Unity fill in the IP of the Computer that is running Processing. &amp;lt;br&amp;gt;&lt;br /&gt;
4. The SendToPort in Processing equals the ListenerPort in Unity. You will have to adjust the values manually. Usually port values between 7000 and 15000 are not taken, so you can use them for your OSC connection.  If it is not working try changing the ports. Do not use the same value twice at the same time, if you have more than one connection running. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processing ==&lt;br /&gt;
In Processing you need to install a library. Click on &#039;&#039;Tools&#039;&#039; – &#039;&#039;Add Tools&#039;&#039; – Choose &#039;&#039;Libraries&#039;&#039; – Search for oscP5 and install it.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the basic processing script for sending Osc data (it just sets up the connection, actions can be added): &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//load libraries&lt;br /&gt;
import netP5.*;&lt;br /&gt;
import oscP5.*;&lt;br /&gt;
&lt;br /&gt;
OscP5 oscP5;&lt;br /&gt;
NetAddress myRemoteLovation;&lt;br /&gt;
&lt;br /&gt;
//make a connection&lt;br /&gt;
void setup () {&lt;br /&gt;
  osP5 = new OscP5 (this, 9000);&lt;br /&gt;
  myRemoteLocation = new NetAddress(&amp;quot;127.0.0.1&amp;quot;, 9000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// this is where you can make things happen and send values to Unity&lt;br /&gt;
void draw () {&lt;br /&gt;
  OscMessage myMessage = new OscMessage (&amp;quot;/&amp;quot;);&lt;br /&gt;
    // add a value to the message (optional)&lt;br /&gt;
    myMessage.add(somevalue);&lt;br /&gt;
    // add a bool to the message (optional)&lt;br /&gt;
    myMessage.add(true);&lt;br /&gt;
  oscP5.send(myMessage, myRemoteLocation);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// this is where you get feedback in Processing&lt;br /&gt;
void oscEvent (OscMessage theOscMessage) {&lt;br /&gt;
  print(&amp;quot;### received an osc message.&amp;quot;);&lt;br /&gt;
  print(&amp;quot; addrpattern: &amp;quot;+theOscMessage.addrPattern());&lt;br /&gt;
    println(&amp;quot; typetag: &amp;quot;+theOscMessage.typetag());&lt;br /&gt;
    println(&amp;quot;### received an osc message. with address&lt;br /&gt;
    pattern&amp;quot;+theOscMessage.addrPattern()+&amp;quot; typetag&lt;br /&gt;
    +theOscMessage.typetag());&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unity ==&lt;br /&gt;
With just a little help from Google (or bing if you’re one of those people) you can find one of these Osc Receiver Scripts. You will also need scripts for [https://github.com/heaversm/unity-osc-receiver/tree/master/Assets/Plugins Osc and Udp]. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Import the scripts to the Assets folder using drag&amp;amp;drop.&lt;br /&gt;
If you’re working on a real actual project it might be best to create a folder for all your scripts. &amp;lt;br&amp;gt;&lt;br /&gt;
2. Create an empty game object (right click in the hierarchy) and rename it, so you know what it is. &amp;lt;br&amp;gt;&lt;br /&gt;
3. From the assets you drag the scripts onto the empty game object. &amp;lt;br&amp;gt;&lt;br /&gt;
4. Do not forget to adjust the IP, and the port in the inspector. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:IPandPortintheOSCReceiver.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
5. In the Inspector you see the public variable Game Receiver within the Osc Receiver Script. Drag the object you want to manipulate from the hierarchy onto the Game Receiver value. By default this value is called “Cube”. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:GameReceiver.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
6. If you haven&#039;t done it already - Safe! Ctrl+S on Windows, Macs probably do that differently, but you will know that better than me.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If all this code is completely new to you and you only understand trainstation – here is an explanation for the whole OSC Receiver Script:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Public values are adjustable without any coding; just use the inspector for that. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
public var RemoteIP : String = &amp;quot;&amp;quot;;&lt;br /&gt;
public var SendToPort : int = xxxx;&lt;br /&gt;
public var ListenerPort : int = yyyy;&lt;br /&gt;
public var controller : Transform;&lt;br /&gt;
public var gameReceiver = &amp;quot;Cube&amp;quot;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
In the Start() function all the necessary scripts and components are connected. This will happen once you press Play. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
public function Start ()&lt;br /&gt;
{&lt;br /&gt;
 var udp : UDPPacketIO = GetComponent(&amp;quot;UDPPacketIO&amp;quot;);&lt;br /&gt;
 udp.init(RemoteIP, SendToPort, ListenerPort);&lt;br /&gt;
 handler = GetComponent(&amp;quot;Osc&amp;quot;);&lt;br /&gt;
 handler.init(udp);&lt;br /&gt;
 handler.SetAllMessageHandler(AllMessageHandler);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The AllMessageHandler() function is where the Osc happens. This function unpacks the Osc signals, so you can address them in other functions. In this function you can command, whenever A happens, you want FunctionB() to be executed. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
public function AllMessageHandler(oscMessage: OscMessage){&lt;br /&gt;
 var msgString = Osc.OscMessageToString(oscMessage);&lt;br /&gt;
 var msgAddress = oscMessage.Address;&lt;br /&gt;
 var msgValue = oscMessage.Values[0];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
So you typed all that code and there are no errors but that stupid thing still won&#039;t do what it should - try Debug.Logs! Just add them everywhere! They can tell you what parts of your script are accessed after you press Play. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
Debug.Log(&amp;quot;Stakkars meg, som har skrevet 50 Debug.Logs&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The lines will be written in the console section of Unity once they are accessed.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  &lt;br /&gt;
[[File:50Debug_Logs.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Make an object jump on clapping ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;1. In Processing:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
a) Install an additional library for sound. Click on &#039;&#039;Tools&#039;&#039; – &#039;&#039;Add Tools&#039;&#039; – Choose &#039;&#039;Libraries&#039;&#039; – Search for Minim and install it. &amp;lt;br&amp;gt;&lt;br /&gt;
b) To your imported Libraries add &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import ddf.minim.*; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
c) Add Audio variables to your script. This script will also draw a circle depending on the audio volume. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
float x;&lt;br /&gt;
float y;&lt;br /&gt;
&lt;br /&gt;
Minim minim;&lt;br /&gt;
AudioInput input;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
d) In the Setup() function add the values for the circle and create the audiotoolkit &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
size (320, 240);&lt;br /&gt;
smooth();&lt;br /&gt;
stroke (255, 25);&lt;br /&gt;
noFill ();&lt;br /&gt;
&lt;br /&gt;
// Set start position&lt;br /&gt;
x = 0;&lt;br /&gt;
y = 20;&lt;br /&gt;
&lt;br /&gt;
minim = new Minim (this);&lt;br /&gt;
input = minim.getLineIn (Minim.STEREO, 512);&lt;br /&gt;
background (0);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
e) The draw() function will be the container of the circle’s size. It will only send the values to Unity if the circle is big enough. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
void draw () {&lt;br /&gt;
 int i =0;&lt;br /&gt;
 float dim = input.mix.level () * width;&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 if (dim &amp;gt;= 80){System.out.println(&amp;quot;Loud enough: &amp;quot;+dim);&lt;br /&gt;
  OscMessage myMessage = new OscMessage(&amp;quot;/&amp;quot;);&lt;br /&gt;
    myMessage.add(dim);&lt;br /&gt;
    myMessage.add(true);&lt;br /&gt;
  oscP5.send(myMessage, myRemoteLocation);}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
f) When you are ready, press Play. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2. In Unity:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
a) Create an object in Unity. Drag this object onto the gameReceiver of your Osc Receiver Script. This object is now the gameReceiver and will behave as you define in the Osc Receiver script.  &amp;lt;br&amp;gt;&lt;br /&gt;
b) Open up the Osc Receiver Script.  Define a new private variable. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
private var moveSpeed : int = 0;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
c)  Create a new public function.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
public function MoveObject(msgValue) : void&lt;br /&gt;
{&lt;br /&gt;
moveSpeed = msgValue;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
d)  In the Update() function add &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 var go = GameObject.Find(gameReceiver);&lt;br /&gt;
  go.transform.Translate(0, moveSpeed, 0); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
e) In the AllMessageHandler() function add &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
switch (msgAddress){&lt;br /&gt;
 default:&lt;br /&gt;
  MoveObject(msgValue);&lt;br /&gt;
  break;}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
f) When you are ready, press Play.&lt;br /&gt;
&lt;br /&gt;
== Example: Use your mouse position to Control Objects ==&lt;br /&gt;
&lt;br /&gt;
S O O O O O O O O O N&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Tutorials/Networking/Controlling_Unity_with_Processing&amp;diff=85481</id>
		<title>GMU:Tutorials/Networking/Controlling Unity with Processing</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Tutorials/Networking/Controlling_Unity_with_Processing&amp;diff=85481"/>
		<updated>2016-07-27T11:04:46Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: /* Example: Make an object jump on clapping */ formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== On 1 Computer ==&lt;br /&gt;
&lt;br /&gt;
[[Image:1_Computers.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Open Unity and Processing.&amp;lt;br&amp;gt;&lt;br /&gt;
2. In both programs the Remote IP should be set to 127.0.0.1&amp;lt;br&amp;gt;&lt;br /&gt;
3. The SendToPort in Processing equals the ListenerPort in Unity. You will have to adjust the values manually. Usually port values between 7000 and 15000 are not taken, so you can use them for your OSC connection.  If it is not working try changing the ports. Do not use the same value twice at the same time, if you have more than one connection running.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== On 2 Computers ==&lt;br /&gt;
[[File:2_Computers.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Make sure you are connected to the same Wifi. If it does not work there might be an active firewall disturbing your work, so turn that off if you have to. &amp;lt;br&amp;gt;&lt;br /&gt;
2. Open Unity and Processing. &amp;lt;br&amp;gt;&lt;br /&gt;
3. In Unity fill in the IP of the Computer that is running Processing. &amp;lt;br&amp;gt;&lt;br /&gt;
4. The SendToPort in Processing equals the ListenerPort in Unity. You will have to adjust the values manually. Usually port values between 7000 and 15000 are not taken, so you can use them for your OSC connection.  If it is not working try changing the ports. Do not use the same value twice at the same time, if you have more than one connection running. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processing ==&lt;br /&gt;
In Processing you need to install a library. Click on &#039;&#039;Tools&#039;&#039; – &#039;&#039;Add Tools&#039;&#039; – Choose &#039;&#039;Libraries&#039;&#039; – Search for oscP5 and install it.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the basic processing script for sending Osc data (it just sets up the connection, actions can be added): &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//load libraries&lt;br /&gt;
import netP5.*;&lt;br /&gt;
import oscP5.*;&lt;br /&gt;
&lt;br /&gt;
OscP5 oscP5;&lt;br /&gt;
NetAddress myRemoteLovation;&lt;br /&gt;
&lt;br /&gt;
//make a connection&lt;br /&gt;
void setup () {&lt;br /&gt;
  osP5 = new OscP5 (this, 9000);&lt;br /&gt;
  myRemoteLocation = new NetAddress(&amp;quot;127.0.0.1&amp;quot;, 9000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// this is where you can make things happen and send values to Unity&lt;br /&gt;
void draw () {&lt;br /&gt;
  OscMessage myMessage = new OscMessage (&amp;quot;/&amp;quot;);&lt;br /&gt;
    // add a value to the message (optional)&lt;br /&gt;
    myMessage.add(somevalue);&lt;br /&gt;
    // add a bool to the message (optional)&lt;br /&gt;
    myMessage.add(true);&lt;br /&gt;
  oscP5.send(myMessage, myRemoteLocation);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// this is where you get feedback in Processing&lt;br /&gt;
void oscEvent (OscMessage theOscMessage) {&lt;br /&gt;
  print(&amp;quot;### received an osc message.&amp;quot;);&lt;br /&gt;
  print(&amp;quot; addrpattern: &amp;quot;+theOscMessage.addrPattern());&lt;br /&gt;
    println(&amp;quot; typetag: &amp;quot;+theOscMessage.typetag());&lt;br /&gt;
    println(&amp;quot;### received an osc message. with address&lt;br /&gt;
    pattern&amp;quot;+theOscMessage.addrPattern()+&amp;quot; typetag&lt;br /&gt;
    +theOscMessage.typetag());&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unity ==&lt;br /&gt;
With just a little help from Google (or bing if you’re one of those people) you can find one of these Osc Receiver Scripts. You will also need scripts for [https://github.com/heaversm/unity-osc-receiver/tree/master/Assets/Plugins Osc and Udp]. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Import the scripts to the Assets folder using drag&amp;amp;drop.&lt;br /&gt;
If you’re working on a real actual project it might be best to create a folder for all your scripts. &amp;lt;br&amp;gt;&lt;br /&gt;
2. Create an empty game object (right click in the hierarchy) and rename it, so you know what it is. &amp;lt;br&amp;gt;&lt;br /&gt;
3. From the assets you drag the scripts onto the empty game object. &amp;lt;br&amp;gt;&lt;br /&gt;
4. Do not forget to adjust the IP, and the port in the inspector. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:IPandPortintheOSCReceiver.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
5. In the Inspector you see the public variable Game Receiver within the Osc Receiver Script. Drag the object you want to manipulate from the hierarchy onto the Game Receiver value. By default this value is called “Cube”. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:GameReceiver.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
6. If you haven&#039;t done it already - Safe! Ctrl+S on Windows, Macs probably do that differently, but you will know that better than me.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If all this code is completely new to you and you only understand trainstation – here is an explanation for the whole OSC Receiver Script:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Public values are adjustable without any coding; just use the inspector for that. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
public var RemoteIP : String = &amp;quot;&amp;quot;;&lt;br /&gt;
public var SendToPort : int = xxxx;&lt;br /&gt;
public var ListenerPort : int = yyyy;&lt;br /&gt;
public var controller : Transform;&lt;br /&gt;
public var gameReceiver = &amp;quot;Cube&amp;quot;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
In the Start() function all the necessary scripts and components are connected. This will happen once you press Play. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
public function Start ()&lt;br /&gt;
{&lt;br /&gt;
 var udp : UDPPacketIO = GetComponent(&amp;quot;UDPPacketIO&amp;quot;);&lt;br /&gt;
 udp.init(RemoteIP, SendToPort, ListenerPort);&lt;br /&gt;
 handler = GetComponent(&amp;quot;Osc&amp;quot;);&lt;br /&gt;
 handler.init(udp);&lt;br /&gt;
 handler.SetAllMessageHandler(AllMessageHandler);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The AllMessageHandler() function is where the Osc happens. This function unpacks the Osc signals, so you can address them in other functions. In this function you can command, whenever A happens, you want FunctionB() to be executed. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
public function AllMessageHandler(oscMessage: OscMessage){&lt;br /&gt;
 var msgString = Osc.OscMessageToString(oscMessage);&lt;br /&gt;
 var msgAddress = oscMessage.Address;&lt;br /&gt;
 var msgValue = oscMessage.Values[0];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
So you typed all that code and there are no errors but that stupid thing still won&#039;t do what it should - try Debug.Logs! Just add them everywhere! They can tell you what parts of your script are accessed after you press Play. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
Debug.Log(&amp;quot;Stakkars meg, som har skrevet 50 Debug.Logs&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The lines will be written in the console section of Unity once they are accessed.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  &lt;br /&gt;
[[File:50Debug_Logs.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Make an object jump on clapping ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;1. In Processing:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
a) Install an additional library for sound. Click on &#039;&#039;Tools&#039;&#039; – &#039;&#039;Add Tools&#039;&#039; – Choose &#039;&#039;Libraries&#039;&#039; – Search for Minim and install it. &amp;lt;br&amp;gt;&lt;br /&gt;
b) To your imported Libraries add &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import ddf.minim.*; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
c) Add Audio variables to your script. This script will also draw a circle depending on the audio volume. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
float x;&lt;br /&gt;
float y;&lt;br /&gt;
&lt;br /&gt;
Minim minim;&lt;br /&gt;
AudioInput input;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
d) In the Setup() function add the values for the circle and create the audiotoolkit &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
size (320, 240);&lt;br /&gt;
smooth();&lt;br /&gt;
stroke (255, 25);&lt;br /&gt;
noFill ();&lt;br /&gt;
&lt;br /&gt;
// Set start position&lt;br /&gt;
x = 0;&lt;br /&gt;
y = 20;&lt;br /&gt;
&lt;br /&gt;
minim = new Minim (this);&lt;br /&gt;
input = minim.getLineIn (Minim.STEREO, 512);&lt;br /&gt;
background (0);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
e) The draw() function will be the container of the circle’s size. It will only send the values to Unity if the circle is big enough. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
void draw () {&lt;br /&gt;
 int i =0;&lt;br /&gt;
 float dim = input.mix.level () * width;&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 if (dim &amp;gt;= 80){System.out.println(&amp;quot;Loud enough: &amp;quot;+dim);&lt;br /&gt;
  OscMessage myMessage = new OscMessage(&amp;quot;/&amp;quot;);&lt;br /&gt;
    myMessage.add(dim);&lt;br /&gt;
    myMessage.add(true);&lt;br /&gt;
  oscP5.send(myMessage, myRemoteLocation);}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
f) When you are ready, press Play. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2. In Unity:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
a) Create an object in Unity. Drag this object onto the gameReceiver of your Osc Receiver Script. This object is now the gameReceiver and will behave as you define in the Osc Receiver script.  &amp;lt;br&amp;gt;&lt;br /&gt;
b) Open up the Osc Receiver Script.  Define a new private variable. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
private var moveSpeed : int = 0;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
c)  Create a new public function.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
public function MoveObject(msgValue) : void&lt;br /&gt;
{&lt;br /&gt;
moveSpeed = msgValue;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
d)  In the Update() function add &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
 var go = GameObject.Find(gameReceiver);&lt;br /&gt;
  go.transform.Translate(0, moveSpeed, 0); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
e) In the AllMessageHandler() function add &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
switch (msgAddress){&lt;br /&gt;
 default:&lt;br /&gt;
  MoveObject(msgValue);&lt;br /&gt;
  break;}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
f) When you are ready, press Play.&lt;br /&gt;
&lt;br /&gt;
== Example: Use your mouse position to Control Objects ==&lt;br /&gt;
&lt;br /&gt;
S O O O O O O O O O N&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Tutorials/Networking/Controlling_Unity_with_Processing&amp;diff=85480</id>
		<title>GMU:Tutorials/Networking/Controlling Unity with Processing</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Tutorials/Networking/Controlling_Unity_with_Processing&amp;diff=85480"/>
		<updated>2016-07-27T10:59:41Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: /* Unity */  formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== On 1 Computer ==&lt;br /&gt;
&lt;br /&gt;
[[Image:1_Computers.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Open Unity and Processing.&amp;lt;br&amp;gt;&lt;br /&gt;
2. In both programs the Remote IP should be set to 127.0.0.1&amp;lt;br&amp;gt;&lt;br /&gt;
3. The SendToPort in Processing equals the ListenerPort in Unity. You will have to adjust the values manually. Usually port values between 7000 and 15000 are not taken, so you can use them for your OSC connection.  If it is not working try changing the ports. Do not use the same value twice at the same time, if you have more than one connection running.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== On 2 Computers ==&lt;br /&gt;
[[File:2_Computers.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Make sure you are connected to the same Wifi. If it does not work there might be an active firewall disturbing your work, so turn that off if you have to. &amp;lt;br&amp;gt;&lt;br /&gt;
2. Open Unity and Processing. &amp;lt;br&amp;gt;&lt;br /&gt;
3. In Unity fill in the IP of the Computer that is running Processing. &amp;lt;br&amp;gt;&lt;br /&gt;
4. The SendToPort in Processing equals the ListenerPort in Unity. You will have to adjust the values manually. Usually port values between 7000 and 15000 are not taken, so you can use them for your OSC connection.  If it is not working try changing the ports. Do not use the same value twice at the same time, if you have more than one connection running. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processing ==&lt;br /&gt;
In Processing you need to install a library. Click on &#039;&#039;Tools&#039;&#039; – &#039;&#039;Add Tools&#039;&#039; – Choose &#039;&#039;Libraries&#039;&#039; – Search for oscP5 and install it.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the basic processing script for sending Osc data (it just sets up the connection, actions can be added): &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//load libraries&lt;br /&gt;
import netP5.*;&lt;br /&gt;
import oscP5.*;&lt;br /&gt;
&lt;br /&gt;
OscP5 oscP5;&lt;br /&gt;
NetAddress myRemoteLovation;&lt;br /&gt;
&lt;br /&gt;
//make a connection&lt;br /&gt;
void setup () {&lt;br /&gt;
  osP5 = new OscP5 (this, 9000);&lt;br /&gt;
  myRemoteLocation = new NetAddress(&amp;quot;127.0.0.1&amp;quot;, 9000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// this is where you can make things happen and send values to Unity&lt;br /&gt;
void draw () {&lt;br /&gt;
  OscMessage myMessage = new OscMessage (&amp;quot;/&amp;quot;);&lt;br /&gt;
    // add a value to the message (optional)&lt;br /&gt;
    myMessage.add(somevalue);&lt;br /&gt;
    // add a bool to the message (optional)&lt;br /&gt;
    myMessage.add(true);&lt;br /&gt;
  oscP5.send(myMessage, myRemoteLocation);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// this is where you get feedback in Processing&lt;br /&gt;
void oscEvent (OscMessage theOscMessage) {&lt;br /&gt;
  print(&amp;quot;### received an osc message.&amp;quot;);&lt;br /&gt;
  print(&amp;quot; addrpattern: &amp;quot;+theOscMessage.addrPattern());&lt;br /&gt;
    println(&amp;quot; typetag: &amp;quot;+theOscMessage.typetag());&lt;br /&gt;
    println(&amp;quot;### received an osc message. with address&lt;br /&gt;
    pattern&amp;quot;+theOscMessage.addrPattern()+&amp;quot; typetag&lt;br /&gt;
    +theOscMessage.typetag());&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unity ==&lt;br /&gt;
With just a little help from Google (or bing if you’re one of those people) you can find one of these Osc Receiver Scripts. You will also need scripts for [https://github.com/heaversm/unity-osc-receiver/tree/master/Assets/Plugins Osc and Udp]. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Import the scripts to the Assets folder using drag&amp;amp;drop.&lt;br /&gt;
If you’re working on a real actual project it might be best to create a folder for all your scripts. &amp;lt;br&amp;gt;&lt;br /&gt;
2. Create an empty game object (right click in the hierarchy) and rename it, so you know what it is. &amp;lt;br&amp;gt;&lt;br /&gt;
3. From the assets you drag the scripts onto the empty game object. &amp;lt;br&amp;gt;&lt;br /&gt;
4. Do not forget to adjust the IP, and the port in the inspector. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:IPandPortintheOSCReceiver.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
5. In the Inspector you see the public variable Game Receiver within the Osc Receiver Script. Drag the object you want to manipulate from the hierarchy onto the Game Receiver value. By default this value is called “Cube”. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:GameReceiver.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
6. If you haven&#039;t done it already - Safe! Ctrl+S on Windows, Macs probably do that differently, but you will know that better than me.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If all this code is completely new to you and you only understand trainstation – here is an explanation for the whole OSC Receiver Script:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Public values are adjustable without any coding; just use the inspector for that. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
public var RemoteIP : String = &amp;quot;&amp;quot;;&lt;br /&gt;
public var SendToPort : int = xxxx;&lt;br /&gt;
public var ListenerPort : int = yyyy;&lt;br /&gt;
public var controller : Transform;&lt;br /&gt;
public var gameReceiver = &amp;quot;Cube&amp;quot;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
In the Start() function all the necessary scripts and components are connected. This will happen once you press Play. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
public function Start ()&lt;br /&gt;
{&lt;br /&gt;
 var udp : UDPPacketIO = GetComponent(&amp;quot;UDPPacketIO&amp;quot;);&lt;br /&gt;
 udp.init(RemoteIP, SendToPort, ListenerPort);&lt;br /&gt;
 handler = GetComponent(&amp;quot;Osc&amp;quot;);&lt;br /&gt;
 handler.init(udp);&lt;br /&gt;
 handler.SetAllMessageHandler(AllMessageHandler);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The AllMessageHandler() function is where the Osc happens. This function unpacks the Osc signals, so you can address them in other functions. In this function you can command, whenever A happens, you want FunctionB() to be executed. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
public function AllMessageHandler(oscMessage: OscMessage){&lt;br /&gt;
 var msgString = Osc.OscMessageToString(oscMessage);&lt;br /&gt;
 var msgAddress = oscMessage.Address;&lt;br /&gt;
 var msgValue = oscMessage.Values[0];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
So you typed all that code and there are no errors but that stupid thing still won&#039;t do what it should - try Debug.Logs! Just add them everywhere! They can tell you what parts of your script are accessed after you press Play. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
Debug.Log(&amp;quot;Stakkars meg, som har skrevet 50 Debug.Logs&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The lines will be written in the console section of Unity once they are accessed.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  &lt;br /&gt;
[[File:50Debug_Logs.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Make an object jump on clapping ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;1. In Processing:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
a) Install an additional library for sound. Click on &#039;&#039;Tools&#039;&#039; – &#039;&#039;Add Tools&#039;&#039; – Choose &#039;&#039;Libraries&#039;&#039; – Search for Minim and install it. &amp;lt;br&amp;gt;&lt;br /&gt;
b) To your imported Libraries add &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import ddf.minim.*; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
c) Add Audio variables to your script. This script will also draw a circle depending on the audio volume. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
float x;&amp;lt;br&amp;gt;&lt;br /&gt;
float y;&amp;lt;br&amp;gt;&lt;br /&gt;
Minim minim;&amp;lt;br&amp;gt;&lt;br /&gt;
AudioInput input;&lt;br /&gt;
&amp;lt;/source&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
d) In the Setup() function add the values for the circle and create the audiotoolkit &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
size (320, 240);&amp;lt;br&amp;gt;&lt;br /&gt;
smooth();&amp;lt;br&amp;gt;&lt;br /&gt;
stroke (255, 25);&amp;lt;br&amp;gt;&lt;br /&gt;
noFill ();&amp;lt;br&amp;gt;&lt;br /&gt;
// Set start position&amp;lt;br&amp;gt;&lt;br /&gt;
x = 0;&amp;lt;br&amp;gt;&lt;br /&gt;
y = 20;&amp;lt;br&amp;gt;&lt;br /&gt;
minim = new Minim (this);&amp;lt;br&amp;gt;&lt;br /&gt;
input = minim.getLineIn (Minim.STEREO, 512);&amp;lt;br&amp;gt;&lt;br /&gt;
background (0);&lt;br /&gt;
&amp;lt;/source&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
e) The draw() function will be the container of the circle’s size. It will only send the values to Unity if the circle is big enough. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
void draw () {&amp;lt;br&amp;gt;&lt;br /&gt;
int i =0;&amp;lt;br&amp;gt;&lt;br /&gt;
float dim = input.mix.level () * width;&amp;lt;br&amp;gt; &lt;br /&gt;
if (dim &amp;gt;= 80){System.out.println(&amp;quot;Loud enough: &amp;quot;+dim);&amp;lt;br&amp;gt; &lt;br /&gt;
OscMessage myMessage = new OscMessage(&amp;quot;/&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(dim);&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(true);&amp;lt;br&amp;gt;&lt;br /&gt;
oscP5.send(myMessage, myRemoteLocation);}&lt;br /&gt;
&amp;lt;/source&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
f) When you are ready, press Play. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2. In Unity:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
a) Create an object in Unity. Drag this object onto the gameReceiver of your Osc Receiver Script. This object is now the gameReceiver and will behave as you define in the Osc Receiver script.  &amp;lt;br&amp;gt;&lt;br /&gt;
b) Open up the Osc Receiver Script.  Define a new private variable. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
private var moveSpeed : int = 0;&lt;br /&gt;
&amp;lt;/source&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
c)  Create a new public function.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
public function MoveObject(msgValue) : void&lt;br /&gt;
{&lt;br /&gt;
moveSpeed = msgValue;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
d)  In the Update() function add &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var go = GameObject.Find(gameReceiver);&amp;lt;br&amp;gt;&lt;br /&gt;
go.transform.Translate(0, moveSpeed, 0); &lt;br /&gt;
&amp;lt;/source&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
e) In the AllMessageHandler() function add &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
switch (msgAddress){&lt;br /&gt;
 default:&lt;br /&gt;
  MoveObject(msgValue);&lt;br /&gt;
  break;}&lt;br /&gt;
&amp;lt;/source&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
f) When you are ready, press Play.&lt;br /&gt;
&lt;br /&gt;
== Example: Use your mouse position to Control Objects ==&lt;br /&gt;
&lt;br /&gt;
S O O O O O O O O O N&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Tutorials/Networking/Controlling_Unity_with_Processing&amp;diff=85479</id>
		<title>GMU:Tutorials/Networking/Controlling Unity with Processing</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Tutorials/Networking/Controlling_Unity_with_Processing&amp;diff=85479"/>
		<updated>2016-07-27T10:54:26Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: /* Processing */ formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== On 1 Computer ==&lt;br /&gt;
&lt;br /&gt;
[[Image:1_Computers.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Open Unity and Processing.&amp;lt;br&amp;gt;&lt;br /&gt;
2. In both programs the Remote IP should be set to 127.0.0.1&amp;lt;br&amp;gt;&lt;br /&gt;
3. The SendToPort in Processing equals the ListenerPort in Unity. You will have to adjust the values manually. Usually port values between 7000 and 15000 are not taken, so you can use them for your OSC connection.  If it is not working try changing the ports. Do not use the same value twice at the same time, if you have more than one connection running.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== On 2 Computers ==&lt;br /&gt;
[[File:2_Computers.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Make sure you are connected to the same Wifi. If it does not work there might be an active firewall disturbing your work, so turn that off if you have to. &amp;lt;br&amp;gt;&lt;br /&gt;
2. Open Unity and Processing. &amp;lt;br&amp;gt;&lt;br /&gt;
3. In Unity fill in the IP of the Computer that is running Processing. &amp;lt;br&amp;gt;&lt;br /&gt;
4. The SendToPort in Processing equals the ListenerPort in Unity. You will have to adjust the values manually. Usually port values between 7000 and 15000 are not taken, so you can use them for your OSC connection.  If it is not working try changing the ports. Do not use the same value twice at the same time, if you have more than one connection running. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processing ==&lt;br /&gt;
In Processing you need to install a library. Click on &#039;&#039;Tools&#039;&#039; – &#039;&#039;Add Tools&#039;&#039; – Choose &#039;&#039;Libraries&#039;&#039; – Search for oscP5 and install it.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the basic processing script for sending Osc data (it just sets up the connection, actions can be added): &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//load libraries&lt;br /&gt;
import netP5.*;&lt;br /&gt;
import oscP5.*;&lt;br /&gt;
&lt;br /&gt;
OscP5 oscP5;&lt;br /&gt;
NetAddress myRemoteLovation;&lt;br /&gt;
&lt;br /&gt;
//make a connection&lt;br /&gt;
void setup () {&lt;br /&gt;
  osP5 = new OscP5 (this, 9000);&lt;br /&gt;
  myRemoteLocation = new NetAddress(&amp;quot;127.0.0.1&amp;quot;, 9000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// this is where you can make things happen and send values to Unity&lt;br /&gt;
void draw () {&lt;br /&gt;
  OscMessage myMessage = new OscMessage (&amp;quot;/&amp;quot;);&lt;br /&gt;
    // add a value to the message (optional)&lt;br /&gt;
    myMessage.add(somevalue);&lt;br /&gt;
    // add a bool to the message (optional)&lt;br /&gt;
    myMessage.add(true);&lt;br /&gt;
  oscP5.send(myMessage, myRemoteLocation);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// this is where you get feedback in Processing&lt;br /&gt;
void oscEvent (OscMessage theOscMessage) {&lt;br /&gt;
  print(&amp;quot;### received an osc message.&amp;quot;);&lt;br /&gt;
  print(&amp;quot; addrpattern: &amp;quot;+theOscMessage.addrPattern());&lt;br /&gt;
    println(&amp;quot; typetag: &amp;quot;+theOscMessage.typetag());&lt;br /&gt;
    println(&amp;quot;### received an osc message. with address&lt;br /&gt;
    pattern&amp;quot;+theOscMessage.addrPattern()+&amp;quot; typetag&lt;br /&gt;
    +theOscMessage.typetag());&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unity ==&lt;br /&gt;
With just a little help from Google (or bing if you’re one of those people) you can find one of these Osc Receiver Scripts. You will also need scripts for [https://github.com/heaversm/unity-osc-receiver/tree/master/Assets/Plugins Osc and Udp]. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Import the scripts to the Assets folder using drag&amp;amp;drop.&lt;br /&gt;
If you’re working on a real actual project it might be best to create a folder for all your scripts. &amp;lt;br&amp;gt;&lt;br /&gt;
2. Create an empty game object (right click in the hierarchy) and rename it, so you know what it is. &amp;lt;br&amp;gt;&lt;br /&gt;
3. From the assets you drag the scripts onto the empty game object. &amp;lt;br&amp;gt;&lt;br /&gt;
4. Do not forget to adjust the IP, and the port in the inspector. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:IPandPortintheOSCReceiver.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
5. In the Inspector you see the public variable Game Receiver within the Osc Receiver Script. Drag the object you want to manipulate from the hierarchy onto the Game Receiver value. By default this value is called “Cube”. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:GameReceiver.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
6. If you haven&#039;t done it already - Safe! Ctrl+S on Windows, Macs probably do that differently, but you will know that better than me.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If all this code is completely new to you and you only understand trainstation – here is an explanation for the whole OSC Receiver Script:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Public values are adjustable without any coding; just use the inspector for that. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public var RemoteIP : String = &amp;quot;&amp;quot;;&amp;lt;br&amp;gt;&lt;br /&gt;
public var SendToPort : int = xxxx;&amp;lt;br&amp;gt;&lt;br /&gt;
public var ListenerPort : int = yyyy;&amp;lt;br&amp;gt;&lt;br /&gt;
public var controller : Transform;&amp;lt;br&amp;gt;&lt;br /&gt;
public var gameReceiver = &amp;quot;Cube&amp;quot;;&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In the Start() function all the necessary scripts and components are connected. This will happen once you press Play. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public function Start ()&amp;lt;br&amp;gt;&lt;br /&gt;
{&amp;lt;br&amp;gt;&lt;br /&gt;
var udp : UDPPacketIO = GetComponent(&amp;quot;UDPPacketIO&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
udp.init(RemoteIP, SendToPort, ListenerPort);&amp;lt;br&amp;gt;&lt;br /&gt;
handler = GetComponent(&amp;quot;Osc&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
handler.init(udp);&amp;lt;br&amp;gt;&lt;br /&gt;
handler.SetAllMessageHandler(AllMessageHandler);&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The AllMessageHandler() function is where the Osc happens. This function unpacks the Osc signals, so you can address them in other functions. In this function you can command, whenever A happens, you want FunctionB() to be executed. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public function AllMessageHandler(oscMessage: OscMessage){&amp;lt;br&amp;gt;&lt;br /&gt;
var msgString = Osc.OscMessageToString(oscMessage);&amp;lt;br&amp;gt;&lt;br /&gt;
var msgAddress = oscMessage.Address;&amp;lt;br&amp;gt;&lt;br /&gt;
var msgValue = oscMessage.Values[0];&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
So you typed all that code and there are no errors but that stupid thing still won&#039;t do what it should - try Debug.Logs! Just add them everywhere! They can tell you what parts of your script are accessed after you press Play. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt; &lt;br /&gt;
Debug.Log(&amp;quot;Stakkars meg, som har skrevet 50 Debug.Logs&amp;quot;);&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
The lines will be written in the console section of Unity once they are accessed.&amp;lt;br&amp;gt; &lt;br /&gt;
[[File:50Debug_Logs.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Make an object jump on clapping ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;1. In Processing:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
a) Install an additional library for sound. Click on &#039;&#039;Tools&#039;&#039; – &#039;&#039;Add Tools&#039;&#039; – Choose &#039;&#039;Libraries&#039;&#039; – Search for Minim and install it. &amp;lt;br&amp;gt;&lt;br /&gt;
b) To your imported Libraries add &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import ddf.minim.*; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
c) Add Audio variables to your script. This script will also draw a circle depending on the audio volume. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
float x;&amp;lt;br&amp;gt;&lt;br /&gt;
float y;&amp;lt;br&amp;gt;&lt;br /&gt;
Minim minim;&amp;lt;br&amp;gt;&lt;br /&gt;
AudioInput input;&lt;br /&gt;
&amp;lt;/source&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
d) In the Setup() function add the values for the circle and create the audiotoolkit &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
size (320, 240);&amp;lt;br&amp;gt;&lt;br /&gt;
smooth();&amp;lt;br&amp;gt;&lt;br /&gt;
stroke (255, 25);&amp;lt;br&amp;gt;&lt;br /&gt;
noFill ();&amp;lt;br&amp;gt;&lt;br /&gt;
// Set start position&amp;lt;br&amp;gt;&lt;br /&gt;
x = 0;&amp;lt;br&amp;gt;&lt;br /&gt;
y = 20;&amp;lt;br&amp;gt;&lt;br /&gt;
minim = new Minim (this);&amp;lt;br&amp;gt;&lt;br /&gt;
input = minim.getLineIn (Minim.STEREO, 512);&amp;lt;br&amp;gt;&lt;br /&gt;
background (0);&lt;br /&gt;
&amp;lt;/source&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
e) The draw() function will be the container of the circle’s size. It will only send the values to Unity if the circle is big enough. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
void draw () {&amp;lt;br&amp;gt;&lt;br /&gt;
int i =0;&amp;lt;br&amp;gt;&lt;br /&gt;
float dim = input.mix.level () * width;&amp;lt;br&amp;gt; &lt;br /&gt;
if (dim &amp;gt;= 80){System.out.println(&amp;quot;Loud enough: &amp;quot;+dim);&amp;lt;br&amp;gt; &lt;br /&gt;
OscMessage myMessage = new OscMessage(&amp;quot;/&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(dim);&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(true);&amp;lt;br&amp;gt;&lt;br /&gt;
oscP5.send(myMessage, myRemoteLocation);}&lt;br /&gt;
&amp;lt;/source&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
f) When you are ready, press Play. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2. In Unity:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
a) Create an object in Unity. Drag this object onto the gameReceiver of your Osc Receiver Script. This object is now the gameReceiver and will behave as you define in the Osc Receiver script.  &amp;lt;br&amp;gt;&lt;br /&gt;
b) Open up the Osc Receiver Script.  Define a new private variable. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
private var moveSpeed : int = 0;&lt;br /&gt;
&amp;lt;/source&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
c)  Create a new public function.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
public function MoveObject(msgValue) : void&lt;br /&gt;
{&lt;br /&gt;
moveSpeed = msgValue;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
d)  In the Update() function add &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var go = GameObject.Find(gameReceiver);&amp;lt;br&amp;gt;&lt;br /&gt;
go.transform.Translate(0, moveSpeed, 0); &lt;br /&gt;
&amp;lt;/source&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
e) In the AllMessageHandler() function add &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
switch (msgAddress){&lt;br /&gt;
 default:&lt;br /&gt;
  MoveObject(msgValue);&lt;br /&gt;
  break;}&lt;br /&gt;
&amp;lt;/source&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
f) When you are ready, press Play.&lt;br /&gt;
&lt;br /&gt;
== Example: Use your mouse position to Control Objects ==&lt;br /&gt;
&lt;br /&gt;
S O O O O O O O O O N&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Tutorials/Networking/Controlling_Unity_with_Processing&amp;diff=85478</id>
		<title>GMU:Tutorials/Networking/Controlling Unity with Processing</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Tutorials/Networking/Controlling_Unity_with_Processing&amp;diff=85478"/>
		<updated>2016-07-27T10:50:20Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: /* Example: Make an object jump on clapping */ formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== On 1 Computer ==&lt;br /&gt;
&lt;br /&gt;
[[Image:1_Computers.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Open Unity and Processing.&amp;lt;br&amp;gt;&lt;br /&gt;
2. In both programs the Remote IP should be set to 127.0.0.1&amp;lt;br&amp;gt;&lt;br /&gt;
3. The SendToPort in Processing equals the ListenerPort in Unity. You will have to adjust the values manually. Usually port values between 7000 and 15000 are not taken, so you can use them for your OSC connection.  If it is not working try changing the ports. Do not use the same value twice at the same time, if you have more than one connection running.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== On 2 Computers ==&lt;br /&gt;
[[File:2_Computers.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Make sure you are connected to the same Wifi. If it does not work there might be an active firewall disturbing your work, so turn that off if you have to. &amp;lt;br&amp;gt;&lt;br /&gt;
2. Open Unity and Processing. &amp;lt;br&amp;gt;&lt;br /&gt;
3. In Unity fill in the IP of the Computer that is running Processing. &amp;lt;br&amp;gt;&lt;br /&gt;
4. The SendToPort in Processing equals the ListenerPort in Unity. You will have to adjust the values manually. Usually port values between 7000 and 15000 are not taken, so you can use them for your OSC connection.  If it is not working try changing the ports. Do not use the same value twice at the same time, if you have more than one connection running. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processing ==&lt;br /&gt;
In Processing you need to install a library. Click on &#039;&#039;Tools&#039;&#039; – &#039;&#039;Add Tools&#039;&#039; – Choose &#039;&#039;Libraries&#039;&#039; – Search for oscP5 and install it.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the basic processing script for sending Osc data (it just sets up the connection, actions can be added): &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
//load libraries&amp;lt;br&amp;gt;&lt;br /&gt;
import netP5.*;&amp;lt;br&amp;gt;&lt;br /&gt;
import oscP5.*;&amp;lt;br&amp;gt;&lt;br /&gt;
OscP5 oscP5;&amp;lt;br&amp;gt;&lt;br /&gt;
NetAddress myRemoteLovation;&amp;lt;br&amp;gt;&lt;br /&gt;
//make a connection&amp;lt;br&amp;gt;&lt;br /&gt;
void setup () {&amp;lt;br&amp;gt;&lt;br /&gt;
osP5 = new OscP5 (this, 9000);&amp;lt;br&amp;gt;&lt;br /&gt;
myRemoteLocation = new NetAddress(&amp;quot;127.0.0.1&amp;quot;, 9000);&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;br&amp;gt;&lt;br /&gt;
// this is where you can make things happen and send values to Unity&amp;lt;br&amp;gt;&lt;br /&gt;
void draw () {&amp;lt;br&amp;gt;&lt;br /&gt;
OscMessage myMessage = new OscMessage (&amp;quot;/&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
// add a value to the message (optional)&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(somevalue);&amp;lt;br&amp;gt;&lt;br /&gt;
// add a bool to the message (optional)&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(true);&amp;lt;br&amp;gt;&lt;br /&gt;
oscP5.send(myMessage, myRemoteLocation);&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;br&amp;gt;&lt;br /&gt;
// this is where you get feedback in Processing&amp;lt;br&amp;gt;&lt;br /&gt;
void oscEvent (OscMessage theOscMessage) {&amp;lt;br&amp;gt;&lt;br /&gt;
print(&amp;quot;### received an osc message.&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
print(&amp;quot; addrpattern: &amp;quot;+theOscMessage.addrPattern());&amp;lt;br&amp;gt;&lt;br /&gt;
println(&amp;quot; typetag: &amp;quot;+theOscMessage.typetag());&amp;lt;br&amp;gt;&lt;br /&gt;
println(&amp;quot;### received an osc message. with address pattern&amp;quot;+theOscMessage.addrPattern()+&amp;quot; typetag &amp;quot; +theOscMessage.typetag());&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;/code&amp;gt;&lt;br /&gt;
== Unity ==&lt;br /&gt;
With just a little help from Google (or bing if you’re one of those people) you can find one of these Osc Receiver Scripts. You will also need scripts for [https://github.com/heaversm/unity-osc-receiver/tree/master/Assets/Plugins Osc and Udp]. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Import the scripts to the Assets folder using drag&amp;amp;drop.&lt;br /&gt;
If you’re working on a real actual project it might be best to create a folder for all your scripts. &amp;lt;br&amp;gt;&lt;br /&gt;
2. Create an empty game object (right click in the hierarchy) and rename it, so you know what it is. &amp;lt;br&amp;gt;&lt;br /&gt;
3. From the assets you drag the scripts onto the empty game object. &amp;lt;br&amp;gt;&lt;br /&gt;
4. Do not forget to adjust the IP, and the port in the inspector. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:IPandPortintheOSCReceiver.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
5. In the Inspector you see the public variable Game Receiver within the Osc Receiver Script. Drag the object you want to manipulate from the hierarchy onto the Game Receiver value. By default this value is called “Cube”. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:GameReceiver.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
6. If you haven&#039;t done it already - Safe! Ctrl+S on Windows, Macs probably do that differently, but you will know that better than me.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If all this code is completely new to you and you only understand trainstation – here is an explanation for the whole OSC Receiver Script:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Public values are adjustable without any coding; just use the inspector for that. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public var RemoteIP : String = &amp;quot;&amp;quot;;&amp;lt;br&amp;gt;&lt;br /&gt;
public var SendToPort : int = xxxx;&amp;lt;br&amp;gt;&lt;br /&gt;
public var ListenerPort : int = yyyy;&amp;lt;br&amp;gt;&lt;br /&gt;
public var controller : Transform;&amp;lt;br&amp;gt;&lt;br /&gt;
public var gameReceiver = &amp;quot;Cube&amp;quot;;&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In the Start() function all the necessary scripts and components are connected. This will happen once you press Play. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public function Start ()&amp;lt;br&amp;gt;&lt;br /&gt;
{&amp;lt;br&amp;gt;&lt;br /&gt;
var udp : UDPPacketIO = GetComponent(&amp;quot;UDPPacketIO&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
udp.init(RemoteIP, SendToPort, ListenerPort);&amp;lt;br&amp;gt;&lt;br /&gt;
handler = GetComponent(&amp;quot;Osc&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
handler.init(udp);&amp;lt;br&amp;gt;&lt;br /&gt;
handler.SetAllMessageHandler(AllMessageHandler);&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The AllMessageHandler() function is where the Osc happens. This function unpacks the Osc signals, so you can address them in other functions. In this function you can command, whenever A happens, you want FunctionB() to be executed. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public function AllMessageHandler(oscMessage: OscMessage){&amp;lt;br&amp;gt;&lt;br /&gt;
var msgString = Osc.OscMessageToString(oscMessage);&amp;lt;br&amp;gt;&lt;br /&gt;
var msgAddress = oscMessage.Address;&amp;lt;br&amp;gt;&lt;br /&gt;
var msgValue = oscMessage.Values[0];&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
So you typed all that code and there are no errors but that stupid thing still won&#039;t do what it should - try Debug.Logs! Just add them everywhere! They can tell you what parts of your script are accessed after you press Play. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt; &lt;br /&gt;
Debug.Log(&amp;quot;Stakkars meg, som har skrevet 50 Debug.Logs&amp;quot;);&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
The lines will be written in the console section of Unity once they are accessed.&amp;lt;br&amp;gt; &lt;br /&gt;
[[File:50Debug_Logs.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Make an object jump on clapping ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;1. In Processing:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
a) Install an additional library for sound. Click on &#039;&#039;Tools&#039;&#039; – &#039;&#039;Add Tools&#039;&#039; – Choose &#039;&#039;Libraries&#039;&#039; – Search for Minim and install it. &amp;lt;br&amp;gt;&lt;br /&gt;
b) To your imported Libraries add &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
import ddf.minim.*; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
c) Add Audio variables to your script. This script will also draw a circle depending on the audio volume. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
float x;&amp;lt;br&amp;gt;&lt;br /&gt;
float y;&amp;lt;br&amp;gt;&lt;br /&gt;
Minim minim;&amp;lt;br&amp;gt;&lt;br /&gt;
AudioInput input;&lt;br /&gt;
&amp;lt;/source&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
d) In the Setup() function add the values for the circle and create the audiotoolkit &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
size (320, 240);&amp;lt;br&amp;gt;&lt;br /&gt;
smooth();&amp;lt;br&amp;gt;&lt;br /&gt;
stroke (255, 25);&amp;lt;br&amp;gt;&lt;br /&gt;
noFill ();&amp;lt;br&amp;gt;&lt;br /&gt;
// Set start position&amp;lt;br&amp;gt;&lt;br /&gt;
x = 0;&amp;lt;br&amp;gt;&lt;br /&gt;
y = 20;&amp;lt;br&amp;gt;&lt;br /&gt;
minim = new Minim (this);&amp;lt;br&amp;gt;&lt;br /&gt;
input = minim.getLineIn (Minim.STEREO, 512);&amp;lt;br&amp;gt;&lt;br /&gt;
background (0);&lt;br /&gt;
&amp;lt;/source&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
e) The draw() function will be the container of the circle’s size. It will only send the values to Unity if the circle is big enough. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
void draw () {&amp;lt;br&amp;gt;&lt;br /&gt;
int i =0;&amp;lt;br&amp;gt;&lt;br /&gt;
float dim = input.mix.level () * width;&amp;lt;br&amp;gt; &lt;br /&gt;
if (dim &amp;gt;= 80){System.out.println(&amp;quot;Loud enough: &amp;quot;+dim);&amp;lt;br&amp;gt; &lt;br /&gt;
OscMessage myMessage = new OscMessage(&amp;quot;/&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(dim);&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(true);&amp;lt;br&amp;gt;&lt;br /&gt;
oscP5.send(myMessage, myRemoteLocation);}&lt;br /&gt;
&amp;lt;/source&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
f) When you are ready, press Play. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2. In Unity:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
a) Create an object in Unity. Drag this object onto the gameReceiver of your Osc Receiver Script. This object is now the gameReceiver and will behave as you define in the Osc Receiver script.  &amp;lt;br&amp;gt;&lt;br /&gt;
b) Open up the Osc Receiver Script.  Define a new private variable. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
private var moveSpeed : int = 0;&lt;br /&gt;
&amp;lt;/source&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
c)  Create a new public function.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
public function MoveObject(msgValue) : void&lt;br /&gt;
{&lt;br /&gt;
moveSpeed = msgValue;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
d)  In the Update() function add &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var go = GameObject.Find(gameReceiver);&amp;lt;br&amp;gt;&lt;br /&gt;
go.transform.Translate(0, moveSpeed, 0); &lt;br /&gt;
&amp;lt;/source&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
e) In the AllMessageHandler() function add &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
switch (msgAddress){&lt;br /&gt;
 default:&lt;br /&gt;
  MoveObject(msgValue);&lt;br /&gt;
  break;}&lt;br /&gt;
&amp;lt;/source&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
f) When you are ready, press Play.&lt;br /&gt;
&lt;br /&gt;
== Example: Use your mouse position to Control Objects ==&lt;br /&gt;
&lt;br /&gt;
S O O O O O O O O O N&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Tutorials/Networking/Controlling_Unity_with_Processing&amp;diff=85477</id>
		<title>GMU:Tutorials/Networking/Controlling Unity with Processing</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Tutorials/Networking/Controlling_Unity_with_Processing&amp;diff=85477"/>
		<updated>2016-07-27T10:38:59Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: /* Unity */ more screenshots. (ok just one)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== On 1 Computer ==&lt;br /&gt;
&lt;br /&gt;
[[Image:1_Computers.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Open Unity and Processing.&amp;lt;br&amp;gt;&lt;br /&gt;
2. In both programs the Remote IP should be set to 127.0.0.1&amp;lt;br&amp;gt;&lt;br /&gt;
3. The SendToPort in Processing equals the ListenerPort in Unity. You will have to adjust the values manually. Usually port values between 7000 and 15000 are not taken, so you can use them for your OSC connection.  If it is not working try changing the ports. Do not use the same value twice at the same time, if you have more than one connection running.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== On 2 Computers ==&lt;br /&gt;
[[File:2_Computers.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Make sure you are connected to the same Wifi. If it does not work there might be an active firewall disturbing your work, so turn that off if you have to. &amp;lt;br&amp;gt;&lt;br /&gt;
2. Open Unity and Processing. &amp;lt;br&amp;gt;&lt;br /&gt;
3. In Unity fill in the IP of the Computer that is running Processing. &amp;lt;br&amp;gt;&lt;br /&gt;
4. The SendToPort in Processing equals the ListenerPort in Unity. You will have to adjust the values manually. Usually port values between 7000 and 15000 are not taken, so you can use them for your OSC connection.  If it is not working try changing the ports. Do not use the same value twice at the same time, if you have more than one connection running. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processing ==&lt;br /&gt;
In Processing you need to install a library. Click on &#039;&#039;Tools&#039;&#039; – &#039;&#039;Add Tools&#039;&#039; – Choose &#039;&#039;Libraries&#039;&#039; – Search for oscP5 and install it.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the basic processing script for sending Osc data (it just sets up the connection, actions can be added): &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
//load libraries&amp;lt;br&amp;gt;&lt;br /&gt;
import netP5.*;&amp;lt;br&amp;gt;&lt;br /&gt;
import oscP5.*;&amp;lt;br&amp;gt;&lt;br /&gt;
OscP5 oscP5;&amp;lt;br&amp;gt;&lt;br /&gt;
NetAddress myRemoteLovation;&amp;lt;br&amp;gt;&lt;br /&gt;
//make a connection&amp;lt;br&amp;gt;&lt;br /&gt;
void setup () {&amp;lt;br&amp;gt;&lt;br /&gt;
osP5 = new OscP5 (this, 9000);&amp;lt;br&amp;gt;&lt;br /&gt;
myRemoteLocation = new NetAddress(&amp;quot;127.0.0.1&amp;quot;, 9000);&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;br&amp;gt;&lt;br /&gt;
// this is where you can make things happen and send values to Unity&amp;lt;br&amp;gt;&lt;br /&gt;
void draw () {&amp;lt;br&amp;gt;&lt;br /&gt;
OscMessage myMessage = new OscMessage (&amp;quot;/&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
// add a value to the message (optional)&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(somevalue);&amp;lt;br&amp;gt;&lt;br /&gt;
// add a bool to the message (optional)&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(true);&amp;lt;br&amp;gt;&lt;br /&gt;
oscP5.send(myMessage, myRemoteLocation);&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;br&amp;gt;&lt;br /&gt;
// this is where you get feedback in Processing&amp;lt;br&amp;gt;&lt;br /&gt;
void oscEvent (OscMessage theOscMessage) {&amp;lt;br&amp;gt;&lt;br /&gt;
print(&amp;quot;### received an osc message.&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
print(&amp;quot; addrpattern: &amp;quot;+theOscMessage.addrPattern());&amp;lt;br&amp;gt;&lt;br /&gt;
println(&amp;quot; typetag: &amp;quot;+theOscMessage.typetag());&amp;lt;br&amp;gt;&lt;br /&gt;
println(&amp;quot;### received an osc message. with address pattern&amp;quot;+theOscMessage.addrPattern()+&amp;quot; typetag &amp;quot; +theOscMessage.typetag());&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;/code&amp;gt;&lt;br /&gt;
== Unity ==&lt;br /&gt;
With just a little help from Google (or bing if you’re one of those people) you can find one of these Osc Receiver Scripts. You will also need scripts for [https://github.com/heaversm/unity-osc-receiver/tree/master/Assets/Plugins Osc and Udp]. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Import the scripts to the Assets folder using drag&amp;amp;drop.&lt;br /&gt;
If you’re working on a real actual project it might be best to create a folder for all your scripts. &amp;lt;br&amp;gt;&lt;br /&gt;
2. Create an empty game object (right click in the hierarchy) and rename it, so you know what it is. &amp;lt;br&amp;gt;&lt;br /&gt;
3. From the assets you drag the scripts onto the empty game object. &amp;lt;br&amp;gt;&lt;br /&gt;
4. Do not forget to adjust the IP, and the port in the inspector. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:IPandPortintheOSCReceiver.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
5. In the Inspector you see the public variable Game Receiver within the Osc Receiver Script. Drag the object you want to manipulate from the hierarchy onto the Game Receiver value. By default this value is called “Cube”. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:GameReceiver.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
6. If you haven&#039;t done it already - Safe! Ctrl+S on Windows, Macs probably do that differently, but you will know that better than me.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If all this code is completely new to you and you only understand trainstation – here is an explanation for the whole OSC Receiver Script:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Public values are adjustable without any coding; just use the inspector for that. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public var RemoteIP : String = &amp;quot;&amp;quot;;&amp;lt;br&amp;gt;&lt;br /&gt;
public var SendToPort : int = xxxx;&amp;lt;br&amp;gt;&lt;br /&gt;
public var ListenerPort : int = yyyy;&amp;lt;br&amp;gt;&lt;br /&gt;
public var controller : Transform;&amp;lt;br&amp;gt;&lt;br /&gt;
public var gameReceiver = &amp;quot;Cube&amp;quot;;&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In the Start() function all the necessary scripts and components are connected. This will happen once you press Play. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public function Start ()&amp;lt;br&amp;gt;&lt;br /&gt;
{&amp;lt;br&amp;gt;&lt;br /&gt;
var udp : UDPPacketIO = GetComponent(&amp;quot;UDPPacketIO&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
udp.init(RemoteIP, SendToPort, ListenerPort);&amp;lt;br&amp;gt;&lt;br /&gt;
handler = GetComponent(&amp;quot;Osc&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
handler.init(udp);&amp;lt;br&amp;gt;&lt;br /&gt;
handler.SetAllMessageHandler(AllMessageHandler);&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The AllMessageHandler() function is where the Osc happens. This function unpacks the Osc signals, so you can address them in other functions. In this function you can command, whenever A happens, you want FunctionB() to be executed. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public function AllMessageHandler(oscMessage: OscMessage){&amp;lt;br&amp;gt;&lt;br /&gt;
var msgString = Osc.OscMessageToString(oscMessage);&amp;lt;br&amp;gt;&lt;br /&gt;
var msgAddress = oscMessage.Address;&amp;lt;br&amp;gt;&lt;br /&gt;
var msgValue = oscMessage.Values[0];&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
So you typed all that code and there are no errors but that stupid thing still won&#039;t do what it should - try Debug.Logs! Just add them everywhere! They can tell you what parts of your script are accessed after you press Play. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt; &lt;br /&gt;
Debug.Log(&amp;quot;Stakkars meg, som har skrevet 50 Debug.Logs&amp;quot;);&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
The lines will be written in the console section of Unity once they are accessed.&amp;lt;br&amp;gt; &lt;br /&gt;
[[File:50Debug_Logs.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Make an object jump on clapping ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;1. In Processing:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
a) Install an additional library for sound. Click on &#039;&#039;Tools&#039;&#039; – &#039;&#039;Add Tools&#039;&#039; – Choose &#039;&#039;Libraries&#039;&#039; – Search for Minim and install it. &amp;lt;br&amp;gt;&lt;br /&gt;
b) To your imported Libraries add &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
import ddf.minim.*; &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
c) Add Audio variables to your script. This script will also draw a circle depending on the audio volume. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
float x;&amp;lt;br&amp;gt;&lt;br /&gt;
float y;&amp;lt;br&amp;gt;&lt;br /&gt;
Minim minim;&amp;lt;br&amp;gt;&lt;br /&gt;
AudioInput input;&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
d) In the Setup() function add the values for the circle and create the audiotoolkit &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
size (320, 240);&amp;lt;br&amp;gt;&lt;br /&gt;
smooth();&amp;lt;br&amp;gt;&lt;br /&gt;
stroke (255, 25);&amp;lt;br&amp;gt;&lt;br /&gt;
noFill ();&amp;lt;br&amp;gt;&lt;br /&gt;
// Set start position&amp;lt;br&amp;gt;&lt;br /&gt;
x = 0;&amp;lt;br&amp;gt;&lt;br /&gt;
y = 20;&amp;lt;br&amp;gt;&lt;br /&gt;
minim = new Minim (this);&amp;lt;br&amp;gt;&lt;br /&gt;
input = minim.getLineIn (Minim.STEREO, 512);&amp;lt;br&amp;gt;&lt;br /&gt;
background (0);&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
e) The draw() function will be the container of the circle’s size. It will only send the values to Unity if the circle is big enough. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
void draw () {&amp;lt;br&amp;gt;&lt;br /&gt;
int i =0;&amp;lt;br&amp;gt;&lt;br /&gt;
float dim = input.mix.level () * width;&amp;lt;br&amp;gt; &lt;br /&gt;
if (dim &amp;gt;= 80){System.out.println(&amp;quot;Loud enough: &amp;quot;+dim);&amp;lt;br&amp;gt; &lt;br /&gt;
OscMessage myMessage = new OscMessage(&amp;quot;/&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(dim);&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(true);&amp;lt;br&amp;gt;&lt;br /&gt;
oscP5.send(myMessage, myRemoteLocation);}&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
f) When you are ready, press Play. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2. In Unity:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
a) Create an object in Unity. Drag this object onto the gameReceiver of your Osc Receiver Script. This object is now the gameReceiver and will behave as you define in the Osc Receiver script.  &amp;lt;br&amp;gt;&lt;br /&gt;
b) Open up the Osc Receiver Script.  Define a new private variable.&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
private var moveSpeed : int = 0; &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
c)  Create a new public function.&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public function MoveObject(msgValue) : void &amp;lt;br&amp;gt;&lt;br /&gt;
{&amp;lt;br&amp;gt;&lt;br /&gt;
moveSpeed = msgValue; &amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
d)  In the Update() function add &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
var go = GameObject.Find(gameReceiver);&amp;lt;br&amp;gt;&lt;br /&gt;
go.transform.Translate(0, moveSpeed, 0); &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
e) In the AllMessageHandler() function add &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
switch (msgAddress){&amp;lt;br&amp;gt;&lt;br /&gt;
default:&amp;lt;br&amp;gt;&lt;br /&gt;
MoveObject(msgValue);&amp;lt;br&amp;gt;&lt;br /&gt;
break;}&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
f) When you are ready, press Play.&lt;br /&gt;
&lt;br /&gt;
== Example: Use your mouse position to Control Objects ==&lt;br /&gt;
&lt;br /&gt;
S O O O O O O O O O N&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:IPandPortintheOSCReceiver.png&amp;diff=85476</id>
		<title>File:IPandPortintheOSCReceiver.png</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:IPandPortintheOSCReceiver.png&amp;diff=85476"/>
		<updated>2016-07-27T10:38:16Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Tutorials/Networking/Controlling_Unity_with_Processing&amp;diff=85475</id>
		<title>GMU:Tutorials/Networking/Controlling Unity with Processing</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Tutorials/Networking/Controlling_Unity_with_Processing&amp;diff=85475"/>
		<updated>2016-07-27T10:35:34Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: /* Unity */ Screenshots!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== On 1 Computer ==&lt;br /&gt;
&lt;br /&gt;
[[Image:1_Computers.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Open Unity and Processing.&amp;lt;br&amp;gt;&lt;br /&gt;
2. In both programs the Remote IP should be set to 127.0.0.1&amp;lt;br&amp;gt;&lt;br /&gt;
3. The SendToPort in Processing equals the ListenerPort in Unity. You will have to adjust the values manually. Usually port values between 7000 and 15000 are not taken, so you can use them for your OSC connection.  If it is not working try changing the ports. Do not use the same value twice at the same time, if you have more than one connection running.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== On 2 Computers ==&lt;br /&gt;
[[File:2_Computers.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Make sure you are connected to the same Wifi. If it does not work there might be an active firewall disturbing your work, so turn that off if you have to. &amp;lt;br&amp;gt;&lt;br /&gt;
2. Open Unity and Processing. &amp;lt;br&amp;gt;&lt;br /&gt;
3. In Unity fill in the IP of the Computer that is running Processing. &amp;lt;br&amp;gt;&lt;br /&gt;
4. The SendToPort in Processing equals the ListenerPort in Unity. You will have to adjust the values manually. Usually port values between 7000 and 15000 are not taken, so you can use them for your OSC connection.  If it is not working try changing the ports. Do not use the same value twice at the same time, if you have more than one connection running. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processing ==&lt;br /&gt;
In Processing you need to install a library. Click on &#039;&#039;Tools&#039;&#039; – &#039;&#039;Add Tools&#039;&#039; – Choose &#039;&#039;Libraries&#039;&#039; – Search for oscP5 and install it.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the basic processing script for sending Osc data (it just sets up the connection, actions can be added): &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
//load libraries&amp;lt;br&amp;gt;&lt;br /&gt;
import netP5.*;&amp;lt;br&amp;gt;&lt;br /&gt;
import oscP5.*;&amp;lt;br&amp;gt;&lt;br /&gt;
OscP5 oscP5;&amp;lt;br&amp;gt;&lt;br /&gt;
NetAddress myRemoteLovation;&amp;lt;br&amp;gt;&lt;br /&gt;
//make a connection&amp;lt;br&amp;gt;&lt;br /&gt;
void setup () {&amp;lt;br&amp;gt;&lt;br /&gt;
osP5 = new OscP5 (this, 9000);&amp;lt;br&amp;gt;&lt;br /&gt;
myRemoteLocation = new NetAddress(&amp;quot;127.0.0.1&amp;quot;, 9000);&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;br&amp;gt;&lt;br /&gt;
// this is where you can make things happen and send values to Unity&amp;lt;br&amp;gt;&lt;br /&gt;
void draw () {&amp;lt;br&amp;gt;&lt;br /&gt;
OscMessage myMessage = new OscMessage (&amp;quot;/&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
// add a value to the message (optional)&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(somevalue);&amp;lt;br&amp;gt;&lt;br /&gt;
// add a bool to the message (optional)&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(true);&amp;lt;br&amp;gt;&lt;br /&gt;
oscP5.send(myMessage, myRemoteLocation);&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;br&amp;gt;&lt;br /&gt;
// this is where you get feedback in Processing&amp;lt;br&amp;gt;&lt;br /&gt;
void oscEvent (OscMessage theOscMessage) {&amp;lt;br&amp;gt;&lt;br /&gt;
print(&amp;quot;### received an osc message.&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
print(&amp;quot; addrpattern: &amp;quot;+theOscMessage.addrPattern());&amp;lt;br&amp;gt;&lt;br /&gt;
println(&amp;quot; typetag: &amp;quot;+theOscMessage.typetag());&amp;lt;br&amp;gt;&lt;br /&gt;
println(&amp;quot;### received an osc message. with address pattern&amp;quot;+theOscMessage.addrPattern()+&amp;quot; typetag &amp;quot; +theOscMessage.typetag());&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;/code&amp;gt;&lt;br /&gt;
== Unity ==&lt;br /&gt;
With just a little help from Google (or bing if you’re one of those people) you can find one of these Osc Receiver Scripts. You will also need scripts for [https://github.com/heaversm/unity-osc-receiver/tree/master/Assets/Plugins Osc and Udp]. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Import the scripts to the Assets folder using drag&amp;amp;drop.&lt;br /&gt;
If you’re working on a real actual project it might be best to create a folder for all your scripts. &amp;lt;br&amp;gt;&lt;br /&gt;
2. Create an empty game object (right click in the hierarchy) and rename it, so you know what it is. &amp;lt;br&amp;gt;&lt;br /&gt;
3. From the assets you drag the scripts onto the empty game object. &amp;lt;br&amp;gt;&lt;br /&gt;
4. Do not forget to adjust the IP, and the port in the inspector. &amp;lt;br&amp;gt;&lt;br /&gt;
5. In the Inspector you see the public variable Game Receiver within the Osc Receiver Script. Drag the object you want to manipulate from the hierarchy onto the Game Receiver value. By default this value is called “Cube”. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:GameReceiver.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
6. If you haven&#039;t done it already - Safe! Ctrl+S on Windows, Macs probably do that differently, but you will know that better than me.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If all this code is completely new to you and you only understand trainstation – here is an explanation for the whole OSC Receiver Script:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Public values are adjustable without any coding; just use the inspector for that. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public var RemoteIP : String = &amp;quot;&amp;quot;;&amp;lt;br&amp;gt;&lt;br /&gt;
public var SendToPort : int = xxxx;&amp;lt;br&amp;gt;&lt;br /&gt;
public var ListenerPort : int = yyyy;&amp;lt;br&amp;gt;&lt;br /&gt;
public var controller : Transform;&amp;lt;br&amp;gt;&lt;br /&gt;
public var gameReceiver = &amp;quot;Cube&amp;quot;;&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In the Start() function all the necessary scripts and components are connected. This will happen once you press Play. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public function Start ()&amp;lt;br&amp;gt;&lt;br /&gt;
{&amp;lt;br&amp;gt;&lt;br /&gt;
var udp : UDPPacketIO = GetComponent(&amp;quot;UDPPacketIO&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
udp.init(RemoteIP, SendToPort, ListenerPort);&amp;lt;br&amp;gt;&lt;br /&gt;
handler = GetComponent(&amp;quot;Osc&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
handler.init(udp);&amp;lt;br&amp;gt;&lt;br /&gt;
handler.SetAllMessageHandler(AllMessageHandler);&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The AllMessageHandler() function is where the Osc happens. This function unpacks the Osc signals, so you can address them in other functions. In this function you can command, whenever A happens, you want FunctionB() to be executed. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public function AllMessageHandler(oscMessage: OscMessage){&amp;lt;br&amp;gt;&lt;br /&gt;
var msgString = Osc.OscMessageToString(oscMessage);&amp;lt;br&amp;gt;&lt;br /&gt;
var msgAddress = oscMessage.Address;&amp;lt;br&amp;gt;&lt;br /&gt;
var msgValue = oscMessage.Values[0];&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
So you typed all that code and there are no errors but that stupid thing still won&#039;t do what it should - try Debug.Logs! Just add them everywhere! They can tell you what parts of your script are accessed after you press Play. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt; &lt;br /&gt;
Debug.Log(&amp;quot;Stakkars meg, som har skrevet 50 Debug.Logs&amp;quot;);&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
The lines will be written in the console section of Unity once they are accessed.&amp;lt;br&amp;gt; &lt;br /&gt;
[[File:50Debug_Logs.png]]&lt;br /&gt;
&lt;br /&gt;
== Example: Make an object jump on clapping ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;1. In Processing:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
a) Install an additional library for sound. Click on &#039;&#039;Tools&#039;&#039; – &#039;&#039;Add Tools&#039;&#039; – Choose &#039;&#039;Libraries&#039;&#039; – Search for Minim and install it. &amp;lt;br&amp;gt;&lt;br /&gt;
b) To your imported Libraries add &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
import ddf.minim.*; &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
c) Add Audio variables to your script. This script will also draw a circle depending on the audio volume. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
float x;&amp;lt;br&amp;gt;&lt;br /&gt;
float y;&amp;lt;br&amp;gt;&lt;br /&gt;
Minim minim;&amp;lt;br&amp;gt;&lt;br /&gt;
AudioInput input;&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
d) In the Setup() function add the values for the circle and create the audiotoolkit &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
size (320, 240);&amp;lt;br&amp;gt;&lt;br /&gt;
smooth();&amp;lt;br&amp;gt;&lt;br /&gt;
stroke (255, 25);&amp;lt;br&amp;gt;&lt;br /&gt;
noFill ();&amp;lt;br&amp;gt;&lt;br /&gt;
// Set start position&amp;lt;br&amp;gt;&lt;br /&gt;
x = 0;&amp;lt;br&amp;gt;&lt;br /&gt;
y = 20;&amp;lt;br&amp;gt;&lt;br /&gt;
minim = new Minim (this);&amp;lt;br&amp;gt;&lt;br /&gt;
input = minim.getLineIn (Minim.STEREO, 512);&amp;lt;br&amp;gt;&lt;br /&gt;
background (0);&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
e) The draw() function will be the container of the circle’s size. It will only send the values to Unity if the circle is big enough. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
void draw () {&amp;lt;br&amp;gt;&lt;br /&gt;
int i =0;&amp;lt;br&amp;gt;&lt;br /&gt;
float dim = input.mix.level () * width;&amp;lt;br&amp;gt; &lt;br /&gt;
if (dim &amp;gt;= 80){System.out.println(&amp;quot;Loud enough: &amp;quot;+dim);&amp;lt;br&amp;gt; &lt;br /&gt;
OscMessage myMessage = new OscMessage(&amp;quot;/&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(dim);&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(true);&amp;lt;br&amp;gt;&lt;br /&gt;
oscP5.send(myMessage, myRemoteLocation);}&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
f) When you are ready, press Play. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2. In Unity:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
a) Create an object in Unity. Drag this object onto the gameReceiver of your Osc Receiver Script. This object is now the gameReceiver and will behave as you define in the Osc Receiver script.  &amp;lt;br&amp;gt;&lt;br /&gt;
b) Open up the Osc Receiver Script.  Define a new private variable.&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
private var moveSpeed : int = 0; &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
c)  Create a new public function.&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public function MoveObject(msgValue) : void &amp;lt;br&amp;gt;&lt;br /&gt;
{&amp;lt;br&amp;gt;&lt;br /&gt;
moveSpeed = msgValue; &amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
d)  In the Update() function add &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
var go = GameObject.Find(gameReceiver);&amp;lt;br&amp;gt;&lt;br /&gt;
go.transform.Translate(0, moveSpeed, 0); &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
e) In the AllMessageHandler() function add &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
switch (msgAddress){&amp;lt;br&amp;gt;&lt;br /&gt;
default:&amp;lt;br&amp;gt;&lt;br /&gt;
MoveObject(msgValue);&amp;lt;br&amp;gt;&lt;br /&gt;
break;}&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
f) When you are ready, press Play.&lt;br /&gt;
&lt;br /&gt;
== Example: Use your mouse position to Control Objects ==&lt;br /&gt;
&lt;br /&gt;
S O O O O O O O O O N&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:50Debug_Logs.png&amp;diff=85474</id>
		<title>File:50Debug Logs.png</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:50Debug_Logs.png&amp;diff=85474"/>
		<updated>2016-07-27T10:28:23Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:GameReceiver.png&amp;diff=85473</id>
		<title>File:GameReceiver.png</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:GameReceiver.png&amp;diff=85473"/>
		<updated>2016-07-27T10:20:48Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Tutorials/Networking/Controlling_Unity_with_Processing&amp;diff=85463</id>
		<title>GMU:Tutorials/Networking/Controlling Unity with Processing</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Tutorials/Networking/Controlling_Unity_with_Processing&amp;diff=85463"/>
		<updated>2016-07-26T19:28:37Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: /* Unity */ + 6.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== On 1 Computer ==&lt;br /&gt;
&lt;br /&gt;
[[Image:1_Computers.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Open Unity and Processing.&amp;lt;br&amp;gt;&lt;br /&gt;
2. In both programs the Remote IP should be set to 127.0.0.1&amp;lt;br&amp;gt;&lt;br /&gt;
3. The SendToPort in Processing equals the ListenerPort in Unity. You will have to adjust the values manually. Usually port values between 7000 and 15000 are not taken, so you can use them for your OSC connection.  If it is not working try changing the ports. Do not use the same value twice at the same time, if you have more than one connection running.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== On 2 Computers ==&lt;br /&gt;
[[File:2_Computers.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Make sure you are connected to the same Wifi. If it does not work there might be an active firewall disturbing your work, so turn that off if you have to. &amp;lt;br&amp;gt;&lt;br /&gt;
2. Open Unity and Processing. &amp;lt;br&amp;gt;&lt;br /&gt;
3. In Unity fill in the IP of the Computer that is running Processing. &amp;lt;br&amp;gt;&lt;br /&gt;
4. The SendToPort in Processing equals the ListenerPort in Unity. You will have to adjust the values manually. Usually port values between 7000 and 15000 are not taken, so you can use them for your OSC connection.  If it is not working try changing the ports. Do not use the same value twice at the same time, if you have more than one connection running. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processing ==&lt;br /&gt;
In Processing you need to install a library. Click on &#039;&#039;Tools&#039;&#039; – &#039;&#039;Add Tools&#039;&#039; – Choose &#039;&#039;Libraries&#039;&#039; – Search for oscP5 and install it.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the basic processing script for sending Osc data (it just sets up the connection, actions can be added): &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
//load libraries&amp;lt;br&amp;gt;&lt;br /&gt;
import netP5.*;&amp;lt;br&amp;gt;&lt;br /&gt;
import oscP5.*;&amp;lt;br&amp;gt;&lt;br /&gt;
OscP5 oscP5;&amp;lt;br&amp;gt;&lt;br /&gt;
NetAddress myRemoteLovation;&amp;lt;br&amp;gt;&lt;br /&gt;
//make a connection&amp;lt;br&amp;gt;&lt;br /&gt;
void setup () {&amp;lt;br&amp;gt;&lt;br /&gt;
osP5 = new OscP5 (this, 9000);&amp;lt;br&amp;gt;&lt;br /&gt;
myRemoteLocation = new NetAddress(&amp;quot;127.0.0.1&amp;quot;, 9000);&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;br&amp;gt;&lt;br /&gt;
// this is where you can make things happen and send values to Unity&amp;lt;br&amp;gt;&lt;br /&gt;
void draw () {&amp;lt;br&amp;gt;&lt;br /&gt;
OscMessage myMessage = new OscMessage (&amp;quot;/&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
// add a value to the message (optional)&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(somevalue);&amp;lt;br&amp;gt;&lt;br /&gt;
// add a bool to the message (optional)&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(true);&amp;lt;br&amp;gt;&lt;br /&gt;
oscP5.send(myMessage, myRemoteLocation);&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;br&amp;gt;&lt;br /&gt;
// this is where you get feedback in Processing&amp;lt;br&amp;gt;&lt;br /&gt;
void oscEvent (OscMessage theOscMessage) {&amp;lt;br&amp;gt;&lt;br /&gt;
print(&amp;quot;### received an osc message.&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
print(&amp;quot; addrpattern: &amp;quot;+theOscMessage.addrPattern());&amp;lt;br&amp;gt;&lt;br /&gt;
println(&amp;quot; typetag: &amp;quot;+theOscMessage.typetag());&amp;lt;br&amp;gt;&lt;br /&gt;
println(&amp;quot;### received an osc message. with address pattern&amp;quot;+theOscMessage.addrPattern()+&amp;quot; typetag &amp;quot; +theOscMessage.typetag());&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;/code&amp;gt;&lt;br /&gt;
== Unity ==&lt;br /&gt;
With just a little help from Google (or bing if you’re one of those people) you can find one of these Osc Receiver Scripts. You will also need scripts for [https://github.com/heaversm/unity-osc-receiver/tree/master/Assets/Plugins Osc and Udp]. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Import the scripts to the Assets folder using drag&amp;amp;drop.&lt;br /&gt;
If you’re working on a real actual project it might be best to create a folder for all your scripts. &amp;lt;br&amp;gt;&lt;br /&gt;
2. Create an empty game object (right click in the Hierarchy) and rename it, so you know what it is. &amp;lt;br&amp;gt;&lt;br /&gt;
3. From the assets you drag the scripts onto the empty game object. &amp;lt;br&amp;gt;&lt;br /&gt;
4. Do not forget to adjust the IP, and the port in the inspector. &amp;lt;br&amp;gt;&lt;br /&gt;
5. In the Inspector you see the public variable gameReceiver within the Osc Receiver Script. Drag the object you want to manipulate from the hierarchy onto the gameReceiver value. By default this value is called “Cube”. &amp;lt;br&amp;gt;&lt;br /&gt;
6. If you haven&#039;t done it already - Safe! Ctrl+S on Windows, Macs probably do that differently, but you will know that better than me.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If all this code is completely new to you and you only understand trainstation – here is an explanation for the whole OSC Receiver Script:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Public values are adjustable without any coding; just use the inspector for that. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public var RemoteIP : String = &amp;quot;&amp;quot;;&amp;lt;br&amp;gt;&lt;br /&gt;
public var SendToPort : int = xxxx;&amp;lt;br&amp;gt;&lt;br /&gt;
public var ListenerPort : int = yyyy;&amp;lt;br&amp;gt;&lt;br /&gt;
public var controller : Transform;&amp;lt;br&amp;gt;&lt;br /&gt;
public var gameReceiver = &amp;quot;Cube&amp;quot;;&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In the Start() function all the necessary scripts and components are connected. This will happen once you press Play. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public function Start ()&amp;lt;br&amp;gt;&lt;br /&gt;
{&amp;lt;br&amp;gt;&lt;br /&gt;
var udp : UDPPacketIO = GetComponent(&amp;quot;UDPPacketIO&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
udp.init(RemoteIP, SendToPort, ListenerPort);&amp;lt;br&amp;gt;&lt;br /&gt;
handler = GetComponent(&amp;quot;Osc&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
handler.init(udp);&amp;lt;br&amp;gt;&lt;br /&gt;
handler.SetAllMessageHandler(AllMessageHandler);&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The AllMessageHandler() function is where the Osc happens. This function unpacks the Osc signals, so you can address them in other functions. In this function you can command, whenever A happens, you want FunctionB() to be executed. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public function AllMessageHandler(oscMessage: OscMessage){&amp;lt;br&amp;gt;&lt;br /&gt;
var msgString = Osc.OscMessageToString(oscMessage);&amp;lt;br&amp;gt;&lt;br /&gt;
var msgAddress = oscMessage.Address;&amp;lt;br&amp;gt;&lt;br /&gt;
var msgValue = oscMessage.Values[0];&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
So you typed all that code and there are no errors but that stupid thing still won&#039;t do what it should - try Debug.Logs! Just add them everywhere! They can tell you what parts of your script are accessed after you press Play. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt; &lt;br /&gt;
Debug.Log(&amp;quot;Stakkars meg, som har skrevet 50 Debug.Logs&amp;quot;);&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example: Make an object jump on clapping ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;1. In Processing:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
a) Install an additional library for sound. Click on &#039;&#039;Tools&#039;&#039; – &#039;&#039;Add Tools&#039;&#039; – Choose &#039;&#039;Libraries&#039;&#039; – Search for Minim and install it. &amp;lt;br&amp;gt;&lt;br /&gt;
b) To your imported Libraries add &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
import ddf.minim.*; &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
c) Add Audio variables to your script. This script will also draw a circle depending on the audio volume. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
float x;&amp;lt;br&amp;gt;&lt;br /&gt;
float y;&amp;lt;br&amp;gt;&lt;br /&gt;
Minim minim;&amp;lt;br&amp;gt;&lt;br /&gt;
AudioInput input;&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
d) In the Setup() function add the values for the circle and create the audiotoolkit &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
size (320, 240);&amp;lt;br&amp;gt;&lt;br /&gt;
smooth();&amp;lt;br&amp;gt;&lt;br /&gt;
stroke (255, 25);&amp;lt;br&amp;gt;&lt;br /&gt;
noFill ();&amp;lt;br&amp;gt;&lt;br /&gt;
// Set start position&amp;lt;br&amp;gt;&lt;br /&gt;
x = 0;&amp;lt;br&amp;gt;&lt;br /&gt;
y = 20;&amp;lt;br&amp;gt;&lt;br /&gt;
minim = new Minim (this);&amp;lt;br&amp;gt;&lt;br /&gt;
input = minim.getLineIn (Minim.STEREO, 512);&amp;lt;br&amp;gt;&lt;br /&gt;
background (0);&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
e) The draw() function will be the container of the circle’s size. It will only send the values to Unity if the circle is big enough. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
void draw () {&amp;lt;br&amp;gt;&lt;br /&gt;
int i =0;&amp;lt;br&amp;gt;&lt;br /&gt;
float dim = input.mix.level () * width;&amp;lt;br&amp;gt; &lt;br /&gt;
if (dim &amp;gt;= 80){System.out.println(&amp;quot;Loud enough: &amp;quot;+dim);&amp;lt;br&amp;gt; &lt;br /&gt;
OscMessage myMessage = new OscMessage(&amp;quot;/&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(dim);&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(true);&amp;lt;br&amp;gt;&lt;br /&gt;
oscP5.send(myMessage, myRemoteLocation);}&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
f) When you are ready, press Play. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2. In Unity:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
a) Create an object in Unity. Drag this object onto the gameReceiver of your Osc Receiver Script. This object is now the gameReceiver and will behave as you define in the Osc Receiver script.  &amp;lt;br&amp;gt;&lt;br /&gt;
b) Open up the Osc Receiver Script.  Define a new private variable.&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
private var moveSpeed : int = 0; &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
c)  Create a new public function.&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public function MoveObject(msgValue) : void &amp;lt;br&amp;gt;&lt;br /&gt;
{&amp;lt;br&amp;gt;&lt;br /&gt;
moveSpeed = msgValue; &amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
d)  In the Update() function add &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
var go = GameObject.Find(gameReceiver);&amp;lt;br&amp;gt;&lt;br /&gt;
go.transform.Translate(0, moveSpeed, 0); &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
e) In the AllMessageHandler() function add &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
switch (msgAddress){&amp;lt;br&amp;gt;&lt;br /&gt;
default:&amp;lt;br&amp;gt;&lt;br /&gt;
MoveObject(msgValue);&amp;lt;br&amp;gt;&lt;br /&gt;
break;}&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
f) When you are ready, press Play.&lt;br /&gt;
&lt;br /&gt;
== Example: Use your mouse position to Control Objects ==&lt;br /&gt;
&lt;br /&gt;
S O O O O O O O O O N&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Tutorials/Networking/Controlling_Unity_with_Processing&amp;diff=85462</id>
		<title>GMU:Tutorials/Networking/Controlling Unity with Processing</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Tutorials/Networking/Controlling_Unity_with_Processing&amp;diff=85462"/>
		<updated>2016-07-26T19:20:19Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: 1.5st draft&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== On 1 Computer ==&lt;br /&gt;
&lt;br /&gt;
[[Image:1_Computers.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Open Unity and Processing.&amp;lt;br&amp;gt;&lt;br /&gt;
2. In both programs the Remote IP should be set to 127.0.0.1&amp;lt;br&amp;gt;&lt;br /&gt;
3. The SendToPort in Processing equals the ListenerPort in Unity. You will have to adjust the values manually. Usually port values between 7000 and 15000 are not taken, so you can use them for your OSC connection.  If it is not working try changing the ports. Do not use the same value twice at the same time, if you have more than one connection running.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== On 2 Computers ==&lt;br /&gt;
[[File:2_Computers.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Make sure you are connected to the same Wifi. If it does not work there might be an active firewall disturbing your work, so turn that off if you have to. &amp;lt;br&amp;gt;&lt;br /&gt;
2. Open Unity and Processing. &amp;lt;br&amp;gt;&lt;br /&gt;
3. In Unity fill in the IP of the Computer that is running Processing. &amp;lt;br&amp;gt;&lt;br /&gt;
4. The SendToPort in Processing equals the ListenerPort in Unity. You will have to adjust the values manually. Usually port values between 7000 and 15000 are not taken, so you can use them for your OSC connection.  If it is not working try changing the ports. Do not use the same value twice at the same time, if you have more than one connection running. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processing ==&lt;br /&gt;
In Processing you need to install a library. Click on &#039;&#039;Tools&#039;&#039; – &#039;&#039;Add Tools&#039;&#039; – Choose &#039;&#039;Libraries&#039;&#039; – Search for oscP5 and install it.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the basic processing script for sending Osc data (it just sets up the connection, actions can be added): &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
//load libraries&amp;lt;br&amp;gt;&lt;br /&gt;
import netP5.*;&amp;lt;br&amp;gt;&lt;br /&gt;
import oscP5.*;&amp;lt;br&amp;gt;&lt;br /&gt;
OscP5 oscP5;&amp;lt;br&amp;gt;&lt;br /&gt;
NetAddress myRemoteLovation;&amp;lt;br&amp;gt;&lt;br /&gt;
//make a connection&amp;lt;br&amp;gt;&lt;br /&gt;
void setup () {&amp;lt;br&amp;gt;&lt;br /&gt;
osP5 = new OscP5 (this, 9000);&amp;lt;br&amp;gt;&lt;br /&gt;
myRemoteLocation = new NetAddress(&amp;quot;127.0.0.1&amp;quot;, 9000);&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;br&amp;gt;&lt;br /&gt;
// this is where you can make things happen and send values to Unity&amp;lt;br&amp;gt;&lt;br /&gt;
void draw () {&amp;lt;br&amp;gt;&lt;br /&gt;
OscMessage myMessage = new OscMessage (&amp;quot;/&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
// add a value to the message (optional)&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(somevalue);&amp;lt;br&amp;gt;&lt;br /&gt;
// add a bool to the message (optional)&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(true);&amp;lt;br&amp;gt;&lt;br /&gt;
oscP5.send(myMessage, myRemoteLocation);&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;br&amp;gt;&lt;br /&gt;
// this is where you get feedback in Processing&amp;lt;br&amp;gt;&lt;br /&gt;
void oscEvent (OscMessage theOscMessage) {&amp;lt;br&amp;gt;&lt;br /&gt;
print(&amp;quot;### received an osc message.&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
print(&amp;quot; addrpattern: &amp;quot;+theOscMessage.addrPattern());&amp;lt;br&amp;gt;&lt;br /&gt;
println(&amp;quot; typetag: &amp;quot;+theOscMessage.typetag());&amp;lt;br&amp;gt;&lt;br /&gt;
println(&amp;quot;### received an osc message. with address pattern&amp;quot;+theOscMessage.addrPattern()+&amp;quot; typetag &amp;quot; +theOscMessage.typetag());&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;/code&amp;gt;&lt;br /&gt;
== Unity ==&lt;br /&gt;
With just a little help from Google (or bing if you’re one of those people) you can find one of these Osc Receiver Scripts. You will also need scripts for [https://github.com/heaversm/unity-osc-receiver/tree/master/Assets/Plugins Osc and Udp]. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Import the scripts to the Assets folder using drag&amp;amp;drop.&lt;br /&gt;
If you’re working on a real actual project it might be best to create a folder for all your scripts. &amp;lt;br&amp;gt;&lt;br /&gt;
2. Create an empty game object (right click in the Hierarchy) and rename it, so you know what it is. &amp;lt;br&amp;gt;&lt;br /&gt;
3. From the assets you drag the scripts onto the empty game object. &amp;lt;br&amp;gt;&lt;br /&gt;
4. Do not forget to adjust the IP, and the port in the inspector. &amp;lt;br&amp;gt;&lt;br /&gt;
5. In the Inspector you see the public variable gameReceiver within the Osc Receiver Script. Drag the object you want to manipulate from the hierarchy onto the gameReceiver value. By default this value is called “Cube”. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If all this code is completely new to you and you only understand trainstation – here is an explanation for the whole OSC Receiver Script:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Public values are adjustable without any coding; just use the inspector for that. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public var RemoteIP : String = &amp;quot;&amp;quot;;&amp;lt;br&amp;gt;&lt;br /&gt;
public var SendToPort : int = xxxx;&amp;lt;br&amp;gt;&lt;br /&gt;
public var ListenerPort : int = yyyy;&amp;lt;br&amp;gt;&lt;br /&gt;
public var controller : Transform;&amp;lt;br&amp;gt;&lt;br /&gt;
public var gameReceiver = &amp;quot;Cube&amp;quot;;&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In the Start() function all the necessary scripts and components are connected. This will happen once you press Play. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public function Start ()&amp;lt;br&amp;gt;&lt;br /&gt;
{&amp;lt;br&amp;gt;&lt;br /&gt;
var udp : UDPPacketIO = GetComponent(&amp;quot;UDPPacketIO&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
udp.init(RemoteIP, SendToPort, ListenerPort);&amp;lt;br&amp;gt;&lt;br /&gt;
handler = GetComponent(&amp;quot;Osc&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
handler.init(udp);&amp;lt;br&amp;gt;&lt;br /&gt;
handler.SetAllMessageHandler(AllMessageHandler);&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The AllMessageHandler() function is where the Osc happens. This function unpacks the Osc signals, so you can address them in other functions. In this function you can command, whenever A happens, you want FunctionB() to be executed. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public function AllMessageHandler(oscMessage: OscMessage){&amp;lt;br&amp;gt;&lt;br /&gt;
var msgString = Osc.OscMessageToString(oscMessage);&amp;lt;br&amp;gt;&lt;br /&gt;
var msgAddress = oscMessage.Address;&amp;lt;br&amp;gt;&lt;br /&gt;
var msgValue = oscMessage.Values[0];&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
So you typed all that code and there are no errors but that stupid thing still won&#039;t do what it should - try Debug.Logs! Just add them everywhere! They can tell you what parts of your script are accessed after you press Play. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt; &lt;br /&gt;
Debug.Log(&amp;quot;Stakkars meg, som har skrevet 50 Debug.Logs&amp;quot;);&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Example: Make an object jump on clapping ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;1. In Processing:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
a) Install an additional library for sound. Click on &#039;&#039;Tools&#039;&#039; – &#039;&#039;Add Tools&#039;&#039; – Choose &#039;&#039;Libraries&#039;&#039; – Search for Minim and install it. &amp;lt;br&amp;gt;&lt;br /&gt;
b) To your imported Libraries add &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
import ddf.minim.*; &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
c) Add Audio variables to your script. This script will also draw a circle depending on the audio volume. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
float x;&amp;lt;br&amp;gt;&lt;br /&gt;
float y;&amp;lt;br&amp;gt;&lt;br /&gt;
Minim minim;&amp;lt;br&amp;gt;&lt;br /&gt;
AudioInput input;&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
d) In the Setup() function add the values for the circle and create the audiotoolkit &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
size (320, 240);&amp;lt;br&amp;gt;&lt;br /&gt;
smooth();&amp;lt;br&amp;gt;&lt;br /&gt;
stroke (255, 25);&amp;lt;br&amp;gt;&lt;br /&gt;
noFill ();&amp;lt;br&amp;gt;&lt;br /&gt;
// Set start position&amp;lt;br&amp;gt;&lt;br /&gt;
x = 0;&amp;lt;br&amp;gt;&lt;br /&gt;
y = 20;&amp;lt;br&amp;gt;&lt;br /&gt;
minim = new Minim (this);&amp;lt;br&amp;gt;&lt;br /&gt;
input = minim.getLineIn (Minim.STEREO, 512);&amp;lt;br&amp;gt;&lt;br /&gt;
background (0);&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
e) The draw() function will be the container of the circle’s size. It will only send the values to Unity if the circle is big enough. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
void draw () {&amp;lt;br&amp;gt;&lt;br /&gt;
int i =0;&amp;lt;br&amp;gt;&lt;br /&gt;
float dim = input.mix.level () * width;&amp;lt;br&amp;gt; &lt;br /&gt;
if (dim &amp;gt;= 80){System.out.println(&amp;quot;Loud enough: &amp;quot;+dim);&amp;lt;br&amp;gt; &lt;br /&gt;
OscMessage myMessage = new OscMessage(&amp;quot;/&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(dim);&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(true);&amp;lt;br&amp;gt;&lt;br /&gt;
oscP5.send(myMessage, myRemoteLocation);}&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
f) When you are ready, press Play. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2. In Unity:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
a) Create an object in Unity. Drag this object onto the gameReceiver of your Osc Receiver Script. This object is now the gameReceiver and will behave as you define in the Osc Receiver script.  &amp;lt;br&amp;gt;&lt;br /&gt;
b) Open up the Osc Receiver Script.  Define a new private variable.&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
private var moveSpeed : int = 0; &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
c)  Create a new public function.&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public function MoveObject(msgValue) : void &amp;lt;br&amp;gt;&lt;br /&gt;
{&amp;lt;br&amp;gt;&lt;br /&gt;
moveSpeed = msgValue; &amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
d)  In the Update() function add &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
var go = GameObject.Find(gameReceiver);&amp;lt;br&amp;gt;&lt;br /&gt;
go.transform.Translate(0, moveSpeed, 0); &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
e) In the AllMessageHandler() function add &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
switch (msgAddress){&amp;lt;br&amp;gt;&lt;br /&gt;
default:&amp;lt;br&amp;gt;&lt;br /&gt;
MoveObject(msgValue);&amp;lt;br&amp;gt;&lt;br /&gt;
break;}&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
f) When you are ready, press Play.&lt;br /&gt;
&lt;br /&gt;
== Example: Use your mouse position to Control Objects ==&lt;br /&gt;
&lt;br /&gt;
S O O O O O O O O O N&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Tutorials/Networking/Controlling_Unity_with_Processing&amp;diff=85461</id>
		<title>GMU:Tutorials/Networking/Controlling Unity with Processing</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Tutorials/Networking/Controlling_Unity_with_Processing&amp;diff=85461"/>
		<updated>2016-07-26T19:13:52Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: 1st draft&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== On 1 Computer ==&lt;br /&gt;
&lt;br /&gt;
[[Image:1_Computers.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Open Unity and Processing.&amp;lt;br&amp;gt;&lt;br /&gt;
2. In both programs the Remote IP should be set to 127.0.0.1&amp;lt;br&amp;gt;&lt;br /&gt;
3. The SendToPort in Processing equals the ListenerPort in Unity. You will have to adjust the values manually. Usually port values between 7000 and 15000 are not taken, so you can use them for your OSC connection.  If it is not working try changing the ports. Do not use the same value twice at the same time, if you have more than one connection running.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== On 2 Computers ==&lt;br /&gt;
[[File:2_Computers.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Make sure you are connected to the same Wifi. If it does not work there might be an active firewall disturbing your work, so turn that off if you have to. &amp;lt;br&amp;gt;&lt;br /&gt;
2. Open Unity and Processing. &amp;lt;br&amp;gt;&lt;br /&gt;
3. In Unity fill in the IP of the Computer that is running Processing. &amp;lt;br&amp;gt;&lt;br /&gt;
4. The SendToPort in Processing equals the ListenerPort in Unity. You will have to adjust the values manually. Usually port values between 7000 and 15000 are not taken, so you can use them for your OSC connection.  If it is not working try changing the ports. Do not use the same value twice at the same time, if you have more than one connection running. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Processing ==&lt;br /&gt;
In Processing you need to install a library. Click on &#039;&#039;Tools&#039;&#039; – &#039;&#039;Add Tools&#039;&#039; – Choose &#039;&#039;Libraries&#039;&#039; – Search for oscP5 and install it.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is the basic processing script for sending Osc data (it just sets up the connection, actions can be added): &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
//load libraries&amp;lt;br&amp;gt;&lt;br /&gt;
import netP5.*;&amp;lt;br&amp;gt;&lt;br /&gt;
import oscP5.*;&amp;lt;br&amp;gt;&lt;br /&gt;
OscP5 oscP5;&amp;lt;br&amp;gt;&lt;br /&gt;
NetAddress myRemoteLovation;&amp;lt;br&amp;gt;&lt;br /&gt;
//make a connection&amp;lt;br&amp;gt;&lt;br /&gt;
void setup () {&amp;lt;br&amp;gt;&lt;br /&gt;
osP5 = new OscP5 (this, 9000);&amp;lt;br&amp;gt;&lt;br /&gt;
myRemoteLocation = new NetAddress(&amp;quot;127.0.0.1&amp;quot;, 9000);&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;br&amp;gt;&lt;br /&gt;
// this is where you can make things happen and send values to Unity&amp;lt;br&amp;gt;&lt;br /&gt;
void draw () {&amp;lt;br&amp;gt;&lt;br /&gt;
OscMessage myMessage = new OscMessage (&amp;quot;/&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
// add a value to the message (optional)&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(somevalue);&amp;lt;br&amp;gt;&lt;br /&gt;
// add a bool to the message (optional)&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(true);&amp;lt;br&amp;gt;&lt;br /&gt;
oscP5.send(myMessage, myRemoteLocation);&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;br&amp;gt;&lt;br /&gt;
// this is where you get feedback in Processing&amp;lt;br&amp;gt;&lt;br /&gt;
void oscEvent (OscMessage theOscMessage) {&amp;lt;br&amp;gt;&lt;br /&gt;
print(&amp;quot;### received an osc message.&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
print(&amp;quot; addrpattern: &amp;quot;+theOscMessage.addrPattern());&amp;lt;br&amp;gt;&lt;br /&gt;
println(&amp;quot; typetag: &amp;quot;+theOscMessage.typetag());&amp;lt;br&amp;gt;&lt;br /&gt;
println(&amp;quot;### received an osc message. with address pattern&amp;quot;+theOscMessage.addrPattern()+&amp;quot; typetag &amp;quot; +theOscMessage.typetag());&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;/code&amp;gt;&lt;br /&gt;
== Unity ==&lt;br /&gt;
With just a little help from Google (or bing if you’re one of those people) you can find one of these Osc Receiver Scripts. You will also need scripts for [https://github.com/heaversm/unity-osc-receiver/tree/master/Assets/Plugins Osc and Udp]. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
1. Import the scripts to the Assets folder using drag&amp;amp;drop.&lt;br /&gt;
If you’re working on a real actual project it might be best to create a folder for all your scripts. &amp;lt;br&amp;gt;&lt;br /&gt;
2. Create an empty game object (right click in the Hierarchy) and rename it, so you know what it is. &amp;lt;br&amp;gt;&lt;br /&gt;
3. From the assets you drag the scripts onto the empty game object. &amp;lt;br&amp;gt;&lt;br /&gt;
4. Do not forget to adjust the IP, and the port in the inspector. &amp;lt;br&amp;gt;&lt;br /&gt;
5. In the Inspector you see the public variable gameReceiver within the Osc Receiver Script. Drag the object you want to manipulate from the hierarchy onto the gameReceiver value. By default this value is called “Cube”. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If all this code is completely new to you and you only understand trainstation – here is an explanation for the whole OSC Receiver Script:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Public values are adjustable without any coding; just use the inspector for that. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public var RemoteIP : String = &amp;quot;&amp;quot;;&amp;lt;br&amp;gt;&lt;br /&gt;
public var SendToPort : int = xxxx;&amp;lt;br&amp;gt;&lt;br /&gt;
public var ListenerPort : int = yyyy;&amp;lt;br&amp;gt;&lt;br /&gt;
public var controller : Transform;&amp;lt;br&amp;gt;&lt;br /&gt;
public var gameReceiver = &amp;quot;Cube&amp;quot;;&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In the Start() function all the necessary scripts are connected. This will happen once you press Play. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public function Start ()&amp;lt;br&amp;gt;&lt;br /&gt;
{&amp;lt;br&amp;gt;&lt;br /&gt;
var udp : UDPPacketIO = GetComponent(&amp;quot;UDPPacketIO&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
udp.init(RemoteIP, SendToPort, ListenerPort);&amp;lt;br&amp;gt;&lt;br /&gt;
handler = GetComponent(&amp;quot;Osc&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
handler.init(udp);&amp;lt;br&amp;gt;&lt;br /&gt;
handler.SetAllMessageHandler(AllMessageHandler);&amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The AllMessageHandler() function is where the Osc happens. This function unpacks the Osc signals, so you can address them in other functions. In this function you can command, whenever A happens, you want FunctionB() to be executed. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public function AllMessageHandler(oscMessage: OscMessage){&amp;lt;br&amp;gt;&lt;br /&gt;
var msgString = Osc.OscMessageToString(oscMessage);&amp;lt;br&amp;gt;&lt;br /&gt;
var msgAddress = oscMessage.Address;&amp;lt;br&amp;gt;&lt;br /&gt;
var msgValue = oscMessage.Values[0];&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
So you typed all that code and there are no errors but that stupid thing still won&#039;t do what it should - try Debug.Logs! Just add them everywhere! They can tell you what parts of your script are accessed after you press Play. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt; &lt;br /&gt;
Debug.Log(&amp;quot;Stakkars meg, som har skrevet 50 Debug.Logs&amp;quot;);&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Example: Make an object jump on clapping ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;1. In Processing:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
a) Install an additional library for sound. Click on &#039;&#039;Tools&#039;&#039; – &#039;&#039;Add Tools&#039;&#039; – Choose &#039;&#039;Libraries&#039;&#039; – Search for Minim and install it. &amp;lt;br&amp;gt;&lt;br /&gt;
b) To your imported Libraries add &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
import ddf.minim.*; &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
c) Add Audio variables to your script. This script will also draw a circle depending on the audio volume. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
float x;&amp;lt;br&amp;gt;&lt;br /&gt;
float y;&amp;lt;br&amp;gt;&lt;br /&gt;
Minim minim;&amp;lt;br&amp;gt;&lt;br /&gt;
AudioInput input;&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
d) In the Setup() function add the values for the circle and create the audiotoolkit &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
size (320, 240);&amp;lt;br&amp;gt;&lt;br /&gt;
smooth();&amp;lt;br&amp;gt;&lt;br /&gt;
stroke (255, 25);&amp;lt;br&amp;gt;&lt;br /&gt;
noFill ();&amp;lt;br&amp;gt;&lt;br /&gt;
// Set start position&amp;lt;br&amp;gt;&lt;br /&gt;
x = 0;&amp;lt;br&amp;gt;&lt;br /&gt;
y = 20;&amp;lt;br&amp;gt;&lt;br /&gt;
minim = new Minim (this);&amp;lt;br&amp;gt;&lt;br /&gt;
input = minim.getLineIn (Minim.STEREO, 512);&amp;lt;br&amp;gt;&lt;br /&gt;
background (0);&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
e) The draw() function will be the container of the circle’s size. It will only send the values to Unity if the circle is big enough. &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
void draw () {&amp;lt;br&amp;gt;&lt;br /&gt;
int i =0;&amp;lt;br&amp;gt;&lt;br /&gt;
float dim = input.mix.level () * width;&amp;lt;br&amp;gt; &lt;br /&gt;
if (dim &amp;gt;= 80){System.out.println(&amp;quot;Loud enough: &amp;quot;+dim);&amp;lt;br&amp;gt; &lt;br /&gt;
OscMessage myMessage = new OscMessage(&amp;quot;/&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(dim);&amp;lt;br&amp;gt;&lt;br /&gt;
myMessage.add(true);&amp;lt;br&amp;gt;&lt;br /&gt;
oscP5.send(myMessage, myRemoteLocation);}&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
f) When you are ready, press Play. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2. In Unity:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
a) Create an object in Unity. Drag this object onto the gameReceiver of your Osc Receiver Script. This object is now the gameReceiver and will behave as you define in the Osc Receiver script.  &amp;lt;br&amp;gt;&lt;br /&gt;
b) Open up the Osc Receiver Script.  Define a new private variable.&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
private var moveSpeed : int = 0; &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
c)  Create a new public function.&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
public function MoveObject(msgValue) : void &amp;lt;br&amp;gt;&lt;br /&gt;
{&amp;lt;br&amp;gt;&lt;br /&gt;
moveSpeed = msgValue; &amp;lt;br&amp;gt;&lt;br /&gt;
}&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
d)  In the Update() function add &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
var go = GameObject.Find(gameReceiver);&amp;lt;br&amp;gt;&lt;br /&gt;
go.transform.Translate(0, moveSpeed, 0); &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
e) In the AllMessageHandler() function add &amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
switch (msgAddress){&amp;lt;br&amp;gt;&lt;br /&gt;
default:&amp;lt;br&amp;gt;&lt;br /&gt;
MoveObject(msgValue);&amp;lt;br&amp;gt;&lt;br /&gt;
break;}&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
f) When you are ready, press Play.&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:2_Computers.png&amp;diff=85460</id>
		<title>File:2 Computers.png</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:2_Computers.png&amp;diff=85460"/>
		<updated>2016-07-26T16:13:22Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:1_Computers.png&amp;diff=85459</id>
		<title>File:1 Computers.png</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:1_Computers.png&amp;diff=85459"/>
		<updated>2016-07-26T16:11:58Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Performance_Platform&amp;diff=84326</id>
		<title>GMU:Performance Platform</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Performance_Platform&amp;diff=84326"/>
		<updated>2016-06-22T18:29:55Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: /* Individuals */ added tutorial&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;&#039;&#039;Interactive Performance Platform&#039;&#039;&#039;&#039;&#039; is a lab for artistic research operated by the [[GMU:Start|GMU]].&lt;br /&gt;
== Location ==&lt;br /&gt;
&lt;br /&gt;
  &#039;&#039;&#039;Interactive Performance Platform&#039;&#039;&#039;&lt;br /&gt;
  Digital Bauhaus Lab, Room 001 (Ground Floor)&lt;br /&gt;
  Bauhausstr. 9a&lt;br /&gt;
  99423 Weimar&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Image:performance-platform-videowall.png|thumb|left|200px|The videowall in action]]&lt;br /&gt;
[[Image:the-captury-screenshot.png|thumb|left|300px|Screenshot from the tracking software]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* markerless multi-person tracking&lt;br /&gt;
* highspeed camera for longterm-recording&lt;br /&gt;
* 12.2 channel audio system&lt;br /&gt;
* 4 x 4 tiled video wall&lt;br /&gt;
* 4 mac workstations&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
[[Image:performance-platform-setup.png|500px]]&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
The Performance Platform is used for artistic research.&amp;lt;br&amp;gt;&lt;br /&gt;
However there are occasional workshops and modules inside the lab to introduce the participants to the technology and foster the emergence of cross-disciplinary projects.&lt;br /&gt;
&lt;br /&gt;
  The place may be crowded during modules and workshops.&lt;br /&gt;
  Please try not to disturb during those times.&lt;br /&gt;
  Thank you :)&lt;br /&gt;
&lt;br /&gt;
=== Regular Schedule ===&lt;br /&gt;
&lt;br /&gt;
  Note:&lt;br /&gt;
  Starting June 13th the Lab will be used for Project-Work and Workshops.&lt;br /&gt;
  If you want access to the lab please get in contact with [[Martin Schneider]]&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;left&amp;quot; {{Prettytable}}&lt;br /&gt;
|&lt;br /&gt;
!Monday&lt;br /&gt;
!Tuesday&lt;br /&gt;
!Wednesday&lt;br /&gt;
!Thursday&lt;br /&gt;
!Friday&lt;br /&gt;
!Saturday&lt;br /&gt;
!Sunday&lt;br /&gt;
|-&lt;br /&gt;
!09:15 - 10:45&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|-&lt;br /&gt;
!11:00 - 12:30&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|-			&lt;br /&gt;
!13:30 - 15:00&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|-&lt;br /&gt;
!15:15 - 16:45 &lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|-&lt;br /&gt;
!17:00 - 18:30 &lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|[[GMU:Digital_Puppetry_Lab|Tutorium]] / Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|-&lt;br /&gt;
!19:00 - 20:30 &lt;br /&gt;
|Lab-Time&lt;br /&gt;
|[[GMU:Digital_Puppetry_Lab|Tutorium]]&lt;br /&gt;
|[[GMU:Digital_Puppetry_Lab|Tutorium]] / Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Workshops ===&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;left&amp;quot; {{Prettytable}}&lt;br /&gt;
! workshop title&lt;br /&gt;
! first day&lt;br /&gt;
! last day&lt;br /&gt;
|-&lt;br /&gt;
| [[GMU:Digital_Puppetry_Lab|Digital Puppetry Lab]] - Martin Schneider (GMU/EXPTV)&lt;br /&gt;
| Friday, 15. April&lt;br /&gt;
| Sunday 17. April &lt;br /&gt;
|-&lt;br /&gt;
| [[EXPTV:Start|UNITY-Workshop]] - Stephan Iserman (EXPTV)&lt;br /&gt;
| Thursday, 12. May &lt;br /&gt;
| Friday 13. May &lt;br /&gt;
|-&lt;br /&gt;
| [[GMU:Minecraft Ecologies|Minecraft Ecologies I]] Martin Schneider (GMU)&lt;br /&gt;
| Friday, 13. May&lt;br /&gt;
| Sunday 15. May&lt;br /&gt;
|-&lt;br /&gt;
| [[GMU:Human_and_Nonhuman_Performances_II_SS16|Bio-Semiotics]] - Dario Martinelli (GMU)&lt;br /&gt;
| Friday, 17. May&lt;br /&gt;
| Sunday 19. May&lt;br /&gt;
|-&lt;br /&gt;
| [[GMU:Minecraft Ecologies|Minecraft Ecologies II]] - Martin Schneider (GMU)&lt;br /&gt;
| Friday, 20. May&lt;br /&gt;
| Sunday 22. May&lt;br /&gt;
|-&lt;br /&gt;
| [[GMU:Minecraft Ecologies|Minecraft Ecologies III]] - Daniel Braun, Thomas Hawranke (GMU)&lt;br /&gt;
| Friday, 24. May&lt;br /&gt;
| Sunday 26. May&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Group Work ===&lt;br /&gt;
&lt;br /&gt;
The following 12 dates are available for group work. Please mention at least 3 days, that would would work for you in your group profile! We will activate you for the day and send you a short email when once you are active.&lt;br /&gt;
&lt;br /&gt;
By working in the lab you agree that you have read and understood, and that you will honour the [[GMU:Nutzungsordnung_IPP|Nutzungsordnung]]. You are fully responsible for any damage that occurs during your group work period. (Even if caused by somebody else).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SLOT 1&#039;&#039;&#039; – 16. June (Thu) – PASSED&lt;br /&gt;
* &#039;&#039;&#039;SLOT 2&#039;&#039;&#039; – 17. June (Fri) – Group 7&lt;br /&gt;
* &#039;&#039;&#039;SLOT 3&#039;&#039;&#039; – 18. June (Sat) – Individuals: Jessica Hüttig, Tim Vischer&lt;br /&gt;
* &#039;&#039;&#039;SLOT 4&#039;&#039;&#039; – 20. June (Mon) – Individuals: Jessica Hüttig, Tim Vischer&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SLOT 5&#039;&#039;&#039; – 23. June (Thu) – Group 2&lt;br /&gt;
* &#039;&#039;&#039;SLOT 6&#039;&#039;&#039; – 27. June (Mon) – Group 8&lt;br /&gt;
* &#039;&#039;&#039;SLOT 7&#039;&#039;&#039; – 28. June (Tue) – Group 4&lt;br /&gt;
* &#039;&#039;&#039;SLOT 8&#039;&#039;&#039; – 29. June (Wed) – Group 5&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SLOT 9&#039;&#039;&#039; – 30. June (Thu) – Individuals: Di Yang&lt;br /&gt;
* &#039;&#039;&#039;SLOT 10&#039;&#039;&#039; – 01. July (Fri) – Group 2&lt;br /&gt;
* &#039;&#039;&#039;SLOT 11&#039;&#039;&#039; – 02. July (Sat) – Group 6&lt;br /&gt;
* &#039;&#039;&#039;SLOT 12&#039;&#039;&#039; – 03. July (Sun) – Group 7&lt;br /&gt;
&lt;br /&gt;
== Project Groups ==&lt;br /&gt;
&lt;br /&gt;
  NOTE:&lt;br /&gt;
  The person printed in bold face is responsible for the lab, in case anything goes wrong.&lt;br /&gt;
&lt;br /&gt;
* Group 1 – &#039;&#039;&#039;[[GMU:Minecraft_Ecologies|Minecraft Ecologies]] – GMU&#039;&#039;&#039;&lt;br /&gt;
** Preferred Slots: ???&lt;br /&gt;
** &#039;&#039;&#039;Meike Halle&#039;&#039;&#039;&lt;br /&gt;
** Marcel Gohsen&lt;br /&gt;
** Asha Murali&lt;br /&gt;
** Andre Faupel&lt;br /&gt;
* Group 2 – &#039;&#039;&#039;[[Physical Sound Environment]] – GMU&#039;&#039;&#039;&lt;br /&gt;
** Preferred Slots: 10, 11, 12&lt;br /&gt;
** &#039;&#039;&#039;Kan Feng&#039;&#039;&#039; –  Tutorial: [[GMU:Tutorials/Performance_Platform/Capture_with_Processing|Defining Trigger Spaces with Processing]]&lt;br /&gt;
** Shuyan Chen –  Tutorial:[[Custom Setup to track People using a Camera on the Ceiling]]&lt;br /&gt;
** Shih-Li Chao – Tutorial: [[GMU:Tutorials/Performance_Platform/Sound_System_Stereo|Play Stereo on the Sound System]]&lt;br /&gt;
* Group 3 – &#039;&#039;&#039;[[/Multiple Gravity|Multiple Gravity]] – ExpTV&#039;&#039;&#039;&lt;br /&gt;
** Preferred Slots: &#039;&#039;none&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;Benjamin Vossler&#039;&#039;&#039; –  [[GMU:Tutorials/Networking/Controlling_MAX-MSP_with_TheCaptury|Controlling Max MSP with the Captury]]&lt;br /&gt;
** Gianluca Pandolfo –  [[GMU:Tutorials/Networking/Controlling_Unity_with_TheCaptury|Controling Unity with The Captury]]&lt;br /&gt;
* Group 4 – &#039;&#039;&#039;[[/Madre Monte|Madre Monte]] – ExpTV&#039;&#039;&#039;&lt;br /&gt;
** Preferred Slots: 6, 7, 8&lt;br /&gt;
** &#039;&#039;&#039;Emilio Aguas&#039;&#039;&#039; –  Tutorial: [[GMU:Tutorials/Performance Platform/Tracking Platform Export|Using the Multi-Speaker-System]] &lt;br /&gt;
** Fiona Mortimer –  Tutorial Title 2&lt;br /&gt;
** Eduardo Oliviera –  Tutorial Title 3&lt;br /&gt;
* Group 5 – &#039;&#039;&#039;[[/Bounce &amp;amp; Rebound|Bounce &amp;amp; Rebound]] – ExpTV&#039;&#039;&#039;&lt;br /&gt;
** Preferred Slots: 6, 7, 8&lt;br /&gt;
** &#039;&#039;&#039;Jonas Jülch&#039;&#039;&#039; –  Tutorial: [[GMU:Tutorials/Performance_Platform/Tracking_Platform_Rigging|Using Tracking Data in Blender]]&lt;br /&gt;
** Leif Weitzel –  Tutorial Title 2&lt;br /&gt;
* Group 6 – &#039;&#039;&#039;[[/Escape or Kill|Escape or Kill]] – ExpTV&#039;&#039;&#039;&lt;br /&gt;
** Slot: 11&lt;br /&gt;
** &#039;&#039;&#039;Florian Froger&#039;&#039;&#039; –  Tutorial: [[GMU:Tutorials/Performance Platform/Tracking Platform Export|Exporting Tracking Data]] &lt;br /&gt;
* Group 7 – &#039;&#039;&#039;[[/Dependance|Dependance]] – ExpTV&#039;&#039;&#039;&lt;br /&gt;
** Preferred Slots:  2, 3, 10, 11, 12&lt;br /&gt;
** &#039;&#039;&#039;Alicia Kremser&#039;&#039;&#039; –  Tutorial Title 1&lt;br /&gt;
** Tim Vischer&lt;br /&gt;
** Adam Streicher - [[GMU:Tutorials/Networking/Controlling_Unity_with_TheCaptury|Controling Unity with The Captury]]&lt;br /&gt;
* Group 8 – &#039;&#039;&#039;[[/Group dynamics|Group Dyamics]] – ExpTV&#039;&#039;&#039;&lt;br /&gt;
** Preferred Slots:  6&lt;br /&gt;
** &#039;&#039;&#039;Kei Kitamura&#039;&#039;&#039; –  Tutorial Title 1&lt;br /&gt;
* Group 9 – &#039;&#039;&#039;[[/Woll&#039;s World|Woll&#039;s World]] – GMU&#039;&#039;&#039;&lt;br /&gt;
** Preferred Slots: 6, 7, 8, 9, 10&lt;br /&gt;
** &#039;&#039;&#039;Yun Liu&#039;&#039;&#039; - Tutorial: [[GMU:Tutorials/Visual Interaction/Using Unity for simulation|Control 3D knot by the data of position and velocity in real-time]]&lt;br /&gt;
** &#039;&#039;&#039;Xiangzhen Fan&#039;&#039;&#039;[[GMU:Tutorials/Visual Interaction/Using Unity for simulation|Simulating 3D knot in real-time]]&lt;br /&gt;
** &#039;&#039;&#039;Qianqian Li&#039;&#039;&#039;- Tutorial: [[GMU:Tutorials/Performance_Platform/Using the tracking system|Using the Tracking System to Track the position of arthrosis]]&lt;br /&gt;
* Group 10 – &#039;&#039;&#039;[[/Balance|Balance]] – GMU&#039;&#039;&#039;&lt;br /&gt;
** Preferred Slots: 7,8,10,11,12&lt;br /&gt;
** &#039;&#039;&#039;Yuxin Tan&#039;&#039;&#039; - Tutorial: [[GMU:Tutorials/Performance_Platform/Using the tracking system|Using the Tracking System to Track the position of arthrosis in Unity]]&lt;br /&gt;
** &#039;&#039;&#039;Junyuan Wu&#039;&#039;&#039; - Tutorial: [[GMU:Tutorials/Performance_Platform/Using the tracking system|Using the Tracking System to control the movement of the scene in Unity]]&lt;br /&gt;
&lt;br /&gt;
== Individuals ==&lt;br /&gt;
* Jessica Hüttig – Tutorial: [[GMU:Tutorials/Performance Platform/Tracking Platform Calibration|Calibrating the Tracking System]]&lt;br /&gt;
**Preferred slots: 3&lt;br /&gt;
* Di Yang –  Tutorial: [[GMU:Tutorials/Performance Platform/Videowall Calibration|Calibrating the Videowall]]&lt;br /&gt;
** preferred slots: 8, 9, 10&lt;br /&gt;
* Rachel Smith - [[GMU:Tutorials/Performance_Platform/Recognizing_Gestures_with_Wekinator|Recognising Gestures with Wekinator]]&lt;br /&gt;
** Preferred slots: 10, 11, 12&lt;br /&gt;
* Christopher Dake-Outhet – Tutorial: [[GMU:Tutorials/Performance Platform/Tracking Platform Calibration|Recording Tacking Data]]&lt;br /&gt;
** preferred slots: 6, 8, 12&lt;br /&gt;
* Elena Liv Felderer - Tutorial: [[GMU: Tutorials/Networking Tutorials|Controlling Unity with Processing]]&lt;br /&gt;
** no slots for me&lt;br /&gt;
&lt;br /&gt;
== Highlights ==&lt;br /&gt;
* Student projects from the [[GMU:Spacial_Information_Lab#Participants|Spacial Information Lab]]&lt;br /&gt;
* Tracking 3 dancers for the [https://vimeo.com/156704320 3D-Pitoti project]&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
As part of the [[GMU:Digital_Puppetry_Lab|Introduction to the Lab]] the students will create [[GMU:Tutorials#Performance_Plattform_Tutorials|Online Tutorials]].&amp;lt;br&amp;gt;&lt;br /&gt;
The tutorials will explain how to use the technology available at the Performance Platform.&lt;br /&gt;
&lt;br /&gt;
== Mailing-List ==&lt;br /&gt;
There is an internal mailing list for everyone that has their working space on the DBL groundfloor.&amp;lt;br&amp;gt;&lt;br /&gt;
Please contact [[Martin Schneider]] if you think you should be on that list.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://www.uni-weimar.de/en/media/institutes/digital-bauhaus-lab Digital Bauhaus Lab Website]&lt;br /&gt;
* [[GMU:Nutzungsordnung_IPP|Nutzungsordnung]]&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Performance_Platform&amp;diff=84325</id>
		<title>GMU:Performance Platform</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Performance_Platform&amp;diff=84325"/>
		<updated>2016-06-22T18:19:14Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: /* Individuals */ added myself&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;&#039;&#039;Interactive Performance Platform&#039;&#039;&#039;&#039;&#039; is a lab for artistic research operated by the [[GMU:Start|GMU]].&lt;br /&gt;
== Location ==&lt;br /&gt;
&lt;br /&gt;
  &#039;&#039;&#039;Interactive Performance Platform&#039;&#039;&#039;&lt;br /&gt;
  Digital Bauhaus Lab, Room 001 (Ground Floor)&lt;br /&gt;
  Bauhausstr. 9a&lt;br /&gt;
  99423 Weimar&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Image:performance-platform-videowall.png|thumb|left|200px|The videowall in action]]&lt;br /&gt;
[[Image:the-captury-screenshot.png|thumb|left|300px|Screenshot from the tracking software]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* markerless multi-person tracking&lt;br /&gt;
* highspeed camera for longterm-recording&lt;br /&gt;
* 12.2 channel audio system&lt;br /&gt;
* 4 x 4 tiled video wall&lt;br /&gt;
* 4 mac workstations&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
[[Image:performance-platform-setup.png|500px]]&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
The Performance Platform is used for artistic research.&amp;lt;br&amp;gt;&lt;br /&gt;
However there are occasional workshops and modules inside the lab to introduce the participants to the technology and foster the emergence of cross-disciplinary projects.&lt;br /&gt;
&lt;br /&gt;
  The place may be crowded during modules and workshops.&lt;br /&gt;
  Please try not to disturb during those times.&lt;br /&gt;
  Thank you :)&lt;br /&gt;
&lt;br /&gt;
=== Regular Schedule ===&lt;br /&gt;
&lt;br /&gt;
  Note:&lt;br /&gt;
  Starting June 13th the Lab will be used for Project-Work and Workshops.&lt;br /&gt;
  If you want access to the lab please get in contact with [[Martin Schneider]]&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;left&amp;quot; {{Prettytable}}&lt;br /&gt;
|&lt;br /&gt;
!Monday&lt;br /&gt;
!Tuesday&lt;br /&gt;
!Wednesday&lt;br /&gt;
!Thursday&lt;br /&gt;
!Friday&lt;br /&gt;
!Saturday&lt;br /&gt;
!Sunday&lt;br /&gt;
|-&lt;br /&gt;
!09:15 - 10:45&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|-&lt;br /&gt;
!11:00 - 12:30&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|-			&lt;br /&gt;
!13:30 - 15:00&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|-&lt;br /&gt;
!15:15 - 16:45 &lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|-&lt;br /&gt;
!17:00 - 18:30 &lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|[[GMU:Digital_Puppetry_Lab|Tutorium]] / Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|-&lt;br /&gt;
!19:00 - 20:30 &lt;br /&gt;
|Lab-Time&lt;br /&gt;
|[[GMU:Digital_Puppetry_Lab|Tutorium]]&lt;br /&gt;
|[[GMU:Digital_Puppetry_Lab|Tutorium]] / Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|Lab-Time&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Workshops ===&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;left&amp;quot; {{Prettytable}}&lt;br /&gt;
! workshop title&lt;br /&gt;
! first day&lt;br /&gt;
! last day&lt;br /&gt;
|-&lt;br /&gt;
| [[GMU:Digital_Puppetry_Lab|Digital Puppetry Lab]] - Martin Schneider (GMU/EXPTV)&lt;br /&gt;
| Friday, 15. April&lt;br /&gt;
| Sunday 17. April &lt;br /&gt;
|-&lt;br /&gt;
| [[EXPTV:Start|UNITY-Workshop]] - Stephan Iserman (EXPTV)&lt;br /&gt;
| Thursday, 12. May &lt;br /&gt;
| Friday 13. May &lt;br /&gt;
|-&lt;br /&gt;
| [[GMU:Minecraft Ecologies|Minecraft Ecologies I]] Martin Schneider (GMU)&lt;br /&gt;
| Friday, 13. May&lt;br /&gt;
| Sunday 15. May&lt;br /&gt;
|-&lt;br /&gt;
| [[GMU:Human_and_Nonhuman_Performances_II_SS16|Bio-Semiotics]] - Dario Martinelli (GMU)&lt;br /&gt;
| Friday, 17. May&lt;br /&gt;
| Sunday 19. May&lt;br /&gt;
|-&lt;br /&gt;
| [[GMU:Minecraft Ecologies|Minecraft Ecologies II]] - Martin Schneider (GMU)&lt;br /&gt;
| Friday, 20. May&lt;br /&gt;
| Sunday 22. May&lt;br /&gt;
|-&lt;br /&gt;
| [[GMU:Minecraft Ecologies|Minecraft Ecologies III]] - Daniel Braun, Thomas Hawranke (GMU)&lt;br /&gt;
| Friday, 24. May&lt;br /&gt;
| Sunday 26. May&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Group Work ===&lt;br /&gt;
&lt;br /&gt;
The following 12 dates are available for group work. Please mention at least 3 days, that would would work for you in your group profile! We will activate you for the day and send you a short email when once you are active.&lt;br /&gt;
&lt;br /&gt;
By working in the lab you agree that you have read and understood, and that you will honour the [[GMU:Nutzungsordnung_IPP|Nutzungsordnung]]. You are fully responsible for any damage that occurs during your group work period. (Even if caused by somebody else).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SLOT 1&#039;&#039;&#039; – 16. June (Thu) – PASSED&lt;br /&gt;
* &#039;&#039;&#039;SLOT 2&#039;&#039;&#039; – 17. June (Fri) – Group 7&lt;br /&gt;
* &#039;&#039;&#039;SLOT 3&#039;&#039;&#039; – 18. June (Sat) – Individuals: Jessica Hüttig, Tim Vischer&lt;br /&gt;
* &#039;&#039;&#039;SLOT 4&#039;&#039;&#039; – 20. June (Mon) – Individuals: Jessica Hüttig, Tim Vischer&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SLOT 5&#039;&#039;&#039; – 23. June (Thu) – Group 2&lt;br /&gt;
* &#039;&#039;&#039;SLOT 6&#039;&#039;&#039; – 27. June (Mon) – Group 8&lt;br /&gt;
* &#039;&#039;&#039;SLOT 7&#039;&#039;&#039; – 28. June (Tue) – Group 4&lt;br /&gt;
* &#039;&#039;&#039;SLOT 8&#039;&#039;&#039; – 29. June (Wed) – Group 5&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SLOT 9&#039;&#039;&#039; – 30. June (Thu) – Individuals: Di Yang&lt;br /&gt;
* &#039;&#039;&#039;SLOT 10&#039;&#039;&#039; – 01. July (Fri) – Group 2&lt;br /&gt;
* &#039;&#039;&#039;SLOT 11&#039;&#039;&#039; – 02. July (Sat) – Group 6&lt;br /&gt;
* &#039;&#039;&#039;SLOT 12&#039;&#039;&#039; – 03. July (Sun) – Group 7&lt;br /&gt;
&lt;br /&gt;
== Project Groups ==&lt;br /&gt;
&lt;br /&gt;
  NOTE:&lt;br /&gt;
  The person printed in bold face is responsible for the lab, in case anything goes wrong.&lt;br /&gt;
&lt;br /&gt;
* Group 1 – &#039;&#039;&#039;[[GMU:Minecraft_Ecologies|Minecraft Ecologies]] – GMU&#039;&#039;&#039;&lt;br /&gt;
** Preferred Slots: ???&lt;br /&gt;
** &#039;&#039;&#039;Meike Halle&#039;&#039;&#039;&lt;br /&gt;
** Marcel Gohsen&lt;br /&gt;
** Asha Murali&lt;br /&gt;
** Andre Faupel&lt;br /&gt;
* Group 2 – &#039;&#039;&#039;[[Physical Sound Environment]] – GMU&#039;&#039;&#039;&lt;br /&gt;
** Preferred Slots: 10, 11, 12&lt;br /&gt;
** &#039;&#039;&#039;Kan Feng&#039;&#039;&#039; –  Tutorial: [[GMU:Tutorials/Performance_Platform/Capture_with_Processing|Defining Trigger Spaces with Processing]]&lt;br /&gt;
** Shuyan Chen –  Tutorial:[[Custom Setup to track People using a Camera on the Ceiling]]&lt;br /&gt;
** Shih-Li Chao – Tutorial: [[GMU:Tutorials/Performance_Platform/Sound_System_Stereo|Play Stereo on the Sound System]]&lt;br /&gt;
* Group 3 – &#039;&#039;&#039;[[/Multiple Gravity|Multiple Gravity]] – ExpTV&#039;&#039;&#039;&lt;br /&gt;
** Preferred Slots: &#039;&#039;none&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;Benjamin Vossler&#039;&#039;&#039; –  [[GMU:Tutorials/Networking/Controlling_MAX-MSP_with_TheCaptury|Controlling Max MSP with the Captury]]&lt;br /&gt;
** Gianluca Pandolfo –  [[GMU:Tutorials/Networking/Controlling_Unity_with_TheCaptury|Controling Unity with The Captury]]&lt;br /&gt;
* Group 4 – &#039;&#039;&#039;[[/Madre Monte|Madre Monte]] – ExpTV&#039;&#039;&#039;&lt;br /&gt;
** Preferred Slots: 6, 7, 8&lt;br /&gt;
** &#039;&#039;&#039;Emilio Aguas&#039;&#039;&#039; –  Tutorial: [[GMU:Tutorials/Performance Platform/Tracking Platform Export|Using the Multi-Speaker-System]] &lt;br /&gt;
** Fiona Mortimer –  Tutorial Title 2&lt;br /&gt;
** Eduardo Oliviera –  Tutorial Title 3&lt;br /&gt;
* Group 5 – &#039;&#039;&#039;[[/Bounce &amp;amp; Rebound|Bounce &amp;amp; Rebound]] – ExpTV&#039;&#039;&#039;&lt;br /&gt;
** Preferred Slots: 6, 7, 8&lt;br /&gt;
** &#039;&#039;&#039;Jonas Jülch&#039;&#039;&#039; –  Tutorial: [[GMU:Tutorials/Performance_Platform/Tracking_Platform_Rigging|Using Tracking Data in Blender]]&lt;br /&gt;
** Leif Weitzel –  Tutorial Title 2&lt;br /&gt;
* Group 6 – &#039;&#039;&#039;[[/Escape or Kill|Escape or Kill]] – ExpTV&#039;&#039;&#039;&lt;br /&gt;
** Slot: 11&lt;br /&gt;
** &#039;&#039;&#039;Florian Froger&#039;&#039;&#039; –  Tutorial: [[GMU:Tutorials/Performance Platform/Tracking Platform Export|Exporting Tracking Data]] &lt;br /&gt;
* Group 7 – &#039;&#039;&#039;[[/Dependance|Dependance]] – ExpTV&#039;&#039;&#039;&lt;br /&gt;
** Preferred Slots:  2, 3, 10, 11, 12&lt;br /&gt;
** &#039;&#039;&#039;Alicia Kremser&#039;&#039;&#039; –  Tutorial Title 1&lt;br /&gt;
** Tim Vischer&lt;br /&gt;
** Adam Streicher - [[GMU:Tutorials/Networking/Controlling_Unity_with_TheCaptury|Controling Unity with The Captury]]&lt;br /&gt;
* Group 8 – &#039;&#039;&#039;[[/Group dynamics|Group Dyamics]] – ExpTV&#039;&#039;&#039;&lt;br /&gt;
** Preferred Slots:  6&lt;br /&gt;
** &#039;&#039;&#039;Kei Kitamura&#039;&#039;&#039; –  Tutorial Title 1&lt;br /&gt;
* Group 9 – &#039;&#039;&#039;[[/Woll&#039;s World|Woll&#039;s World]] – GMU&#039;&#039;&#039;&lt;br /&gt;
** Preferred Slots: 6, 7, 8, 9, 10&lt;br /&gt;
** &#039;&#039;&#039;Yun Liu&#039;&#039;&#039; - Tutorial: [[GMU:Tutorials/Visual Interaction/Using Unity for simulation|Control 3D knot by the data of position and velocity in real-time]]&lt;br /&gt;
** &#039;&#039;&#039;Xiangzhen Fan&#039;&#039;&#039;[[GMU:Tutorials/Visual Interaction/Using Unity for simulation|Simulating 3D knot in real-time]]&lt;br /&gt;
** &#039;&#039;&#039;Qianqian Li&#039;&#039;&#039;- Tutorial: [[GMU:Tutorials/Performance_Platform/Using the tracking system|Using the Tracking System to Track the position of arthrosis]]&lt;br /&gt;
* Group 10 – &#039;&#039;&#039;[[/Balance|Balance]] – GMU&#039;&#039;&#039;&lt;br /&gt;
** Preferred Slots: 7,8,10,11,12&lt;br /&gt;
** &#039;&#039;&#039;Yuxin Tan&#039;&#039;&#039; - Tutorial: [[GMU:Tutorials/Performance_Platform/Using the tracking system|Using the Tracking System to Track the position of arthrosis in Unity]]&lt;br /&gt;
** &#039;&#039;&#039;Junyuan Wu&#039;&#039;&#039; - Tutorial: [[GMU:Tutorials/Performance_Platform/Using the tracking system|Using the Tracking System to control the movement of the scene in Unity]]&lt;br /&gt;
&lt;br /&gt;
== Individuals ==&lt;br /&gt;
* Jessica Hüttig – Tutorial: [[GMU:Tutorials/Performance Platform/Tracking Platform Calibration|Calibrating the Tracking System]]&lt;br /&gt;
**Preferred slots: 3&lt;br /&gt;
* Di Yang –  Tutorial: [[GMU:Tutorials/Performance Platform/Videowall Calibration|Calibrating the Videowall]]&lt;br /&gt;
** preferred slots: 8, 9, 10&lt;br /&gt;
* Rachel Smith - [[GMU:Tutorials/Performance_Platform/Recognizing_Gestures_with_Wekinator|Recognising Gestures with Wekinator]]&lt;br /&gt;
** Preferred slots: 10, 11, 12&lt;br /&gt;
* Christopher Dake-Outhet – Tutorial: [[GMU:Tutorials/Performance Platform/Tracking Platform Calibration|Recording Tacking Data]]&lt;br /&gt;
** preferred slots: 6, 8, 12&lt;br /&gt;
* Elena Liv Felderer - Tutorial: ...&lt;br /&gt;
** no slots for me&lt;br /&gt;
&lt;br /&gt;
== Highlights ==&lt;br /&gt;
* Student projects from the [[GMU:Spacial_Information_Lab#Participants|Spacial Information Lab]]&lt;br /&gt;
* Tracking 3 dancers for the [https://vimeo.com/156704320 3D-Pitoti project]&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
As part of the [[GMU:Digital_Puppetry_Lab|Introduction to the Lab]] the students will create [[GMU:Tutorials#Performance_Plattform_Tutorials|Online Tutorials]].&amp;lt;br&amp;gt;&lt;br /&gt;
The tutorials will explain how to use the technology available at the Performance Platform.&lt;br /&gt;
&lt;br /&gt;
== Mailing-List ==&lt;br /&gt;
There is an internal mailing list for everyone that has their working space on the DBL groundfloor.&amp;lt;br&amp;gt;&lt;br /&gt;
Please contact [[Martin Schneider]] if you think you should be on that list.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://www.uni-weimar.de/en/media/institutes/digital-bauhaus-lab Digital Bauhaus Lab Website]&lt;br /&gt;
* [[GMU:Nutzungsordnung_IPP|Nutzungsordnung]]&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Digital_Puppetry_Lab/Group_B0XJUMP&amp;diff=83122</id>
		<title>GMU:Digital Puppetry Lab/Group B0XJUMP</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Digital_Puppetry_Lab/Group_B0XJUMP&amp;diff=83122"/>
		<updated>2016-05-31T14:54:20Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: image added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In our little game a boxer fights a &#039;&#039;&#039;battle of life or restart&#039;&#039;&#039; against an army of boxing gloves. To have the ability of jumping and escaping his enemies, he needs your support: Every time you clap our little boxer jumps out of the way!!&lt;br /&gt;
&lt;br /&gt;
== Blender ==&lt;br /&gt;
Models used in Blender:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
image:BlenderB0XJUMP1.png|  &lt;br /&gt;
image:BlenderB0XJUMP2.png| &lt;br /&gt;
image:B0XEN.png|&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Processing ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
image:B0XJUMPpro1.png|  &lt;br /&gt;
image:B0XJUMPpro2.png| &lt;br /&gt;
image:B0XJUMPpro3.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We used the Minim Library in Processing to adapt the sound of clapping through the microphone to send an Osc command, the sketch can be viewed [http://www.openprocessing.org/sketch/373821 here!]&lt;br /&gt;
&lt;br /&gt;
== Unity ==&lt;br /&gt;
&lt;br /&gt;
We set up a Unity script which can receive Osc commands from Processing and translates the messages into a jump movement. The Unity can be found [https://www.uni-weimar.de/medien/wiki/Unitycode here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
image:Screen_Shot_2016-05-31_at_16.24.16.png|  &lt;br /&gt;
image:Screen_Shot_2016-05-31_at_16.24.33.png| &lt;br /&gt;
image:Screen_Shot_2016-05-31_at_16.24.48.png&lt;br /&gt;
image:Screen_Shot_2016-05-31_at_16.25.02.png| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
[[File:Screen_Shot_2016-05-31_at_16.35.48.png]]&lt;br /&gt;
&lt;br /&gt;
Here you can see our final setup, the model of the Boxer was not used in the presentation, because we did not model it ourselves. You can see a short video demonstration of the game [https://www.youtube.com/watch?v=jq1TrQtQsmU&amp;amp;feature=youtu.be here]!&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:B0XEN.png&amp;diff=83121</id>
		<title>File:B0XEN.png</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:B0XEN.png&amp;diff=83121"/>
		<updated>2016-05-31T14:53:38Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Digital_Puppetry_Lab/Group_B0XJUMP&amp;diff=83115</id>
		<title>GMU:Digital Puppetry Lab/Group B0XJUMP</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Digital_Puppetry_Lab/Group_B0XJUMP&amp;diff=83115"/>
		<updated>2016-05-31T14:50:38Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: Text editing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In our little game a boxer fights a &#039;&#039;&#039;battle of life or restart&#039;&#039;&#039; against an army of boxing gloves. To have the ability of jumping and escaping his enemies, he needs your support: Every time you clap our little boxer jumps out of the way!!&lt;br /&gt;
&lt;br /&gt;
== Blender ==&lt;br /&gt;
Models used in Blender:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
image:BlenderB0XJUMP1.png|  &lt;br /&gt;
image:BlenderB0XJUMP2.png| &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Processing ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
image:B0XJUMPpro1.png|  &lt;br /&gt;
image:B0XJUMPpro2.png| &lt;br /&gt;
image:B0XJUMPpro3.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We used the Minim Library in Processing to adapt the sound of clapping through the microphone to send an Osc command, the sketch can be viewed [http://www.openprocessing.org/sketch/373821 here!]&lt;br /&gt;
&lt;br /&gt;
== Unity ==&lt;br /&gt;
&lt;br /&gt;
We set up a Unity script which can receive Osc commands from Processing and translates the messages into a jump movement. The Unity can be found [https://www.uni-weimar.de/medien/wiki/Unitycode here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
image:Screen_Shot_2016-05-31_at_16.24.16.png|  &lt;br /&gt;
image:Screen_Shot_2016-05-31_at_16.24.33.png| &lt;br /&gt;
image:Screen_Shot_2016-05-31_at_16.24.48.png&lt;br /&gt;
image:Screen_Shot_2016-05-31_at_16.25.02.png| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
[[File:Screen_Shot_2016-05-31_at_16.35.48.png]]&lt;br /&gt;
&lt;br /&gt;
Here you can see our final setup, the model of the Boxer was not used in the presentation, because we did not model it ourselves. You can see a short video demonstration of the game [https://www.youtube.com/watch?v=jq1TrQtQsmU&amp;amp;feature=youtu.be here]!&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Digital_Puppetry_Lab/Group_B0XJUMP&amp;diff=83099</id>
		<title>GMU:Digital Puppetry Lab/Group B0XJUMP</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Digital_Puppetry_Lab/Group_B0XJUMP&amp;diff=83099"/>
		<updated>2016-05-31T14:37:00Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: everything&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In our little game a boxer fights a &#039;&#039;&#039;battle of life or restart&#039;&#039;&#039; against an army of boxing gloves. To have the ability of jumping and escaping his enemies, he needs your support: Every time you clap our little boxer jumps out of the way!!&lt;br /&gt;
&lt;br /&gt;
== Blender ==&lt;br /&gt;
Models used in Blender:&lt;br /&gt;
&lt;br /&gt;
[[File:BlenderB0XJUMP1.png]]&lt;br /&gt;
[[File:BlenderB0XJUMP2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Processing ==&lt;br /&gt;
&lt;br /&gt;
[[File:B0XJUMPpro1.png]]&lt;br /&gt;
[[File:B0XJUMPpro2.png]]&lt;br /&gt;
[[File:B0XJUMPpro3.png]]&lt;br /&gt;
&lt;br /&gt;
We used the Minim Library in Processing to adapt the sound of clapping through the microphone to send a Osc command, the sketch can be viewed [http://www.openprocessing.org/sketch/373821 here!]&lt;br /&gt;
&lt;br /&gt;
== Unity ==&lt;br /&gt;
&lt;br /&gt;
[https://www.uni-weimar.de/medien/wiki/Unitycode Unity Code]&lt;br /&gt;
&lt;br /&gt;
[[File:FILE:SCREEN SHOT 2016-05-31 AT 16.24.16.PNG]]&lt;br /&gt;
[[File:Screen_Shot_2016-05-31_at_16.24.33.png]]&lt;br /&gt;
[[File:Screen_Shot_2016-05-31_at_16.24.48.png]]&lt;br /&gt;
[[File:Screen_Shot_2016-05-31_at_16.25.02.png]]&lt;br /&gt;
[[File:Screen_Shot_2016-05-31_at_16.35.48.png]]&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:BlenderB0XJUMP2.png&amp;diff=83095</id>
		<title>File:BlenderB0XJUMP2.png</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:BlenderB0XJUMP2.png&amp;diff=83095"/>
		<updated>2016-05-31T14:34:38Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:BlenderB0XJUMP1.png&amp;diff=83093</id>
		<title>File:BlenderB0XJUMP1.png</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:BlenderB0XJUMP1.png&amp;diff=83093"/>
		<updated>2016-05-31T14:34:07Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:B0XJUMPblender1.jpg&amp;diff=83090</id>
		<title>File:B0XJUMPblender1.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:B0XJUMPblender1.jpg&amp;diff=83090"/>
		<updated>2016-05-31T14:32:28Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:B0XJUMPpro3.png&amp;diff=83086</id>
		<title>File:B0XJUMPpro3.png</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:B0XJUMPpro3.png&amp;diff=83086"/>
		<updated>2016-05-31T14:28:35Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:B0XJUMPpro2.png&amp;diff=83084</id>
		<title>File:B0XJUMPpro2.png</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:B0XJUMPpro2.png&amp;diff=83084"/>
		<updated>2016-05-31T14:28:04Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:B0XJUMPpro1.png&amp;diff=83083</id>
		<title>File:B0XJUMPpro1.png</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:B0XJUMPpro1.png&amp;diff=83083"/>
		<updated>2016-05-31T14:27:21Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:ProcessingB0XER1.png&amp;diff=83079</id>
		<title>File:ProcessingB0XER1.png</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:ProcessingB0XER1.png&amp;diff=83079"/>
		<updated>2016-05-31T14:23:15Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Digital_Puppetry_Lab/Group_B0XJUMP&amp;diff=83020</id>
		<title>GMU:Digital Puppetry Lab/Group B0XJUMP</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Digital_Puppetry_Lab/Group_B0XJUMP&amp;diff=83020"/>
		<updated>2016-05-31T13:16:22Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In our little game a boxer fights a &#039;&#039;&#039;battle of life or restart&#039;&#039;&#039; against an army of boxing gloves. To have the ability of jumping and escaping his enemies, he needs your support: Every time you clap our little boxer jumps out of the way!!&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Digital_Puppetry_Lab/Group_B0XJUMP&amp;diff=83008</id>
		<title>GMU:Digital Puppetry Lab/Group B0XJUMP</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Digital_Puppetry_Lab/Group_B0XJUMP&amp;diff=83008"/>
		<updated>2016-05-31T13:12:12Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: game description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In our little game a boxer fight a battle of life or restart against an army of boxing gloves. To have the ability of jumping and escaping his enemies, he needs your support: Every time you clap our little boxer jumps out of the way!!&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Digital_Puppetry_Lab&amp;diff=82994</id>
		<title>GMU:Digital Puppetry Lab</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Digital_Puppetry_Lab&amp;diff=82994"/>
		<updated>2016-05-31T13:09:09Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: /* OSC Projects */ add group B0XJUMP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Digital-puppetry.png|thumb|left|200px|&#039;&#039;Chinese Shadows&#039;&#039; by Ferdinand du Puigaudeau]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital Puppetry Lab&#039;&#039;&#039; — Introduction to the &#039;&#039;Interactive Performance Platform&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[:Category:Werkmodul|Werkmodul]]/[[:Category:Fachmodul|Fachmodul]]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Lecturer:&#039;&#039; [[Martin Schneider]]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Credits:&#039;&#039; 6 [[ECTS]], 4 [[SWS]]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Date:&#039;&#039; Tuesday 19:00 - 20:30 (weekly) + Wednesday 17:00 - 20:30 (biweekly) &amp;lt;br&amp;gt; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&#039;&#039;&#039;Blockmodul (15. - 17. April)&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Venue:&#039;&#039; [[Performance Platform]], Digital Bauhaus Lab&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;First meeting:&#039;&#039;&#039; TUESDAY, 12. April, 19:00h&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This is a hands on course that is required for project modules by GMU and EXPTV.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tutoriums ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Note: this plan may be subject to changes.&lt;br /&gt;
  Please follow the mailing list for updates.&lt;br /&gt;
&lt;br /&gt;
The tutoriums are split into two groups.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;They take place on Tuesday at 19:00 and every other Wednesday at 17:00.&#039;&#039;&#039;&lt;br /&gt;
=== April ===&lt;br /&gt;
* 19. April, Tue, 19:00 (Su, Max): Learning Blender&lt;br /&gt;
* 20. April, Wed, 17:00(Su, Max): Learning Blender&lt;br /&gt;
* 26. April, Tue, 19:00(Luca, Ben): Learning Blender&lt;br /&gt;
&lt;br /&gt;
=== May ===&lt;br /&gt;
* 03. May, Tue, 19:00 (Luca, Su): Learn how to get a simple Blender model into Unity &lt;br /&gt;
* 04. May, Wed, 17:00 (Martin, Luca, Su): Learn how to use OSC to connect Iannix and Unity&lt;br /&gt;
* 10. May, Tue, 19:00 (Martin, Luca, Ben): Introduction to MAX MSP + Connecting Iannix to MAX MSP&lt;br /&gt;
* 17. May, Tue, 19:00 &lt;br /&gt;
* 18. May, Wed, 17:00 &lt;br /&gt;
* 24. May, Tue, 19:00 &lt;br /&gt;
* 31. May, Tue, 19:00 &lt;br /&gt;
&lt;br /&gt;
=== June ===&lt;br /&gt;
* 01. June, Wed, 17:00 &lt;br /&gt;
* 07. June, Tue, 19:00&lt;br /&gt;
* 14. June, Tue, 19:00 &lt;br /&gt;
* 15. June, Wed, 17:00&lt;br /&gt;
* 21. June, Tue, 19:00&lt;br /&gt;
* 28. June, Tue, 19:00&lt;br /&gt;
* 29. June, Wed, 17:00&lt;br /&gt;
&lt;br /&gt;
=== July ===&lt;br /&gt;
* 05. July, Tue, 19:00 &lt;br /&gt;
* 12. July, Tue, 19:00 &lt;br /&gt;
* 13. July, Wed, 17:00 &lt;br /&gt;
&lt;br /&gt;
== Weekend Workshop ==&lt;br /&gt;
&lt;br /&gt;
=== Be Prepared ===&lt;br /&gt;
&lt;br /&gt;
Please make sure to install the software on your laptops at home. &amp;lt;br&amp;gt;&lt;br /&gt;
We will start using it right away and have no time for installation during the course.&lt;br /&gt;
&lt;br /&gt;
* [https://www.blender.org/download/ Blender]&lt;br /&gt;
* [https://unity3d.com/get-unity/download?ref=personal Unity]&lt;br /&gt;
* [http://www.iannix.org/en/download-iannix/ Iannix]&lt;br /&gt;
* [https://processing.org/download/?processing Processing] (Version 3.0.2)&lt;br /&gt;
* [https://puredata.info/downloads/pd-extended/releases/0.43.4 Pure Data Extended] (0.43.4)&lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/playlist?list=PL12DC9A161D8DC5DC Pure Data Video Tutorial]&lt;br /&gt;
&lt;br /&gt;
=== Schedule ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | FRIDAY&lt;br /&gt;
|-&lt;br /&gt;
!11:00 - 11:45&lt;br /&gt;
|Intro to the Wiki&lt;br /&gt;
|Martin&lt;br /&gt;
|-&lt;br /&gt;
!11:45 - 12:30&lt;br /&gt;
| Intro to OSC, Iannix and Processing&lt;br /&gt;
| Martin&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align:center&amp;quot;| &#039;&#039;Lunch Break&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!13:30 - 14:15&lt;br /&gt;
| Intro to MAX-MSP + Puredata&lt;br /&gt;
| Martin, Benjamin&lt;br /&gt;
|-&lt;br /&gt;
!14:15 - 15:00&lt;br /&gt;
| Intro to Blender + Unity&lt;br /&gt;
| Luca, Miga&lt;br /&gt;
|-&lt;br /&gt;
!15:15 - 16:00&lt;br /&gt;
| Intro to Unity I&lt;br /&gt;
| Luca&lt;br /&gt;
|-&lt;br /&gt;
!16:00 - 16:45&lt;br /&gt;
| Intro to Unity II&lt;br /&gt;
| Luca&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | SATURDAY&lt;br /&gt;
|-&lt;br /&gt;
! 10:00 - 12:30 &lt;br /&gt;
| Hands-On Blender&lt;br /&gt;
| Su Li, Benjamin &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align:center&amp;quot;| &#039;&#039;Lunch Break&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! 13:30 - 16:00&lt;br /&gt;
| Hands-On Blender&lt;br /&gt;
| Su Li, Benjamin&lt;br /&gt;
|-&lt;br /&gt;
! 16:00 - 18:30&lt;br /&gt;
| Hands-On Blender&lt;br /&gt;
| Su Li, Benjamin&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | SUNDAY&lt;br /&gt;
|-&lt;br /&gt;
!10:00 - 12:30 &lt;br /&gt;
| Hands-On Blender&lt;br /&gt;
| Su Li, Max&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align:center&amp;quot;| &#039;&#039;Lunch Break&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!13:30 - 16:00&lt;br /&gt;
| Hands-On Blender&lt;br /&gt;
| Su Li, Max&lt;br /&gt;
|- &lt;br /&gt;
!16:00 - 16:45&lt;br /&gt;
| Demo in the DBL&lt;br /&gt;
| Martin, Luca&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
Das Modul vermittelt die nötigen Grundkenntinisse um interaktive Performances mit Hilfe der Performance-Plattform des Digital Bauhaus Labs zu erstellen.&lt;br /&gt;
&lt;br /&gt;
Nach einem einführende Blockmodul (15. - 17. April)  geht es im Rahmen der wöchentlichen Veranstaltung um den praktischen Umgang mit den entsprechenden Software-Werkzeugen und Programmier-Umgebungen.&lt;br /&gt;
&lt;br /&gt;
Am Ende des Moduls sollen die Studierenden in der Lage sein, eigene Setups zu erstellen, die aus menschliche Bewegung, Interaktion, und Tanz immersive visuelle und akkustische Umgebungen erzeugen.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
This course will teach you basic skills required to create interactive performances, using the Peformance Platform of the Digital Bauhaus Lab.&lt;br /&gt;
&lt;br /&gt;
By the end of the course you will be able to create your own immersive setup for generating live audio and visuals from human motion, interaction and dance.&lt;br /&gt;
&lt;br /&gt;
== Language ==&lt;br /&gt;
&lt;br /&gt;
The course is in English, because not all participants are speaking German.&lt;br /&gt;
&lt;br /&gt;
== Eligible Participants ==&lt;br /&gt;
&lt;br /&gt;
Undergraduates and graduates enrolled in the faculties of:&lt;br /&gt;
&lt;br /&gt;
* Media Art + Design &lt;br /&gt;
* Media Architecture&lt;br /&gt;
* Visual Communication&lt;br /&gt;
* Product Design&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
* [[/Jasmine|Jing Zhao]]&lt;br /&gt;
* [[/Jack|Jixiang JIANG]]&lt;br /&gt;
* [[/Martin Schneider|Martin Schneider]]&lt;br /&gt;
* [[/Fiona Mortimer|Fiona M]]&lt;br /&gt;
* [[//Emilio Aguas|&#039;&#039;Emilio Aguas&#039;&#039;]]&lt;br /&gt;
* [[/Jessica Hüttig|Jessica Hüttig]]&lt;br /&gt;
* [[/Kan Feng|Kan Feng]]&lt;br /&gt;
* [[/Priyanka Srinivasagopalan|Priyanka Srinivasagopalan]]&lt;br /&gt;
* [[/Tim Vischer|Tim Vischer]]&lt;br /&gt;
* [[/Rachel Smith|Rachel Smith]]&lt;br /&gt;
* [[/Taissa Fromme|Taissa Fromme]]&lt;br /&gt;
*[[/FANXZ|Xiangzhen Fan]]&lt;br /&gt;
* [[/Minsoo Hwang|Minsoo Hwang]]&lt;br /&gt;
* [[/Di Yang|Di Yang]]&lt;br /&gt;
* [[/elenaliv|Elena Liv Felderer]]&lt;br /&gt;
* [[/Kei Kitamura|Kei Kitamura]]&lt;br /&gt;
*[[/Qianqian Li|Qianqian Li]]&lt;br /&gt;
* [[/Yun Liu|Yun Liu]]&lt;br /&gt;
* [[/Logic|Ji Luo]]&lt;br /&gt;
* [[/Florian Froger|Florian Froger]]&lt;br /&gt;
* [[/Anna Hack|Anna Hack]]&lt;br /&gt;
* [[/Shubhra Bhatt | Shubhra Bhatt]]&lt;br /&gt;
* [[/Jane doe|Jane doe]]&lt;br /&gt;
* [[/Seb|Sebastian Richter]]&lt;br /&gt;
* [[/Rama Bielewski|Rama Bielewski]]&lt;br /&gt;
* [[/Edu_Oliveira| Eduardo Oliviera]]&lt;br /&gt;
* [[/Shih Li Chao|Shih Li C]]&lt;br /&gt;
* [[/Shuyan|Shuyan Chen]]&lt;br /&gt;
* [[/Junyuan WU|Junyuan WU]]&lt;br /&gt;
* [[/Christopher Dake-Outhet|Christopher Dake-Outhet]]&lt;br /&gt;
* [[/Leif Weitzel|Leif Weitzel]]&lt;br /&gt;
* [[/Alicia Kremser|Alicia Kremser]]&lt;br /&gt;
&lt;br /&gt;
== OSC Projects ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/bitcraftlab/digital-puppetry-lab OSC-Example Code] &lt;br /&gt;
&lt;br /&gt;
Add your projects here:&lt;br /&gt;
&lt;br /&gt;
* [[/Group Ben &amp;amp; Luca|Ben &amp;amp; Luca]]&lt;br /&gt;
* [[/Group A Midsummer Night&#039;s Dream|Yun &amp;amp; Qianqian &amp;amp; Xiangzhen &amp;amp; Junyuan &amp;amp; Yuxin]]&lt;br /&gt;
* [[/Group Play with rhythms |Di Yang &amp;amp; Jixiang Jiang &amp;amp; Kan Feng &amp;amp; Shuyan Chen]]&lt;br /&gt;
* [[/Group Shih Li &amp;amp; Sebastian &amp;amp; Adam &amp;amp; Jessica|Shih Li &amp;amp; Sebastian &amp;amp; Adam &amp;amp; Jessica]]&lt;br /&gt;
* [[/Group B0XJUMP |Alicia/Tim/Elena/Chris]]&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
&lt;br /&gt;
  Please add your tutorials below&lt;br /&gt;
&lt;br /&gt;
* [https://www.uni-weimar.de/medien/wiki/GMU:Tutorials/Networking/Controlling_Unity_with_IanniX Controlling Unity with Iannix] (Martin Schneider)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All tutorials developed at the GMU can be found [[GMU:Tutorials here]]&lt;br /&gt;
&lt;br /&gt;
  OSC Example in Max/Msp:&lt;br /&gt;
  https://www.dropbox.com/sh/czkyhsz57fokqdm/AADDMv23wN4Zs0GVXSn69Z-ja?dl=0&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Applications from students that have signed up for the project modules at GMU or EXPTV, will be favoured, because this course is a requirement for those modules.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To:&#039;&#039;&#039; [[User:ms|Martin Schneider]]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Subject:&#039;&#039;&#039; Digital Puppetry Lab /// Application&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Content:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* Name, Surname&lt;br /&gt;
* program and semester (Studienprogramm und Fachsemester)&lt;br /&gt;
* matriculation number (Matrikelnummer)&lt;br /&gt;
* Valid email address @uni-weimar.de &lt;br /&gt;
* Your project module&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
* First Meeting 12. April (Tuesday)&lt;br /&gt;
* Block-Weekend 15. - 17. April&lt;br /&gt;
&lt;br /&gt;
The syallbus includes:&lt;br /&gt;
* Introduction to the Tracking System&lt;br /&gt;
* Basics of Networking with OSC&lt;br /&gt;
* Basics of 3D-Modelling and Rigging&lt;br /&gt;
* Programming Interactive 3D Graphics&lt;br /&gt;
* Programming interactive Sound in Space&lt;br /&gt;
&lt;br /&gt;
== Evaluation ==&lt;br /&gt;
* 20% Presence and active participation&lt;br /&gt;
* 50% Creation of an interactive setup (documented in the form of a tutorial)&lt;br /&gt;
* 30% Documentation on the wiki&lt;br /&gt;
&lt;br /&gt;
== Books ==&lt;br /&gt;
&#039;&#039;to be done&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [[www.thecaptury.com|The Captury]]&lt;br /&gt;
* [[www.blender.org|Blender]] (3D Modelling)&lt;br /&gt;
* [[www.unity3d.com|Unity]] (3D Game Engine)&lt;br /&gt;
* [[www.iannix.org|Iannix]] (Visual Synthesizer for OSC)&lt;br /&gt;
* [[www.sojamo.de/libraries/oscP5/|OSC for Processing]]&lt;br /&gt;
* [[trippylighting.com/teensy-arduino-ect/touchosc-and-arduino-oscuino|TouchOSC + OSCuino]]&lt;br /&gt;
* [[Pure Data]]&lt;br /&gt;
* [[Max MSP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:SS16]]&lt;br /&gt;
[[Category:Werkmodul]]&lt;br /&gt;
[[Category:Fachmodul]]&lt;br /&gt;
[[Category:Martin Schneider]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tracking]]&lt;br /&gt;
[[Category:OSC]]&lt;br /&gt;
[[Category:Blender]]&lt;br /&gt;
[[Category:Dataflow]]&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Digital_Puppetry_Lab&amp;diff=81220</id>
		<title>GMU:Digital Puppetry Lab</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Digital_Puppetry_Lab&amp;diff=81220"/>
		<updated>2016-04-15T20:04:23Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: /* Participants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Digital-puppetry.png|thumb|left|200px|&#039;&#039;Chinese Shadows&#039;&#039; by Ferdinand du Puigaudeau]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital Puppetry Lab&#039;&#039;&#039; — Introduction to the &#039;&#039;Interactive Performance Platform&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[:Category:Werkmodul|Werkmodul]]/[[:Category:Fachmodul|Fachmodul]]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Lecturer:&#039;&#039; [[Martin Schneider]]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Credits:&#039;&#039; 6 [[ECTS]], 4 [[SWS]]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Date:&#039;&#039; Tuesday 19:00 - 20:30 (weekly) + Wednesday 17:00 - 20:30 (biweekly) &amp;lt;br&amp;gt; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&#039;&#039;&#039;Blockmodul (15. - 17. April)&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Venue:&#039;&#039; [[Performance Platform]], Digital Bauhaus Lab&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;First meeting:&#039;&#039;&#039; TUESDAY, 12. April, 19:00h&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This is a hands on course that is required for project modules by GMU and EXPTV.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
  Note:&lt;br /&gt;
  &#039;&#039;&#039;Application is now closed.&#039;&#039;&#039;&lt;br /&gt;
  &#039;&#039;&#039;All applicants are invited to the Kickoff meeting at the DBL is on TUESDAY, 19:00h.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Weekend Workshop ==&lt;br /&gt;
&lt;br /&gt;
=== Be Prepared ===&lt;br /&gt;
&lt;br /&gt;
Please make sure to install the software on your laptops at home. &amp;lt;br&amp;gt;&lt;br /&gt;
We will start using it right away and have no time for installation during the course.&lt;br /&gt;
&lt;br /&gt;
* [https://www.blender.org/download/ Blender]&lt;br /&gt;
* [https://unity3d.com/get-unity/download?ref=personal Unity]&lt;br /&gt;
* [http://www.iannix.org/en/download-iannix/ Iannix]&lt;br /&gt;
* [https://processing.org/download/?processing Processing] (Version 3.0.2)&lt;br /&gt;
* [https://puredata.info/downloads/pd-extended/releases/0.43.4 Pure Data Extended] (0.43.4)&lt;br /&gt;
&lt;br /&gt;
=== Schedule ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | FRIDAY&lt;br /&gt;
|-&lt;br /&gt;
!11:00 - 11:45&lt;br /&gt;
|Intro to the Wiki&lt;br /&gt;
|Martin&lt;br /&gt;
|-&lt;br /&gt;
!11:45 - 12:30&lt;br /&gt;
| Intro to OSC, Iannix and Processing&lt;br /&gt;
| Martin&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align:center&amp;quot;| &#039;&#039;Lunch Break&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!13:30 - 14:15&lt;br /&gt;
| Intro to MAX-MSP + Puredata&lt;br /&gt;
| Martin, Benjamin&lt;br /&gt;
|-&lt;br /&gt;
!14:15 - 15:00&lt;br /&gt;
| Intro to Blender + Unity&lt;br /&gt;
| Luca, Miga&lt;br /&gt;
|-&lt;br /&gt;
!15:15 - 16:00&lt;br /&gt;
| Intro to Unity I&lt;br /&gt;
| Luca&lt;br /&gt;
|-&lt;br /&gt;
!16:00 - 16:45&lt;br /&gt;
| Intro to Unity II&lt;br /&gt;
| Luca&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | SATURDAY&lt;br /&gt;
|-&lt;br /&gt;
! 10:00 - 12:30 &lt;br /&gt;
| Hands-On Blender&lt;br /&gt;
| Su-Li, Benjamin, Stephan, Luca &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align:center&amp;quot;| &#039;&#039;Lunch Break&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! 13:30 - 16:00&lt;br /&gt;
| Hands-On Blender&lt;br /&gt;
| Su-Li, Benjamin, Stephan, Luca &lt;br /&gt;
|-&lt;br /&gt;
! 16:00 - 18:30&lt;br /&gt;
| Hands-On Blender&lt;br /&gt;
| Su-Li, Benjamin, Stephan, Luca &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | SUNDAY&lt;br /&gt;
|-&lt;br /&gt;
!10:00 - 12:30 &lt;br /&gt;
| Hands-On Blender&lt;br /&gt;
| Su-Li, Stephan, Luca + X&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align:center&amp;quot;| &#039;&#039;Lunch Break&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!13:30 - 16:00&lt;br /&gt;
| Hands-On Blender&lt;br /&gt;
| Su-Li, Stephan, Luca + X&lt;br /&gt;
|- &lt;br /&gt;
!16:00 - 16:45&lt;br /&gt;
| Demo in the DBL&lt;br /&gt;
| Martin, Luca&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
Das Modul vermittelt die nötigen Grundkenntinisse um interaktive Performances mit Hilfe der Performance-Plattform des Digital Bauhaus Labs zu erstellen.&lt;br /&gt;
&lt;br /&gt;
Nach einem einführende Blockmodul (15. - 17. April)  geht es im Rahmen der wöchentlichen Veranstaltung um den praktischen Umgang mit den entsprechenden Software-Werkzeugen und Programmier-Umgebungen.&lt;br /&gt;
&lt;br /&gt;
Am Ende des Moduls sollen die Studierenden in der Lage sein, eigene Setups zu erstellen, die aus menschliche Bewegung, Interaktion, und Tanz immersive visuelle und akkustische Umgebungen erzeugen.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
This course will teach you basic skills required to create interactive performances, using the Peformance Platform of the Digital Bauhaus Lab.&lt;br /&gt;
&lt;br /&gt;
By the end of the course you will be able to create your own immersive setup for generating live audio and visuals from human motion, interaction and dance.&lt;br /&gt;
&lt;br /&gt;
== Language ==&lt;br /&gt;
&lt;br /&gt;
The course is in English, because not all participants are speaking German.&lt;br /&gt;
&lt;br /&gt;
== Eligible Participants ==&lt;br /&gt;
&lt;br /&gt;
Undergraduates and graduates enrolled in the faculties of:&lt;br /&gt;
&lt;br /&gt;
* Media Art + Design &lt;br /&gt;
* Media Architecture&lt;br /&gt;
* Visual Communication&lt;br /&gt;
* Product Design&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
* [[/Jasmine|Jing Zhao]]&lt;br /&gt;
* [[/Jack|Jixiang JIANG]]&lt;br /&gt;
* [[/Martin Schneider|Martin Schneider]]&lt;br /&gt;
* [[/Fiona Mortimer|Fiona M]]&lt;br /&gt;
* [[//Emilio Aguas|&#039;&#039;Emilio Aguas&#039;&#039;]]&lt;br /&gt;
* [[/Jessica Hüttig|Jessica Hüttig]]&lt;br /&gt;
* [[/Kan Feng|Kan Feng]]&lt;br /&gt;
* [[/Priyanka Srinivasagopalan|Priyanka Srinivasagopalan]]&lt;br /&gt;
* [[/Tim Vischer|Tim Vischer]]&lt;br /&gt;
* [[/Rachel Smith|Rachel Smith]]&lt;br /&gt;
* [[/Taissa Fromme|Taissa Fromme]]&lt;br /&gt;
*[[/FANXZ|Xiangzhen Fan]]&lt;br /&gt;
* [[/Minsoo Hwang|Minsoo Hwang]]&lt;br /&gt;
* [[/Di Yang|Di Yang]]&lt;br /&gt;
* [[/elenaliv|Elena Liv Felderer]]&lt;br /&gt;
* [[/Kei Kitamura|Kei Kitamura]]&lt;br /&gt;
*[[/Qianqian Li|Qianqian Li]]&lt;br /&gt;
* [[/Yun Liu|Yun Liu]]&lt;br /&gt;
* [[/Logic|Ji Luo]]&lt;br /&gt;
* [[/Florian Froger|Florian Froger]]&lt;br /&gt;
* [[/Anna Hack|Anna Hack]]&lt;br /&gt;
* [[/Shubhra Bhatt | Shubhra Bhatt]]&lt;br /&gt;
* [[/Jane doe|Jane doe]]&lt;br /&gt;
* [[/Seb|Sebastian Richter]]&lt;br /&gt;
* [[/Rama Bielewski|Rama Bielewski]]&lt;br /&gt;
* [[/Edu_Oliveira| Eduardo Oliviera]]&lt;br /&gt;
* [[/Shih Li Chao|Shih Li C]]&lt;br /&gt;
* [[/Shuyan|Shuyan Chen]]&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Applications from students that have signed up for the project modules at GMU or EXPTV, will be favoured, because this course is a requirement for those modules.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To:&#039;&#039;&#039; [[User:ms|Martin Schneider]]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Subject:&#039;&#039;&#039; Digital Puppetry Lab /// Application&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Content:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* Name, Surname&lt;br /&gt;
* program and semester (Studienprogramm und Fachsemester)&lt;br /&gt;
* matriculation number (Matrikelnummer)&lt;br /&gt;
* Valid email address @uni-weimar.de &lt;br /&gt;
* Your project module&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
* First Meeting 12. April (Tuesday)&lt;br /&gt;
* Block-Weekend 15. - 17. April&lt;br /&gt;
&lt;br /&gt;
The syallbus includes:&lt;br /&gt;
* Introduction to the Tracking System&lt;br /&gt;
* Basics of Networking with OSC&lt;br /&gt;
* Basics of 3D-Modelling and Rigging&lt;br /&gt;
* Programming Interactive 3D Graphics&lt;br /&gt;
* Programming interactive Sound in Space&lt;br /&gt;
&lt;br /&gt;
== Evaluation ==&lt;br /&gt;
* 20% Presence and active participation&lt;br /&gt;
* 50% Creation of an interactive setup&lt;br /&gt;
* 30% Documentation on the wiki&lt;br /&gt;
&lt;br /&gt;
== Books ==&lt;br /&gt;
&#039;&#039;to be done&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [[www.thecaptury.com|The Captury]]&lt;br /&gt;
* [[www.blender.org|Blender]] (3D Modelling)&lt;br /&gt;
* [[www.unity3d.com|Unity]] (3D Game Engine)&lt;br /&gt;
* [[www.iannix.org|Iannix]] (Visual Synthesizer for OSC)&lt;br /&gt;
* [[www.sojamo.de/libraries/oscP5/|OSC for Processing]]&lt;br /&gt;
* [[trippylighting.com/teensy-arduino-ect/touchosc-and-arduino-oscuino|TouchOSC + OSCuino]]&lt;br /&gt;
* [[Pure Data]]&lt;br /&gt;
* [[Max MSP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:SS16]]&lt;br /&gt;
[[Category:Werkmodul]]&lt;br /&gt;
[[Category:Fachmodul]]&lt;br /&gt;
[[Category:Martin Schneider]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tracking]]&lt;br /&gt;
[[Category:OSC]]&lt;br /&gt;
[[Category:Blender]]&lt;br /&gt;
[[Category:Dataflow]]&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Digital_Puppetry_Lab&amp;diff=81219</id>
		<title>GMU:Digital Puppetry Lab</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Digital_Puppetry_Lab&amp;diff=81219"/>
		<updated>2016-04-15T20:04:02Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: /* Participants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Digital-puppetry.png|thumb|left|200px|&#039;&#039;Chinese Shadows&#039;&#039; by Ferdinand du Puigaudeau]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital Puppetry Lab&#039;&#039;&#039; — Introduction to the &#039;&#039;Interactive Performance Platform&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[:Category:Werkmodul|Werkmodul]]/[[:Category:Fachmodul|Fachmodul]]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Lecturer:&#039;&#039; [[Martin Schneider]]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Credits:&#039;&#039; 6 [[ECTS]], 4 [[SWS]]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Date:&#039;&#039; Tuesday 19:00 - 20:30 (weekly) + Wednesday 17:00 - 20:30 (biweekly) &amp;lt;br&amp;gt; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&#039;&#039;&#039;Blockmodul (15. - 17. April)&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Venue:&#039;&#039; [[Performance Platform]], Digital Bauhaus Lab&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;First meeting:&#039;&#039;&#039; TUESDAY, 12. April, 19:00h&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This is a hands on course that is required for project modules by GMU and EXPTV.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
  Note:&lt;br /&gt;
  &#039;&#039;&#039;Application is now closed.&#039;&#039;&#039;&lt;br /&gt;
  &#039;&#039;&#039;All applicants are invited to the Kickoff meeting at the DBL is on TUESDAY, 19:00h.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Weekend Workshop ==&lt;br /&gt;
&lt;br /&gt;
=== Be Prepared ===&lt;br /&gt;
&lt;br /&gt;
Please make sure to install the software on your laptops at home. &amp;lt;br&amp;gt;&lt;br /&gt;
We will start using it right away and have no time for installation during the course.&lt;br /&gt;
&lt;br /&gt;
* [https://www.blender.org/download/ Blender]&lt;br /&gt;
* [https://unity3d.com/get-unity/download?ref=personal Unity]&lt;br /&gt;
* [http://www.iannix.org/en/download-iannix/ Iannix]&lt;br /&gt;
* [https://processing.org/download/?processing Processing] (Version 3.0.2)&lt;br /&gt;
* [https://puredata.info/downloads/pd-extended/releases/0.43.4 Pure Data Extended] (0.43.4)&lt;br /&gt;
&lt;br /&gt;
=== Schedule ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | FRIDAY&lt;br /&gt;
|-&lt;br /&gt;
!11:00 - 11:45&lt;br /&gt;
|Intro to the Wiki&lt;br /&gt;
|Martin&lt;br /&gt;
|-&lt;br /&gt;
!11:45 - 12:30&lt;br /&gt;
| Intro to OSC, Iannix and Processing&lt;br /&gt;
| Martin&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align:center&amp;quot;| &#039;&#039;Lunch Break&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!13:30 - 14:15&lt;br /&gt;
| Intro to MAX-MSP + Puredata&lt;br /&gt;
| Martin, Benjamin&lt;br /&gt;
|-&lt;br /&gt;
!14:15 - 15:00&lt;br /&gt;
| Intro to Blender + Unity&lt;br /&gt;
| Luca, Miga&lt;br /&gt;
|-&lt;br /&gt;
!15:15 - 16:00&lt;br /&gt;
| Intro to Unity I&lt;br /&gt;
| Luca&lt;br /&gt;
|-&lt;br /&gt;
!16:00 - 16:45&lt;br /&gt;
| Intro to Unity II&lt;br /&gt;
| Luca&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | SATURDAY&lt;br /&gt;
|-&lt;br /&gt;
! 10:00 - 12:30 &lt;br /&gt;
| Hands-On Blender&lt;br /&gt;
| Su-Li, Benjamin, Stephan, Luca &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align:center&amp;quot;| &#039;&#039;Lunch Break&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! 13:30 - 16:00&lt;br /&gt;
| Hands-On Blender&lt;br /&gt;
| Su-Li, Benjamin, Stephan, Luca &lt;br /&gt;
|-&lt;br /&gt;
! 16:00 - 18:30&lt;br /&gt;
| Hands-On Blender&lt;br /&gt;
| Su-Li, Benjamin, Stephan, Luca &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | SUNDAY&lt;br /&gt;
|-&lt;br /&gt;
!10:00 - 12:30 &lt;br /&gt;
| Hands-On Blender&lt;br /&gt;
| Su-Li, Stephan, Luca + X&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align:center&amp;quot;| &#039;&#039;Lunch Break&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!13:30 - 16:00&lt;br /&gt;
| Hands-On Blender&lt;br /&gt;
| Su-Li, Stephan, Luca + X&lt;br /&gt;
|- &lt;br /&gt;
!16:00 - 16:45&lt;br /&gt;
| Demo in the DBL&lt;br /&gt;
| Martin, Luca&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
Das Modul vermittelt die nötigen Grundkenntinisse um interaktive Performances mit Hilfe der Performance-Plattform des Digital Bauhaus Labs zu erstellen.&lt;br /&gt;
&lt;br /&gt;
Nach einem einführende Blockmodul (15. - 17. April)  geht es im Rahmen der wöchentlichen Veranstaltung um den praktischen Umgang mit den entsprechenden Software-Werkzeugen und Programmier-Umgebungen.&lt;br /&gt;
&lt;br /&gt;
Am Ende des Moduls sollen die Studierenden in der Lage sein, eigene Setups zu erstellen, die aus menschliche Bewegung, Interaktion, und Tanz immersive visuelle und akkustische Umgebungen erzeugen.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
This course will teach you basic skills required to create interactive performances, using the Peformance Platform of the Digital Bauhaus Lab.&lt;br /&gt;
&lt;br /&gt;
By the end of the course you will be able to create your own immersive setup for generating live audio and visuals from human motion, interaction and dance.&lt;br /&gt;
&lt;br /&gt;
== Language ==&lt;br /&gt;
&lt;br /&gt;
The course is in English, because not all participants are speaking German.&lt;br /&gt;
&lt;br /&gt;
== Eligible Participants ==&lt;br /&gt;
&lt;br /&gt;
Undergraduates and graduates enrolled in the faculties of:&lt;br /&gt;
&lt;br /&gt;
* Media Art + Design &lt;br /&gt;
* Media Architecture&lt;br /&gt;
* Visual Communication&lt;br /&gt;
* Product Design&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
* [[/Jasmine|Jing Zhao]]&lt;br /&gt;
* [[/Jack|Jixiang JIANG]]&lt;br /&gt;
* [[/Martin Schneider|Martin Schneider]]&lt;br /&gt;
* [[/Fiona Mortimer|Fiona M]]&lt;br /&gt;
* [[//Emilio Aguas|&#039;&#039;Emilio Aguas&#039;&#039;]]&lt;br /&gt;
* [[/Jessica Hüttig|Jessica Hüttig]]&lt;br /&gt;
* [[/Kan Feng|Kan Feng]]&lt;br /&gt;
* [[/Priyanka Srinivasagopalan|Priyanka Srinivasagopalan]]&lt;br /&gt;
* [[/Tim Vischer|Tim Vischer]]&lt;br /&gt;
* [[/Rachel Smith|Rachel Smith]]&lt;br /&gt;
* [[/Taissa Fromme|Taissa Fromme]]&lt;br /&gt;
*[[/FANXZ|Xiangzhen Fan]]&lt;br /&gt;
* [[/Minsoo Hwang|Minsoo Hwang]]&lt;br /&gt;
* [[/Di Yang|Di Yang]]&lt;br /&gt;
* [[/elenaliv|Elena Liv Felderer&lt;br /&gt;
* [[/Kei Kitamura|Kei Kitamura]]&lt;br /&gt;
*[[/Qianqian Li|Qianqian Li]]&lt;br /&gt;
* [[/Yun Liu|Yun Liu]]&lt;br /&gt;
* [[/Logic|Ji Luo]]&lt;br /&gt;
* [[/Florian Froger|Florian Froger]]&lt;br /&gt;
* [[/Anna Hack|Anna Hack]]&lt;br /&gt;
* [[/Shubhra Bhatt | Shubhra Bhatt]]&lt;br /&gt;
* [[/Jane doe|Jane doe]]&lt;br /&gt;
* [[/Seb|Sebastian Richter]]&lt;br /&gt;
* [[/Rama Bielewski|Rama Bielewski]]&lt;br /&gt;
* [[/Edu_Oliveira| Eduardo Oliviera]]&lt;br /&gt;
* [[/Shih Li Chao|Shih Li C]]&lt;br /&gt;
* [[/Shuyan|Shuyan Chen]]&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Applications from students that have signed up for the project modules at GMU or EXPTV, will be favoured, because this course is a requirement for those modules.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To:&#039;&#039;&#039; [[User:ms|Martin Schneider]]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Subject:&#039;&#039;&#039; Digital Puppetry Lab /// Application&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Content:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* Name, Surname&lt;br /&gt;
* program and semester (Studienprogramm und Fachsemester)&lt;br /&gt;
* matriculation number (Matrikelnummer)&lt;br /&gt;
* Valid email address @uni-weimar.de &lt;br /&gt;
* Your project module&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
* First Meeting 12. April (Tuesday)&lt;br /&gt;
* Block-Weekend 15. - 17. April&lt;br /&gt;
&lt;br /&gt;
The syallbus includes:&lt;br /&gt;
* Introduction to the Tracking System&lt;br /&gt;
* Basics of Networking with OSC&lt;br /&gt;
* Basics of 3D-Modelling and Rigging&lt;br /&gt;
* Programming Interactive 3D Graphics&lt;br /&gt;
* Programming interactive Sound in Space&lt;br /&gt;
&lt;br /&gt;
== Evaluation ==&lt;br /&gt;
* 20% Presence and active participation&lt;br /&gt;
* 50% Creation of an interactive setup&lt;br /&gt;
* 30% Documentation on the wiki&lt;br /&gt;
&lt;br /&gt;
== Books ==&lt;br /&gt;
&#039;&#039;to be done&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [[www.thecaptury.com|The Captury]]&lt;br /&gt;
* [[www.blender.org|Blender]] (3D Modelling)&lt;br /&gt;
* [[www.unity3d.com|Unity]] (3D Game Engine)&lt;br /&gt;
* [[www.iannix.org|Iannix]] (Visual Synthesizer for OSC)&lt;br /&gt;
* [[www.sojamo.de/libraries/oscP5/|OSC for Processing]]&lt;br /&gt;
* [[trippylighting.com/teensy-arduino-ect/touchosc-and-arduino-oscuino|TouchOSC + OSCuino]]&lt;br /&gt;
* [[Pure Data]]&lt;br /&gt;
* [[Max MSP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:SS16]]&lt;br /&gt;
[[Category:Werkmodul]]&lt;br /&gt;
[[Category:Fachmodul]]&lt;br /&gt;
[[Category:Martin Schneider]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tracking]]&lt;br /&gt;
[[Category:OSC]]&lt;br /&gt;
[[Category:Blender]]&lt;br /&gt;
[[Category:Dataflow]]&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Digital_Puppetry_Lab&amp;diff=81142</id>
		<title>GMU:Digital Puppetry Lab</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Digital_Puppetry_Lab&amp;diff=81142"/>
		<updated>2016-04-15T10:09:18Z</updated>

		<summary type="html">&lt;p&gt;Elenaliv: /* Participants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Digital-puppetry.png|thumb|left|200px|&#039;&#039;Chinese Shadows&#039;&#039; by Ferdinand du Puigaudeau]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Digital Puppetry Lab&#039;&#039;&#039; — Introduction to the &#039;&#039;Interactive Performance Platform&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[:Category:Werkmodul|Werkmodul]]/[[:Category:Fachmodul|Fachmodul]]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Lecturer:&#039;&#039; [[Martin Schneider]]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Credits:&#039;&#039; 6 [[ECTS]], 4 [[SWS]]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Date:&#039;&#039; Tuesday 19:00 - 20:30 (weekly) + Wednesday 17:00 - 20:30 (biweekly) &amp;lt;br&amp;gt; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&#039;&#039;&#039;Blockmodul (15. - 17. April)&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Venue:&#039;&#039; [[Performance Platform]], Digital Bauhaus Lab&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;First meeting:&#039;&#039;&#039; TUESDAY, 12. April, 19:00h&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This is a hands on course that is required for project modules by GMU and EXPTV.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
  Note:&lt;br /&gt;
  &#039;&#039;&#039;Application is now closed.&#039;&#039;&#039;&lt;br /&gt;
  &#039;&#039;&#039;All applicants are invited to the Kickoff meeting at the DBL is on TUESDAY, 19:00h.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Weekend Workshop ==&lt;br /&gt;
&lt;br /&gt;
=== Be Prepared ===&lt;br /&gt;
&lt;br /&gt;
Please make sure to install the software on your laptops at home. &amp;lt;br&amp;gt;&lt;br /&gt;
We will start using it right away and have no time for installation during the course.&lt;br /&gt;
&lt;br /&gt;
* [https://www.blender.org/download/ Blender]&lt;br /&gt;
* [https://unity3d.com/get-unity/download?ref=personal Unity]&lt;br /&gt;
* [http://www.iannix.org/en/download-iannix/ Iannix]&lt;br /&gt;
* [https://processing.org/download/?processing Processing] (Version 3.0.2)&lt;br /&gt;
* [https://puredata.info/downloads/pd-extended/releases/0.43.4 Pure Data Extended] (0.43.4)&lt;br /&gt;
&lt;br /&gt;
=== Schedule ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | FRIDAY&lt;br /&gt;
|-&lt;br /&gt;
!11:00 - 11:45&lt;br /&gt;
|Intro to the Wiki&lt;br /&gt;
|Martin&lt;br /&gt;
|-&lt;br /&gt;
!11:45 - 12:30&lt;br /&gt;
| Intro to OSC, Iannix and Processing&lt;br /&gt;
| Martin&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align:center&amp;quot;| &#039;&#039;Lunch Break&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!13:30 - 14:15&lt;br /&gt;
| Intro to MAX-MSP + Puredata&lt;br /&gt;
| Martin, Benjamin&lt;br /&gt;
|-&lt;br /&gt;
!14:15 - 15:00&lt;br /&gt;
| Intro to Blender + Unity&lt;br /&gt;
| Luca, Miga&lt;br /&gt;
|-&lt;br /&gt;
!15:15 - 16:00&lt;br /&gt;
| Intro to Unity I&lt;br /&gt;
| Luca&lt;br /&gt;
|-&lt;br /&gt;
!16:00 - 16:45&lt;br /&gt;
| Intro to Unity II&lt;br /&gt;
| Luca&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | SATURDAY&lt;br /&gt;
|-&lt;br /&gt;
! 10:00 - 12:30 &lt;br /&gt;
| Hands-On Blender&lt;br /&gt;
| Su-Li, Benjamin, Stephan, Luca &lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align:center&amp;quot;| &#039;&#039;Lunch Break&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! 13:30 - 16:00&lt;br /&gt;
| Hands-On Blender&lt;br /&gt;
| Su-Li, Benjamin, Stephan, Luca &lt;br /&gt;
|-&lt;br /&gt;
! 16:00 - 18:30&lt;br /&gt;
| Hands-On Blender&lt;br /&gt;
| Su-Li, Benjamin, Stephan, Luca &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | SUNDAY&lt;br /&gt;
|-&lt;br /&gt;
!10:00 - 12:30 &lt;br /&gt;
| Hands-On Blender&lt;br /&gt;
| Su-Li, Stephan, Luca + X&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align:center&amp;quot;| &#039;&#039;Lunch Break&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!13:30 - 16:00&lt;br /&gt;
| Hands-On Blender&lt;br /&gt;
| Su-Li, Stephan, Luca + X&lt;br /&gt;
|- &lt;br /&gt;
!16:00 - 16:45&lt;br /&gt;
| Demo in the DBL&lt;br /&gt;
| Martin, Luca&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
Das Modul vermittelt die nötigen Grundkenntinisse um interaktive Performances mit Hilfe der Performance-Plattform des Digital Bauhaus Labs zu erstellen.&lt;br /&gt;
&lt;br /&gt;
Nach einem einführende Blockmodul (15. - 17. April)  geht es im Rahmen der wöchentlichen Veranstaltung um den praktischen Umgang mit den entsprechenden Software-Werkzeugen und Programmier-Umgebungen.&lt;br /&gt;
&lt;br /&gt;
Am Ende des Moduls sollen die Studierenden in der Lage sein, eigene Setups zu erstellen, die aus menschliche Bewegung, Interaktion, und Tanz immersive visuelle und akkustische Umgebungen erzeugen.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
This course will teach you basic skills required to create interactive performances, using the Peformance Platform of the Digital Bauhaus Lab.&lt;br /&gt;
&lt;br /&gt;
By the end of the course you will be able to create your own immersive setup for generating live audio and visuals from human motion, interaction and dance.&lt;br /&gt;
&lt;br /&gt;
== Language ==&lt;br /&gt;
&lt;br /&gt;
The course is in English, because not all participants are speaking German.&lt;br /&gt;
&lt;br /&gt;
== Eligible Participants ==&lt;br /&gt;
&lt;br /&gt;
Undergraduates and graduates enrolled in the faculties of:&lt;br /&gt;
&lt;br /&gt;
* Media Art + Design &lt;br /&gt;
* Media Architecture&lt;br /&gt;
* Visual Communication&lt;br /&gt;
* Product Design&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
* [[/Jasmine|Jing Zhao]]&lt;br /&gt;
* [[/Jack|Jixiang JIANG]]&lt;br /&gt;
* [[/Martin Schneider|Martin Schneider]]&lt;br /&gt;
* [[/Fiona Mortimer|Fiona M]]&lt;br /&gt;
* [[//Emilio Aguas|&#039;&#039;Emilio Aguas&#039;&#039;]]&lt;br /&gt;
* [[/Jessica Hüttig|Jessica Hüttig]]&lt;br /&gt;
* [[/Kan Feng|Kan Feng]]&lt;br /&gt;
* [[/Priyanka Srinivasagopalan|Priyanka Srinivasagopalan]]&lt;br /&gt;
* [[/Tim Vischer|Tim Vischer]]&lt;br /&gt;
* [[/Rachel Smith|Rachel Smith]]&lt;br /&gt;
* [[/Taissa Fromme|Taissa Fromme]]&lt;br /&gt;
*[[/FANXZ|Xiangzhen Fan]]&lt;br /&gt;
* [[/Minsoo Hwang|Minsoo Hwang]]&lt;br /&gt;
* [[/Di Yang|Di Yang]]&lt;br /&gt;
* [[/Kei Kitamurar|Kei Kitamura]]&lt;br /&gt;
*[[/Qianqian Li|Qianqian Li]]&lt;br /&gt;
* [[/Yun Liu|Yun Liu]]&lt;br /&gt;
* [[/Logic|Ji Luo]]&lt;br /&gt;
* [[/Florian Froger|Florian Froger]]&lt;br /&gt;
* [[/Anna Hack|Anna Hack]]&lt;br /&gt;
* [[/Shubhra Bhatt | Shubhra Bhatt]]&lt;br /&gt;
* [[/Jane doe|Jane doe]]&lt;br /&gt;
* [[/Seb|Sebastian Richter]]&lt;br /&gt;
* [[/Rama Bielewski|Rama Bielewski]]&lt;br /&gt;
* [[/Jonas Jülch|Jonas Jülch]]&lt;br /&gt;
* [[/shih li|shih li]]&lt;br /&gt;
* [[/elenaliv|Elena Liv Felderer]]&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
&lt;br /&gt;
Applications from students that have signed up for the project modules at GMU or EXPTV, will be favoured, because this course is a requirement for those modules.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To:&#039;&#039;&#039; [[User:ms|Martin Schneider]]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Subject:&#039;&#039;&#039; Digital Puppetry Lab /// Application&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Content:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* Name, Surname&lt;br /&gt;
* program and semester (Studienprogramm und Fachsemester)&lt;br /&gt;
* matriculation number (Matrikelnummer)&lt;br /&gt;
* Valid email address @uni-weimar.de &lt;br /&gt;
* Your project module&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
* First Meeting 12. April (Tuesday)&lt;br /&gt;
* Block-Weekend 15. - 17. April&lt;br /&gt;
&lt;br /&gt;
The syallbus includes:&lt;br /&gt;
* Introduction to the Tracking System&lt;br /&gt;
* Basics of Networking with OSC&lt;br /&gt;
* Basics of 3D-Modelling and Rigging&lt;br /&gt;
* Programming Interactive 3D Graphics&lt;br /&gt;
* Programming interactive Sound in Space&lt;br /&gt;
&lt;br /&gt;
== Evaluation ==&lt;br /&gt;
* 20% Presence and active participation&lt;br /&gt;
* 50% Creation of an interactive setup&lt;br /&gt;
* 30% Documentation on the wiki&lt;br /&gt;
&lt;br /&gt;
== Books ==&lt;br /&gt;
&#039;&#039;to be done&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [[www.thecaptury.com|The Captury]]&lt;br /&gt;
* [[www.blender.org|Blender]] (3D Modelling)&lt;br /&gt;
* [[www.unity3d.com|Unity]] (3D Game Engine)&lt;br /&gt;
* [[www.iannix.org|Iannix]] (Visual Synthesizer for OSC)&lt;br /&gt;
* [[www.sojamo.de/libraries/oscP5/|OSC for Processing]]&lt;br /&gt;
* [[trippylighting.com/teensy-arduino-ect/touchosc-and-arduino-oscuino|TouchOSC + OSCuino]]&lt;br /&gt;
* [[Pure Data]]&lt;br /&gt;
* [[Max MSP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:SS16]]&lt;br /&gt;
[[Category:Werkmodul]]&lt;br /&gt;
[[Category:Fachmodul]]&lt;br /&gt;
[[Category:Martin Schneider]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tracking]]&lt;br /&gt;
[[Category:OSC]]&lt;br /&gt;
[[Category:Blender]]&lt;br /&gt;
[[Category:Dataflow]]&lt;/div&gt;</summary>
		<author><name>Elenaliv</name></author>
	</entry>
</feed>