Download the completed VDMX and Unity3D project for this tutorial.
Update 1: This is an updated tutorial topic – Recently the Unity3D game engine was updated so that the personal edition could use 3rd party add-ons, a feature that was previously limited to their pro version.
Update 2: A new add-on for using Syphon with Metal based Unity projects is now available here: https://github.com/keijiro/KlakSyphon
While mainly designed for cross platform game development many Mac VJs take advantage of the Unity3D engine for the purposes for creating 3D worlds and other real-time generated graphics for use in visual performance. By connecting these environments to other VJ applications like VDMX over Syphon and OSC we can control these worlds and mix, process and output the virtual camera signals from a scene like any other live media source.
In this guest tutorial we're joined by Dave Pentecost, manager of the planetarium at the Lower East Side Girls Club of NYC. Along with weekly tours of the known universe in their dome, Dave teaches the girls how to use the software needed to make their own digital creations to project into the space.
This example begins by creating a simple scene in Unity3D that contains a plane and a basic character package known as Ethan.
Once this scene is created the next step is to add the Syphon asset package to the Unity3D project. For each of our three surfaces (Ethan's body, glasses and the ground) a different material is created. The next step is to create a matching layer for each of the surfaces in VDMX to provide a video streams for display in the scene using the Syphon Output plugin.
Tips and Notes:
Visit the Github page for the latest version of the Syphon plugin for Unity3D (OpenGL) / Syphon plugin for Unity3D (metal). No additional installation is needed to publish or receive video over Syphon in VDMX.
Enable the "Run in Background" option in the Unity3D Resolution and Presentation settings to keep the scene active when VDMX or other VJ applications are being used.
After getting VDMX to send video to Unity3D, try publishing a camera in the Unity3D environment to Syphon and receiving it on a layer in VDMX.
To send control information besides video between applications check out add-ons for receiving OSC messages in Unity3D from VDMX data-source providers.