UtVRPN is an extension of CaveUT 2004, v187 and later. UtVRPN allows a remote operator to use a UDP connection to move the single player in a simple CaveUT installation. It is useful for implementing common VR interface controllers, such as a treadmill interface for locomotion to the virtual environment. The latest CaveUT installation with UtVRPN is available upon request from goshen@publicvr.org We at PublicVR hope to have a public release and website for it somtime in December 2007.
UtVRPN is currently part of the CaveUT installation and requires that CaveUT be active in order to function. As time allows we will make it into an independent package. When we do, we intend to make UtVRPN into a standard client for another feeware package, "Virtual Reality Peripherals Network". VRPN handles a range of particular VR interface devices, such is HMDs, tracking gloves, treadmills, and much more. It allows the client program (such as a future UtVRPN) to handle much of the input and output of these devices in a generic way.
(This paragraph assumes knowledge of CaveUT 2004) To activate UtVRPN, start a listen server with the CaveUT and UtVRPN mutators active. Connect the spectator clients to the server in the normal way. To move the client using UtVRPN, simply send one or more UDP packets to the port (on the server machine) UtVRPN is listening to. Press the "J" key to toggle between normal UT2004 navigation and UDP driven movement.
The UDP Packet is a space delimited string of 5 floats in this format:
Linear_Velocity(m/s) Rotational_Velocity(deg/s) Head_delta-X(cm) Head_delta-Y(cm) Head_delta-Z(cm)
Movement and Rotation continue at the specified velocity until another packet is read. Linear Velocity is positive when moving forward and negative when moving in reverse. A value of zero stops the movement. Rotational Velocity is positive when rotating clockwise (right) and negative when rotating counter-clockwise (left). Again, a zero value stops rotation.
The Head delta* parameters are currently unused. They are included for future support. All parameters for UtVRPN are contained in CaveUT.ini, in two sections:
[UtVRPN.VRPNPawn]
bTreadmill=true # Activates UtVRPN when true.
VelocityStep=50.000000 # Depricated--will be removed.
bControlRotation=false # Activates UDP control of angular
# motion when true
[UtVRPN.UDPVRPN]
VRPNPort=50000 # Specifies the port UtVRPN listens to
# for new packets
[UtVRPN.VRPNmut] # These parameters actually have
BaseEyeHeight=38.00 # nothing to do with UtVRPN, directly,
CollisionRadius=25.00 # and will soon move to one of the
CollisionHeight=44.00 # CaveUT mutator's parameter areas.
Please direct any questions you have to jeff@planetjeff.net