Downloads
File downloads related to the ATS Immersive Environments Lab, including software development projects, utilities,
source code, and other materials.
B3D File Format
a custom file format for 3D objects, similar to VRML/OpenInventor but with a few
enhancements specifically for Performer and Ygdrasil. See the B3D
File Format Documentation for a the format specification and Maya exporter
options.
- libpfb3d.#.so is a Performer DSO.
install it in /usr/lib/libpfdb, or other Performer library directory.
- B3DExporter.so is an exporter for Maya 5
install it in /usr/aw/maya/bin/plug-ins
- b3dExportOptions.mel is the MEL script for the exporter
install it in /usr/aw/maya/scripts/others
Ygdrasil syntax coloring for Kate
status: release
This is a syntax file for the Kate text editor. It will colorize YG syntax like nodes, events, commas, etc.
It also recognizes nested parentheses up to 3 levels deep, and gives them slightly different colors to help you catch
unclosed parentheses errors.
Since Ygdrasil is by nature an extensible and constantly evolving language, this is not a complete syntax file; it
currently covers most nodes, messages, and events as of Ygdrasil 0.1.10, but can easily be edited to recognize new
nodes. Please feel free to add onto it as needed, and to send me your changes so they can be shared.
It currently recognizes Ygdrasil files by the ".scene" extension, so for example opening "one.scene" will be colorized
automatically, but "User0" will not.
Installation: download this file and install in /usr/share/apps/katepart/syntax.
mayaAnimation Node
status: alpha
This is a node that reads Maya .anim export files, so you can export keyframe animation directly from Maya and use it in YG.
This node is still very rough, so it may not work as expected, or may not work at all for you.
The ygAnimationEngine can read one or more .anim files, allowing you to load multiple animation clips with one set of geometry.
It animates its children by trying to match named transforms in the .anim files with transform names in its child objects.
The transform names are internal Performer DCS names, not necessarily YG node names; so you must have an object file containing
named DCS transform hierarchy. The B3D format (above) supports this feature,
Installation
- download the tar file, copy into your yg/modules directory
gunzip mayaAnimation.tar.gz
tar -xvf mayaAnimation.tar
cd mayaAnimation
make
OSCNode
status: alpha, internal
Open Sound Control, or OSC, is a networking protocol for communication between different types of sound software. It
has been implemented in a wide range of programs, including MAX/MSP, SuperCollider, Reaktor, CSound, Flash, Director,
PureData, and more. It is particularly useful for connecting applications running on different machines, using either
TCP/IP or UDP.
The OSCNode gives YG the ability to send messages to any software that understands Open Sound Control. We've used it with
Reaktor, MAX/MSP, PD, and SuperCollider to produce real-time sound synthesis in CAVE environments. This is a separate
sound server architecture from YG's Bergen server; a more elegant version of this method might meld with bergen to create
a more seamless sound interface at the YG scene level.
It's important to point out that this node does not include any concept of spatialization, sample playback, etc. It is
open-ended, designed to be used with, for instance, a custom-made MAX patch. It can be used to control parameters of
anything from sample playback to granular synthesis.
Since this node is still pretty raw, there's no documentation yet. hold your horses.
OSCUserTracker
status: alpha, internal
One of our research areas is in spatialized audio for virtual environments. Robb Drinkwater is developing a spatialization
engine for multi-speaker arrays using SuperCollider, which can be used on its own or in conjunction with YG. It has
support for both moving sound sources and a moving listener. The OSCUserTracker node simply broadcasts changes in the
YG user's position and orientation over OSC, which SuperCollider uses to transform its sound synthesis elements.
trackd JoystickController
A controller module for trackd that uses off-the-shelf joystick and gamepad-type
controllers. Using the standard linux joystick kernel modules, this provides
support for both USB and 15-pin analog joysticks and gamepads. Since these types
of hardware are very inexpensive (particularly secondhand 15-pin types), hacking
them can provide a quick and inexpensive platform for developing custom interface
controllers for the CAVE.
JoystickController.cpp
JoystickController.h
Joystick YG Nodes without trackd
if you want to use YG without trackd, you can use these nodes for joystick input. JoystickNode gets raw joystick input, while JoystickNavigator can be used in place of the CAVENavigator node to let you navigate in the YG environment.
JoystickNode.cxx
JoystickNode.h
JoystickNavigator.cxx
JoystickNavigator.h