VCAT Documentation

Video Introduction to VCAT

Downloading VCAT

You can always download the latest version of VCAT at https://www.marui-plugin.com/download/vcat/ .
Please use the username (subscriber ID) and password (license key) provided to you when you purchased VCAT.
You will received them via email sent to the account associated with your PayPal account. (The sender address will be contact@marui-plugin.com)
On some occasions, the email is accidentally identified as SPAM by your SPAM filter. If you did not receive the email, please check your “SPAM” folder.
If you have lost your username and password, please contact us at support@marui-plugin.com

The Android App can be downloaded from the Android Play store, or from our website (as .APK app installation file).

Installation

No installation is required. Just place the plug-in file (.gup for 3dsMax, .mll for Maya) in the respective folder on your hard drive.

For 3dsMax, this would be the “Plugins” sub-folder of your 3ds Max installation.
For example:

C:\Program Files\Autodeskds Max 20XX\Plugins

For Maya, you can – but don’t have to – place it in the plugins folder of your Maya preferences folder:

C:\Users\\Documents\mayaXX\plug-ins

If you place it in a different folder, you can use Maya’s plug-in browser to find and load the plug-in.
For convenience, we recommend placing it in a folder that is part of Maya’s plug-in search path.
By default, this could be C:\Users\\Documents\maya\\plugins,
or you could edit your Maya environment file (usually C:\Users\\Documents\maya\\Maya.env) and add the line:

MAYA_PLUG_IN_PATH = C:\path\to\MARUI

Android App installation

You can install the VCAT android app either from the Play Store or by downloading an app installation file (.APK).

The VCAT android app is available for free download from the google play store.
Follow the link below or scan the QR code to install the Android app on your device:
https://play.google.com/store/apps/details?id=com.maruiplugin.vcat
QRCode for VCAT app

