emailconfirmed
1,824
edits
No edit summary |
No edit summary |
||
Line 9: | Line 9: | ||
== Setting up the Sender == | == Setting up the Sender == | ||
'''Preparations to be done on the sender.'''<br> | |||
Before you get started, you need to figure out the IP of the sender. | |||
=== Open the Rosette Example in IanniX === | === Open the Rosette Example in IanniX === | ||
# In the IanniX inspector open the <code>FILES</code> tab, pick <code>Examples</code> > <code>Rosette</code> (double click) | # In the IanniX inspector open the <code>FILES</code> tab, pick <code>Examples</code> > <code>Rosette</code> (double click) | ||
# Click OK, to create the default rosette with 50 circles. | # Click OK, to create the default rosette with 50 circles. | ||
Line 17: | Line 18: | ||
=== Configure Yannix to send messages to Unity === | === Configure Yannix to send messages to Unity === | ||
# In Iannix, go to the inspector, pick the <code>CONFIG</code> tab, and the <code>NETWORK</code> tab below it. | # In Iannix, go to the inspector, pick the <code>CONFIG</code> tab, and the <code>NETWORK</code> tab below it. | ||
# Make sure that <code>enable OSC</code> is checked | # Make sure that <code>enable OSC</code> is checked | ||
Line 24: | Line 24: | ||
== Setting up the Receiver == | == Setting up the Receiver == | ||
'''Preparations to be done on the receiver.'''<br> | |||
Before you get started, you need to figure out the IP of the receiver. | |||
=== Install the Iannix-Unity Patch === | === Install the Iannix-Unity Patch === | ||
# Create a new Unity Project | # Create a new Unity Project | ||
# Download the [https://github.com/bitcraftlab/iannix-unity/archive/master.zip zip file] with the Iannix-Unity Scripts and extract it. | # Download the [https://github.com/bitcraftlab/iannix-unity/archive/master.zip zip file] with the Iannix-Unity Scripts and extract it. | ||
# Add the scripts and plugins folder to project assets in Unity | # Add the scripts and plugins folder to project assets in Unity | ||
=== Create a Scripts Object === | |||
# Create a new empty node and name it "scripts" | |||
# Drag the Iannix.js script from the `Scripts` folder in your project assets to the scripts object in the hierarchy | |||
# Drag `Osc` and `Udp` from the Plugins folder in your assets onto the scripts node. | |||
# Make sure all three Scripts are activated (check mark in the top left) | |||
=== Configure Unity to receive messages from IanniX === | |||
# Make sure to pick the script in the hierarchy browser, then configure it in the inspector | |||
# Set Remote IP to the IP of the sender (that is the computer that runs IanniX) (127.0.0.1 for the local machine) | |||
# Set the local port to the port that has been configured as target port in IanniX. We use the default port configured in IanniX, which is 57120. | |||
# Set the remote port to the OSC In Port of Iannix, which is 1234 (we don't use it right now, so it doesn't really matter) | |||
=== Lock your script object in the Inspector === | |||
Since we need to drag other stuff onto the script, we need to lock it first. | |||
# Select the script object in the hierarchy browser | |||
# Lock the script in the inspector window (click the little lock symbol) | |||
Now the script will stay in your inspector view, no matter what object you pick in your hierarchy view.... | |||
=== Create 50 objects to be controlled by the cursors === | |||
# Create a cube of dimensions 1.0 x 1.0 x 0.05. | |||
# Create 50 duplicates of the cube | |||
# Create a group for the cubes named <code>cubes</code> | |||
=== Create 50 objects to be controlled by the triggers === | |||
# Create a sphere of dimensions (1.0, 1.0, 1.0) | |||
# Create 50 duplicates of the sphere | |||
# Create a group for the spheres named <code>spheres</code> | |||
=== Configure the Script to control your cursors === | |||
# Select 50 Cubes in the hierarchy browser and drag them onto the <code>Cursors</code> field in the inspector | |||
# Look up the ID of the first cursor object in IanniX (the objects are listed in the objects tab of the IanniX inspector) | |||
# Set the <code>First Cursor ID</code> in the Unity Inspector to match the ID | |||
=== Configure the Script to control your triggers === | |||
# Select 50 Spheres in the hierarchy browser and drag them onto the <code>Triggers</code> field in the inspector | |||
# Look up the ID of the first trigger object in IanniX. | |||
# Set the <code>First Trigger ID</code> in the Unity Inspector to match the ID. | |||
== Running the Performance == | |||
=== Start Playing the Score === | |||
'''On the sender:''' | |||
# In IanniX press Space to play | |||
# In Unity press CMD-P to play | |||
# In Unity pick the Scene mode to view your objects | |||
=== Set up the Main Camera === | |||
'''On the receiver:''' | |||
# Once the objects are distributed, stop the unity player (CMD-P) | |||
# Position the camera, so that all objects are in view | |||
# Make sure the camera uses perspective projection and the objects are inside the camera frustum | |||
=== Debug Output === | |||
# In IanniX, select <code>CONFIG</code> > <code>MESSAGE LOG</code> to see the OSC messages when they are sent in real time | |||
# In the Unity Script check the debug field, to log the received OSC messages to the console in real time | |||
== Things to try == | |||
=== Use your own Models! === | |||
# Instead of choreographing cubes and spheres, import your own models (and those of your friends) to choreograph them | |||
# Learn to use textures and materials and shaders to create a more realistic look | |||
=== Use IanniX to create your own visual scores === | |||
# Get to know the IanniX user interface | |||
# Learn how to use IanniX to create your own scores | |||
# Learn how to use the Iannix Script Editor to generate complex scores | |||
=== Explore the script === | |||
# Double click the script to open it in the MonoDevelop editor | |||
# What are the three private arrays used for? (cursorCoord, triggerCoord, triggerValue) | |||
# When are <code>Start</code>, <code>Update</code> and <code>OnDisable</code> called? | |||
=== Modify the script === | |||
# Which properties of the objects are controlled by the script and where? | |||
# Change the script to modify other properties | |||
# Explore the Unity scripting reference to learn more. | |||
= Links = | |||
* [http://www.iannix.org Iannix] | |||
* [https://github.com/bitcraftlab/iannix-unity Iannix-Unity] | |||
* [https://docs.unity3d.com/ScriptReference https://docs.unity3d.com/ScriptReference] |