Audience Interaction

From ETC Public Wiki
Jump to: navigation, search

What is Audience Interaction?

Description of platform goes here.

Installing Audience Interaction

The main things you will need for using Audience Interaction are a Video Camera, the Osprey Video Capture Card, and the appropriate software. The following sections detail the steps for proper installation of each.

Video Capture Card

  1. Before starting anything, make sure you have the Osprey Video Capture card installed on your machine. If not, find out if you SHOULD be installing it in the first place!
  2. If you have the go-ahead, shut down your machine and open up the case.
  3. Find an available PCI slot and GENTLY slide it into said slot. BE CAREFUL WHEN DOING THIS, WE IMPLORE YOU.
  4. Once seated properly, close your computer back up and turn it on.

Osprey Capture Card Drivers

  1. Download the Osprey Capture Card Drivers zip file from this page.
  2. Unzip the folder and run setup.exe
  3. Follow the installation prompts and finish installing these drivers.
  4. You can check if the drivers installed properly by checking the Device Manager by going to the Start Menu and searching Device Manager. Look for Osprey 2X0 under Sound, Video, and Game Controllers.
  5. Next, download the Audience Interaction Server and Drivers zip file.
  6. Unzip the folder and install both of the Java executables. The Audience Interaction drivers uses these older versions of Java, so you'll need to install them even if you have a more current version on your machine. You can hold off on restarting until both are finished.
  7. Reboot your machine.
  8. Once restarted, attach your camera to one of the component slots in the capture card.
  9. Try running the NetDiff batch file located inside of the Audience Interaction Server folder to see if it works.
  10. If the batch files don't seem to run, you will need to set your system path to recognize the newly installed Java versions. See instructions below.

Setting the Java Path

  1. Before starting anything, find out where your version of Java installed. Generally, it will be located at C:\Program Files (x86)\Java\j2re1.4.2_16\bin, but make sure you know where to find it and pay attention to the version you installed!
  2. On Windows 7, go to the Start Menu and type "System" in the search bar and find the System icon.
  3. Click on the System icon, and, once the Control Panel window opens, click on Advanced System Settings.
  4. When the System Properties Window appears, check to see you are on the Advanced tab.
  5. Look for a button with Environment Variables... and click it.
  6. Now, in the System Variables list, look for "Path" and click it. This will bring up the Edit System Variable window.
  7. In the Variable value field, if there is anything there, add a semi-colon (;) to the end of it - they are used as delimiters for multiple values.
  8. After the semi-colon, add the Java paths for the version we installed. Again, it will be something like C:\Program Files (x86)\Java\j2re1.4.2_16\bin.
  9. With that now set, close the system windows and try to run the NetDiff batch file. If it still doesn't work, make sure to check that you didn't add the wrong version of Java, and that the path matches exactly.
  10. If the NetDiff window opens, you are ready to start using Audience Interaction!

Integrating with Unity

As long as the NetDiff window is open, you are ready to start using Audience Interaction with Unity. Most of the code you will need to use is provided in the demos we have created for you.

To learn how to use it inside of Unity, see the example projects and instructions below.

Using Audience Interaction

OspreyConfig

  1. Before you can really begin using Audience Interaction, you need to first check whether the camera is properly connected.
  2. From the Start Menu, search for OspreyConfig and run it.
  3. Once there, you should be able to see a list of all connected devices - yours should be the Osprey 100.
  4. Expand that list item and select the Video Filter.
  5. Click on Show Properties for Selected Filter. This should bring up a window that lets you tweak your camera to work just right. Generally, you shouldn't need to change many of these settings, but they are there should you need to.
  6. In the Input tab, check to make sure the "Video Present" checkbox is checked - this lets you know whether the card thinks the video camera is on and working. If you think that it should be working, but it doesn't appear to be, make sure the camera is on and ready, and make sure you have plugged in the component cables properly.
  7. Close out of these settings once you are happy with the settings / the camera is working.

The Audience Interaction Server (NetDiff)

  1. In order to send messages from the capture card to Unity, you'll need to run the server that is provided.
  2. In the Audience Interaction Server and Demos folder, look for runNetDiff.bat - this will start the server and begin sending information about the images.
  3. runNetDiff should bring up a Controls window. Click the PreviewFilter checkbox to bring up a window with the cameras view - not only does this confirm that the camera is working properly, but it also can be used in case you don't have line of sight to the users.
  4. Leave this window up, and you can now begin using Audience Interaction within your projects. You should first start by running one of the demos we've provided for you, and then begin figuring out how you want to integrate that into your own project.

Using Audience Interaction with Unity

  1. Make sure that the Server (NetDiff) is currently running.
  2. Attach AudienceInteraction.cs to an object within the scene - this can be an empty node, or the main camera. This main script does all of the server requests for you, as well as contain the functions you need to access the image difference values.
  3. In order to get the values of the image differencing, you will first need to Calibrate - this simply takes a picture of what the camera sees at that point in time, and then compares the current image to the stored images. Calibration needs to take place when your world first runs so you have images to compare against.

    The AuidenceInteraction.cs script is set to use the following buttons for calibration:
    • L = Left
    • R = Right
    • U = Up
    • D = Down

Keep in mind that you can change these keys by editing the AudienceInteraction script. You can also recalibrate at any time during your program if you feel that it is not responding accurately.

To utilize the values you are getting, you will need to take the horizontalLeanPrecentage and verticalLeanPercentage from the object holding AudienceInteraction.cs and apply the values to movement. Each value ranges from 0 to 1. Horizontally, 0.0 is Left while 1.0 is Right, and Vertically 0.0 is Down and 1.0 is Up.

The Simple Audience Interaction Demo illustrates this very well.

Example Code and Drivers


Audience Interaction Server and Drivers Package
Audience Interaction Example Projects

Videos

Youtube Videos

Audience Interaction Simple Demo
Audience Interaction Show Demo

Vimeo Videos

Audience Interaction Simple Demo
Audience Interaction Show Demo