Alternatively, you can install the VCAT android app by downloading the .apk file from our download website (https://www.marui-plugin.com/download/vcat/) to your device and open the downloaded file.
This may cause Android to prompt you whether you want to install apps from unknown sources.
Accept and continue the installation.

Loading

If you’re using 3dsMax, VCAT will be automatically loaded the next time you start 3dsMax, and a new menu will be added to the title bar.

If you’re using Maya, you need to use the Maya Plug-In Manager to load VCAT. Start Maya and open the Maya Plug-in Manager (Window > Settings/Preferences > Plug-In Manager) and check the “Loaded” checkbox next to VCAT. If VCAT is not in the list, use the “Browse” button at the bottom of the Plug-In Manager to locate your VCAT PlugIn (.mll) file.
You can use Maya’s “Auto Load” function (the checkbox in the Plug-in Manager window) to make Maya load MARUI automatically on start-up.

Upon loading MARUI, the following error message may appear:

Startup Warning Shelf
If a shelf with the name “MARUI” already exists, then MARUI will ask you wether you want to overwrite this shelf or if MARUI should use a different shelf name.
This is a safety feature intended to protect scripts you have placed in your shelf.
It can happen that Maya does not correctly remove the MARUI shelf when shutting down. Then it is best to overwrite the old shelf tab.
However, if you are using a shelf tab called “MARUI” for your own scripts, please choose Create separate shelf tab.

Troubleshooting

If you are unable to load VCAT, please make sure that you have the proper VCAT Plug-In file for your version of 3dsMax or Maya.
Note that Maya2016 and Maya2016Extension2 (sometimes called Maya2016EXT2 or Maya2016.5) have different Plug-In files.
MayaLT versions are not able to use plug-ins, so VCAT cannot be used with MayaLT.

Licensing and Activating VCAT

When you load VCAT for the first time, you have to activate your license.
The license is then bound to this PC. If you wish to use a different PC, please contact us at support@marui-plugin.com.

In 3dsMax, the “VCAT” menu in the title bar menus will contain a menu item called “Activate License”. Use it to activate your license.

In Maya, the “VCAT” shelf tab will contain a Licensing button.
Icon License
Please press the button to open the MARUI license manager.

Please use the user name (subscriber ID) that you received via email when you purchased MARUI.
If you lost your username and password, please contact us at support@marui-plugin.com

Starting VCAT

On 3ds Max, the VCAT menu in the title bar menus will contain menu entries to start VCAT either with the Oculus Rift app or with HTC Vive (SteamVR).
If neither of the two menu items appears, please make sure that you have either the Oculus App or SteamVR installed and that your VR device (headset) is connected to your PC.

In Maya, when VCAT is loaded, a shelf tab named “VCAT” will be available on the Maya shelf.
Start VCAT by opening the MARUI Shelf-Tab and clicking the VCAT Icon.
vcat icon

A “Wizard” type dialog will open where you can set up the basic work environment and press a “Start” button to start VCAT.
After you click the “Start” button, a new window will open (this may take a few seconds).
This window will show the virtual scene that you can broadcast to your Android app.

Troubleshooting

If you are unable to start VCAT or receive the error message: “ERROR: Could not detect VR device. Make sure you have the appropriate device drivers / runtime installed.”, VCAT was unable to detect any VR device on your computer.
Please go to https://www.oculus.com/setup/ (for Oculus Rift) or http://store.steampowered.com/about (for Steam VR), download and install the required software, and ensure that the device is connected properly to your computer.
In order to use Windows MR headsets, make sure you have Steam installed and Start Steam, go to ‘Library’ -> ‘Software’ and install ‘Windows Mixed Reality for SteamVR’.

Attaching Objects to VR devices

While VCAT is running, you can attach objects in your 3dsMax or Maya scene to follow the motion of your VR devices such as controllers or Vive trackers.

Select the object you want to control with the VR controller, headset or Vive tracker and press the “Attach” button in the VCAT dialog.

The two values below the “Attach” button control the effect of the attachment in terms of position and rotation. A value of one means full effect, a value of zero means no effect. This way, you can decide whether you want to control only the objects position but not its rotation or only its rotation without affecting its position.

The “Keep current offset” checkbox decides whether the position of the object will be completely changed to match the VR device, or whether only relative motion on the VR device will be added to the current position of the object. If the checkbox is checked, the position of the object will not immediately change, but from now on moving the VR device will affect the object.

Below the checkbox, you have rotation offsets that allow setting how the orientation of the VR device relates to the orientation of the scene object. This allows you to ensure that the camera is facing in the correct direction.

Recording motion as Keys/Keyframes

Below the various “Attach” buttons, there is a section to control the recording of the motion as animation keys on the attached objects.
The “Record Keyframes” checkbox controls whether VCAT created animation keys on the attached objects.
 
The “Start/Stop playback” button controls 3dsMax animation playback, just like the “Play” button in the 3dsMax timeline.
There is also a “Pause All Tracking” button to temporarily disable all VR attachments altogether.
 
You can also use your VR controllers (Oculus Touch, HTC Vive Wands etc) to control playback and recording.
By default, the trigger button will enable and disable keyframe recording, and the A, X or Menu button will start and stop plackback.
But you can change this behavior by selecting a different function in the VCAT dialog.
 
You can also circle your thumb around the touch pad or thumb stick of the controller to control the time in 3dsMax or Maya.
Alternatively, you can change this to control an attribute or property of the attached object, for example the focal length of a camera.
Just change the ThunbStick/TouchPad control to “Property” and enter the property or attribute name into the “Parameter” text box.
Please see the 3dsMax and Maya scripting reference manuals for details on the names of properties and attributes.

 

Below the various attachment buttons, you also have controls of how the complete scene will relate to your real world in terms of position (where in your real environment the scene origin will be), rotation (which direction the scene is facing), and scale (how large the scene is compared to the real world).
VCAT by default uses your 3dsMax system units (“Customize” -> “Units Setup” -> “System Units Setup”), and will relate the real world and virtual units 1-to-1 respective to your system units. You can either change the system units or use the scale factor to adjust the scale of the scene in the real world.

Scene Set-Up

At the bottom of the VCAT dialog, you also have controls of how the complete scene will relate to your real world in terms of position (where in your real environment the scene origin will be), rotation (which direction the scene is facing), and scale (how large the scene is compared to the real world).

VCAT by default uses your 3dsMax system units (“Customize” -> “Units Setup” -> “System Units Setup”), and will relate the real world and virtual units 1-to-1 respective to your system units. You can either change the system units or use the scale factor to adjust the scale of the scene in the real world.

You can also chose to “attach” the VR environment to an object in the 3dsMax scene. The VR world coordinates will then be relative to this attached object.
This way, you can animate an object in your 3dsMax scene and use it as a “dolly” platform from which you operate your VR capture system.

Using the Android App as remote camera view

To see your camera view on your android app, you must install the VCAT android app.
You can get the VCAT android app from the Google Play store by scanning this QR code:
QRCode for VCAT app
Alternatively, you can download it as an APK file from the VCAT download page and and install by opening the downloaded APK file.

In 3dsMax or Maya, go to the streaming dialog and select your preferred Wireless network. VCAT will show you the IP address of the PC.
Open the VCAT app and enter the IP address of the PC where VCAT is running.
If you’re having trouble to connect to the app, please check if your firewall or PC security app is preventing the connection. In Windows, you might have to either temporarily deactivate the Windows firewall or allow 3dsMax or Maya to receive incoming connections from the network.

If your PC is not already on a wireless network or if your wireless network does not allow connections between clients, then you can use Window’s “mobile hotspot” feature in the Windows WiFi settings to create a new network. On your android device you can than connect to this network.

You can control the quality of the video stream with the “Quality” value (up to 100%) to adjust for network or WiFi congestion. If the video feed stutters, try using a lower value.

If the WiFi connection is too slow to allow good image quality streaming, you can also use a USB cable if your android device allows tethering.
Connect the Android device to the PC, and on the Android device open your settings, search for “Tethering” and enable “USB Tethering”.
Then the USB connection should appear as a network connection on your PC and should be selectable in VCAT (for example as “Remote NDIS Based Network”).
Please note that while in “tethering” your PC will try to access the internet through your android device, so you might want to disable Mobile Data on your android device to avoid paying for the data charges.

At the bottom of the streaming dialog, you can choose whether to stream only the camera view or the whole windows desktop, allowing for additional render views or other information to be visible on the Android app.

Recording motion as keyframes

To record your movements as keyframes on the attached object or camera, you can:
– select the object (or camera), turn on auto-keyframe, and press play to start the recording
– use the controller buttons and thumb-stick / touch pad to start and stop the recording (see next section).

Use the 3dsMax or Maya time configuration to control how many keyframes will be recorded per second of real time.

Using the controller buttons and thumb-sticks to control VCAT

In the VCAT dialog, you can choose which buttons on your controller activate various functions like playback and recording.
You can also use the thumb-stick or touch-pad on your controller to zoom through the time-line (ie change the current time), change a camera parameter (eg focal length or zoom) or to change the global scene position.
To use the thumb-stick to change the current time/frame, select the “Time” item from the menu and move the thumb-stick in a circle.
To change a camera parameter, select the “Property” item from the menu and type the script name of the property (attribute) in the parameter text box. Then you can change the property by moving the thumb-stick in a circle. For a list of property names please see the 3dsMax or Maya scripting documentation.
To change the scene position, select the “World Position” item from the menu and push the stick into any direction. You can change the speed of the motion by typing a number into the “Property” text field. For example “0.5” will half the speed, “2” will double the speed.

Using HTC Vive Tracker(s) without a headset

You can use HTC Vive Tracker(s) without an HTC Vive headset. However, you will still need the Base Stations (a.k.a “Lighthouse”), and the USB dongle (usually included with the trackers) connected to your PC. You also need to have Steam installed ( https://store.steampowered.com/about/ ), and in Steam you need to download and install SteamVR.
With this set-up, you can enable headset-less tracking with the following steps:

(1) In your Steam installation directory in /steamapps/common/SteamVR/drivers/null/resources/settings/ open the file default.vrsettings in a text editor and change the value for “enable” to “true“.
(2) In your Steam installation directory in /steamapps/common/SteamVR/resources/settings/ open the file default.vrsettings in a text editor and change the value for “requireHmd” to “false”, the value for “forcedDriver” to “null”, and the value for “activateMultipleDrivers” to “true”.
In some cases it may be required to perform these changes in the file <SteamDirectory>/config/steamvr.vrsettings as well.
(3) If SteamVR is running, close it.
(4) Start SteamVR.
Note that the text “Not Ready” may appear, but the tracking should still work.

Scripting

You can use Maya MEL or MaxScript to automate the set-up of VCAT.

To initialize VCAT, you must call one of either of the following two commands:
MARUI.VCAT.StartSteamVR()
or:
MARUI.VCAT.StartOculus()
whichever VR app you wish to use.
※This call must be executed before any other scripting command.

You can then use scripting commands to perform the actions you would usually do manually in the MARUI menu:
Set the global scene position/offset, rotation, and scale:
MARUI.VCAT.SetScenePosition [10, -20, 30]
MARUI.VCAT.SetSceneRotation 45
MARUI.VCAT.SetSceneScale 1.23
MARUI.VCAT.SetPauseTracking true
MARUI.VCAT.SetPauseTracking false

You can use the scripting methods on the individual VR device objects to attach 3ds Max objects and set the rotation offsets:
$Headset.VCAT.AttachObject $Box001
$Headset.VCAT.SetRotationOffset [45, 90, 180]

You can also register a callback listener for controller interaction to customize the user interface.
The callback function should have the following signature:
function myEventListener device target event x y =
(
    case event of
    (
        “Press”:
        (
            print (target + ” pressed on ” + device)
        )
        “Release”:
        (
            print (target + ” released on ” + device)
        )
        “Touch”:
        (
            print (target + ” touched on ” + device + ” at ” + x as string + “, ” + y as string)
        )
    )
)
In this function, target is the button or part of the controller that the user interacted with can can be “TouchPad”, “MenuButton”, “Trigger”, “GripButton”, “ThumbStick” and so on, depending on which VR controller you’re using.
The device parameter is a string that identifies the VR device that the user is interacting with. This can be “RightController” or “LeftController”.
The event parameter is a string describing what kind of interaction just happened and can be “Press”, “Release” or “Touch”.
Finally, the x and y parameters are floating point variables that provide additional information such as where on the touch pad the user is touching or in which direction the thumb stick is pressed.

To register the event callback listener:
MARUI.VCAT.SetEventListener “myEventListener”
Note that when a even callback listener is registered, the usual controller interaction is disabled.
To un-register the event callback listener:
MARUI.VCAT.SetEventListener null
As soon as you de-register the event listener, the default controller interaction is activated again.

Uninstall

No un-installation is required.
You can just delete the MARUI plugin file.

To keep your license and settings for re-use at a later time, or to reset your settings, you can find the files on your disk at the following location:

3dsMax:
C:\Users\<YourName>\AppData\Local\Temp\VCAT*

Maya:
C:\Users\<YourName>\Documents\maya\<MayaVersion>\prefs