GMU:Tutorials/Networking/Controlling Unity with IanniX: Difference between revisions

From Medien Wiki
No edit summary
No edit summary
Line 11: Line 11:
'''Preparations to be done on the sender.'''<br>
'''Preparations to be done on the sender.'''<br>
Before you get started, you need to figure out the IP of the sender.
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.
# You can play the example (hit space bar) and reset it (press F)
# You can play the example (hit space bar) and reset it (press F)
=== 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.
Line 26: Line 24:
'''Preparations to be done on the receiver.'''<br>
'''Preparations to be done on the receiver.'''<br>
Before you get started, you need to figure out the IP of the receiver.
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 Scripts Object ===
# Create a new empty node and name it "scripts"
# Create a new empty node and name it "scripts"
Line 37: Line 33:
# Drag `Osc` and `Udp` from the Plugins folder in your assets onto the scripts node.
# 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)
# Make sure all three Scripts are activated (check mark in the top left)
=== Configure Unity to receive messages from IanniX ===
=== Configure Unity to receive messages from IanniX ===
# Make sure to pick the script in the hierarchy browser, then configure it in the inspector
# Make sure to pick the script in the hierarchy browser, then configure it in the inspector
Line 43: Line 38:
# 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 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)
# 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 ===
=== Lock your script object in the Inspector ===
Since we need to drag other stuff onto the script, we need to lock it first.
Since we need to drag other stuff onto the script, we need to lock it first.
Line 49: Line 43:
# Lock the script in the inspector window (click the little lock symbol)
# 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....
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 50 objects to be controlled by the cursors ===
# Create a cube of dimensions 1.0 x 1.0 x 0.05.
# Create a cube of dimensions 1.0 x 1.0 x 0.05.
# Create 50 duplicates of the cube
# Create 50 duplicates of the cube
# Create a group for the cubes named <code>cubes</code>
# Create a group for the cubes named <code>cubes</code>
=== Create 50 objects to be controlled by the triggers ===
=== Create 50 objects to be controlled by the triggers ===
# Create a sphere of dimensions (1.0, 1.0, 1.0)
# Create a sphere of dimensions (1.0, 1.0, 1.0)
# Create 50 duplicates of the sphere
# Create 50 duplicates of the sphere
# Create a group for the spheres named <code>spheres</code>
# Create a group for the spheres named <code>spheres</code>
=== Configure the Script to control your cursors ===
=== 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
# Select 50 Cubes in the hierarchy browser and drag them onto the <code>Cursors</code> field in the inspector
Line 90: Line 80:


== Things to try ==
== Things to try ==
=== Use your own Models! ===
=== Use your own Models! ===
# Instead of choreographing cubes and spheres, import your own models (and those of your friends) to choreograph them
# 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
# Learn to use textures and materials and shaders to create a more realistic look
=== Use IanniX to create your own visual scores ===
=== Use IanniX to create your own visual scores ===
# Get to know the IanniX user interface
# Get to know the IanniX user interface
# Learn how to use IanniX to create your own scores
# Learn how to use IanniX to create your own scores
# Learn how to use the Iannix Script Editor to generate complex scores
# Learn how to use the Iannix Script Editor to generate complex scores
=== Explore the script ===
=== Explore the script ===
# Double click the script to open it in the MonoDevelop editor
# Double click the script to open it in the MonoDevelop editor
# What are the three private arrays used for? (cursorCoord, triggerCoord, triggerValue)
# What are the three private arrays used for? (cursorCoord, triggerCoord, triggerValue)
# When are <code>Start</code>, <code>Update</code> and <code>OnDisable</code> called?
# When are <code>Start</code>, <code>Update</code> and <code>OnDisable</code> called?
 
=== Modify the Script ===
=== Modify the script ===
# Which properties of the objects are controlled by the script and where?
# Which properties of the objects are controlled by the script and where?
# Change the script to modify other properties
# Change the script to modify other properties
# Explore the Unity scripting reference to learn more.
# Explore the Unity scripting reference to learn more.


= Links =
= Links =
* [http://www.iannix.org Iannix]
* [http://www.iannix.org Iannix]
* [https://github.com/bitcraftlab/iannix-unity Iannix-Unity]
* [https://github.com/bitcraftlab/iannix-unity Iannix-Unity]
* [https://docs.unity3d.com/ScriptReference https://docs.unity3d.com/ScriptReference]
* [https://docs.unity3d.com/ScriptReference https://docs.unity3d.com/ScriptReference]