Documentation / Troubleshooting

Table of Contents

Capture Suite

Audio

  • Log Error: Audio Failed to Open WMF Audio Device - this issue is rooted in other software taking control of your connected audio device. Ensure no other program is running or disable exclusive mode. To disable exclusive mode, right-click the Speaker icon on the Windows toolbar, and select Open Sound Settings. Click Device Properties located underneath Choose Your Output Device, then click Additional Device Properties located underneath related settings. In the line properties window, click the Advanced tab, then uncheck "Allow applications to take exclusive control of this device". Click apply, then click okay.

  • Cannot hear audio after clicking Start Monitoring - confirm you have followed the audio instructions found within the Capture Suite documentation here. Make sure you have selected the correct input and output devices. Also, ensure your audio is not muted on the PC.

Crashes

  • If the Capture Suite crashes when recording raw or compressed captures, ensure you have ample storage space on your SSD. Raw captures have an extremely large file size. If you are recording raw and compressed simultaneously, only record one. This might be a hardware resource bottleneck.

  • If you encounter a crash during a compressed recording, ensure your NVIDIA driver is up to date. In order to update your driver, head here. We recommend installing the studio driver, not the game ready driver.

  • If crashes persist during compressed recordings, and your NVIDIA driver is up to date, ensure your maximum vertices setting (found within the volumization section) is not set too high. If you are recording at a volumization resolution of 256, the default value for maximum vertices, 262144, should suffice.

  • If you are getting a crash when exporting from raw to compressed, try modifying the floor plane (Min Y) a small amount.

  • If your camera feeds are crashing and you see a slew of corrupt JPEG errors in the log, try reseating the RAM and/or GPU.

Volumization

Hardware Sync

  • Check infrared views of the cameras to ensure there are no pulses of light coming from any camera; failure to do so will cause arms and legs to fade in and out of sync.

  • Ensure that delay from primary is set for each camera in accordance with the settings outlined in the Calibration section of the Capture Suite documentation found here.

  • If camera feeds stop when enabling hardware sync, it could be one of a few things. First, ensure hardware sync is wired correctly for each camera and that the cameras are all updated to the latest Azure Kinect firmware. Instructions to update the Azure Kinect firmware can be found within the Installation Requirements section of the Capture Suite documentation here. This can also be caused by a bad USB extender, which is typically noted by corrupt JPEGs in the log. Ensure you use the cables noted in the hardware requirements section found here. It can also mean that there is a USB bandwidth issue, especially if you are not utilizing the required StarTech USB 3.0 PCIe cards outlined in the hardware requirements section. Finally, try unplugging your cameras and re-plugging them back into the computer one by one. Sometimes a PC shutdown will help as well.

  • If hardware sync is enabled and you still notice pulses of light from cameras in the infrared view, increase your delay from primary setting until the pulses of light cease or slightly modify the placement of your camera. All of the cameras' delay from primary settings will have to be updated accordingly. Ex: 160 (+5) = 165, 320 (+10) = 330, 480 (+15) = 495, etc. Restarting the Capture Suite may help. Make sure auto exposure is turned off and that this is done prior to enabling hardware sync.

  • If you still notice pulses of light from a camera, make sure there is no smudge or scratch on the camera lens that sees the camera with the pulse of light; also, try moving the camera that has the pulse of light or move the camera that sees the camera with the pulse of light.

  • If you notice no content rendering, but hardware sync is enabled, go through the sync chain via the camera tabs. You will eventually come across a camera that does not have a "Device Statistics" section. This means the camera in the sync chain right before this camera has their sync in and sync out cables reversed. Confirming the cables are in the correct port will solve this issue.

No Cameras Loading

  • Make sure all cameras are powered correctly, are plugged into the StarTech card, and have a USB 3.0 data connection with correct cabling; also, ensure they have a white light on the back.

  • Confirm you are only running one Capture Suite instance.

Mesh Export

  • Blurry Mesh - increase texture width and texture height - it is best practice to modify these values by a power of 2. If still noticing issues after increasing these values, increase the maximum solver iterations setting by at least 3x the default setting.

  • Blurry Mesh - increase maximum solver iterations; try increasing by at least 3x the default setting.

Streaming Locally

  • Ensure you have selected Local Server and the Compressed Capture selections in the Output section and then start a recording.

  • Confirm you have input the correct IP address found on your computer into your client device.

  • Confirm your firewall is disabled.

  • Make sure you have input the correct format - Ex: http://192.168.8.67:8080/Test_01642615614_master.m3u8.

Performance/Hardware

  • Zen 2 platforms (such as the Threadripper 3000 series) require lower triangle counts; decode catchups will be triggered if triangle count is too high for these platforms and you will experience poor playback performance.

  • Azure Kinect troubleshooting instructions can be found on Microsoft's website here.

  • If a camera shows no light on the front or back, swap the active extension cable to confirm the cause is a faulty extension cable.

  • Confirm that the cables coming from the Azure Kinect are plugged in correctly. The power cable should be plugged into the power adapter, not the USB extension cable.

  • If you encounter rendering speed issues (especially with hardware sync enabled), you may have an issue with your RAM clock speeds. You can use CPU-Z to view this, which can be downloaded here. Within the Memory tab, you want to make sure that you are not running in single channel mode (dual or quad mode, depending on your memory configuration) and that your DRAM Frequency is the maximum supported by your RAM. For example, if you're running in dual channel with 32GB of RAM at 3600Mhz, your DRAM frequency should be 1799 MHz. In order to modify the timings, you need to do this in the BIOS. You can enable the XMP Profile (DOCP/EOCP equivalent) within the BIOS which will set the ideal settings. Consult your motherboard manual to make sure your RAM is in the correct slots for dual or quad channel mode. The image below shows CPU-Z and correct settings for a machine with 32GB of RAM at 3600Mhz. Below is an image of CPU-Z. CPU-Z

  • If still experiencing rendering speed issues, decreasing the maximum queued frames setting from 5 down to 2 or 3 can help. Also, lowering the camera color and depth resolution can help as well.

  • If there is a flicker when viewing content in preview or a flicker in the color camera feed, open the log. If there is a corrupt JPEG error, this might mean the USB extension cable for that camera needs to be replaced. This can also mean your powerline frequency setting is not correct; 60Hz for North America, 50Hz for most other countries.

  • Corrupt JPEG

    • Confirm you have followed the steps and enabled the settings outlined in the Installation Requirements section of the Capture Suite documentation here.

    • Reboot the Camera - if this fixes your corruption issue, then the camera was in a bad state. Ensure you plug the power in first, then the USB-C cable.

    • Reboot the PC - if this fixes your corruption issue, then it was caused by a random Windows issue.

    • Isolate the camera having issues; only connect one camera to the PC and verify if you still receive the error - if this fixes your corruption issue, then you may have a USB bandwidth issue which is solved by utilizing the StarTech USB PCIe card referenced in the hardware requirements found here.

    • Remove the USB extension cable and test with a direct connection - if this fixes your corruption issue, then it was caused by a faulty USB extension cable.

    • If your USB extension cables require power, ensure they are powered correctly.

    • Ensure your StarTech external USB PCIe cards are powered by SATA cables.

    • Confirm your PC has an appropriately rated power supply and you are not under-powering the computer.

    • Confirm your hardware specs are included in the hardware requirements list from Soar.

    • Ensure your RAM timings are set correctly within the BIOS (enable XMP Profile) - DOCP/EOCP equivalent.

    • Make sure that your configuration has the maximum number of supported memory channels populated.

    • Reseat RAM and/or GPU.

    • Confirm you have storage space on your SSD.

    • If none of the above solve your corrupt JPEG issues, you most likely have an electrical issue in your capture room. Consult an electrician.

  • Memory Channels/RAM

    • Make sure that your configuration has the maximum number of supported memory channels populated. Failure to do so can cause performance problems.

    • If rendering is slow, ensure your RAM timings are set correctly within the BIOS (enable XMP Profile, DOCP/EOCP equivalent). Also, confirm there are no corrupt JPEG errors in the log as this means frames are not arriving on time and can cause calibration and rendering issues.

  • StarTech Card

    • If all of your connected cameras are not appearing in the Capture Suite, and this persists after clicking the refresh button, you most likely have a USB bandwidth issue. Consult the hardware requirements page and ensure you are using the recommended StarTech USB 3.0 PCIe card.

    • The StarTech card can shift in its socket, sometimes due to temperature changes - may need to be re-seated if experiencing issues such as corrupt JPEGs or cameras not appearing.

    • BIOS - ensure the BIOS is setup right for the cards. If the cards are forced to run in PCIe 1.0 mode, it can explain performance issues - ensure it runs in PCIe 3.0 mode; 4x per card.

  • External Hard Drive

    • Soar does not recommend capturing audio/video to an external hard drive.
  • Faulty USB Extension Cables

    • Lack of strain relief, carpeted room, or an exposed cable connector could destroy a cable and yield corrupt JPEG errors in the log. This will affect calibration and quality.
    • Be mindful of electrostatic discharge especially if you are continually grabbing metal stands as you are pulling out, or putting your hand near, the plugs of cables.

Visuals

  • Camera Temperature - we recommend having a temperature controlled room, with quality airflow, where the temperature is set in the range between 10 and 25 celsius. Temperatures towards the bounds, and lower or higher, have shown to reduce calibration and capture quality. Stay within 10 - 25 celsius.

  • Wardrobe - when selecting a wardrobe for your subject, avoid materials that absorb infrared light such as shiny, plastic, or reflective items as well as black cloth. These materials will not appear properly in the capture.

  • Hair/Objects Not Appearing - some hair types and objects will not work great with the Azure Kinect cameras due to lack of infrared reflectivity. Using Vitamin E or Keratin hairsprays can bring back some volume for hair. These sprays, in addition to body powder sprays such as Gold Bond Talc-Free Body Powder Spray, can also make some objects appear as well. You can note this issue by going to a depth view of a camera and seeing invalid pixels (black pixels) on the object or hair of the subject.

  • Hair Not Appearing - utilizing the smart hole filling (found within the Processing section after enabling Experimental Settings in the UI Settings section) can help mitigate this issue. Modifying the Maximum Smart Fill Length setting can help bring hair back.

  • Hair Not Appearing - another way to help some hair types not appearing well is to modify your setup. Move your high cameras closer to the subject and raise your high camera's height, then tilt them down a bit more. The idea here is to get more light on your subject's head from the IR blaster within the camera so that the hair will show up better in Infrared and Depth views. When you try this, you want to assess the depth view and ensure there are minimal black pixels on the head of your subject. Also, reducing the background ambient infrared will increase the contrast and improve hair pickup. Hanging up a curtain (preferably matte gray) so that the background is not seen within the camera view will help as well. You want the background to be a solid yellow/orange in the depth view, much like the floor. Non-LED lights also exacerbate this issue, so make sure you only use LED lights.

  • Hair Not Appearing - head to the Azure Depth Settings dropdown within the depth section, which resides in the camera tab. Modifying the Reflectivity Min Threshold to 0, from its default of 1, may help bring back hair. You may have to apply this to more than one camera.

  • Motion Blur - if the subject is in faster than usual motion, decrease the exposure time for your cameras; ensure lighting matches. The brighter the lighting, the lower you can drop the exposure.

  • Texture Bleed - if the texture from the hands bleeds onto the mesh, or you have some background bleeding onto the legs, ensure that texture bleed removal is enabled - found within the volumization rendering section. The pictures below show a capture without texture bleed removal turned on (denoted by the red 'x') followed by a capture with texture bleed removal turned on (denoted by the green star).

  • Texture Bleed - lighting and depth noise from your environment (invalid areas) can add to texture bleed issues. Not utilizing the correct lighting (LED) can result in worse texture bleed and exacerbate issues such as fingers bleeding onto the torso. Not having a high quality background (denoted by orange/yellow reading, rather than black, in the depth view) will impact your content. You should see what is denoted by the image below. Good Depth

  • Texture Bleed - if your calibration is good, but you are still experiencing texture bleed, this can be due to badly biased depth from cameras at a glancing angle. This mostly impacts the lower corner cameras. Moving the placement of these cameras left or right a bit can help reduce this issue. Also, ensure they are not set up at a height less than 3 feet as this will exacerbate noise.

  • Texture Bleed - ensure you have setup your cameras in accordance with the documentation outlined in the Environment Setup guide found here.

  • Texture Bleed - utilizing a top camera (shooting down) can help areas where there is a lack of quality camera coverage, which results in more texture bleed.

  • Texture Bleed - modifying camera placement to reduce areas of low coverage will help; i.e. increasing height of high cameras.

  • Background Bleed Around Arms/Legs - if there is white background bleed around your arms or legs, try increasing the distance falloff setting a bit. This issue is exacerbated by cameras not having a good view of a specific area and generating noisy depth that is not corrected by other cameras.

  • Ceiling in Scene - if the ceiling appears within the bounding box after adjusting your bounding box settings to chop it out, increase your minimum coverage setting, found within the Volumization section. The minimum coverage setting specifies how many cameras need to see a point so that it renders.

  • Noise Around Arms/Legs - ensure you have setup your cameras in accordance with the documentation outlined in the Environment Setup guide found here; softening the light may help as well.

  • Noise Around Arms/Legs - lower smart hole filling settings.

  • Noise Around Face - ensure cameras are set as outlined in the Environment Setup docs; if cameras are too close to the subject (and the face is extremely bright in the Infrared view), you will generate noisier results.

  • Blocky Calibration Cube - if your calibration cube appears blocky or distorted, and the vertex solving is set to point cloud reference, tighten up your bounding box. The larger your bounding box, the less resolution you will have as the resolution will be spread over the whole volume of the bounding box. The images below show how your calibration cube should look.

  • Arms/Legs Clipping Out - if you notice arms and legs clipping out even though your bounding box is large enough, check the depth views on all cameras to make sure the subject does not clip out of view - camera placement may need to be modified so that a subject is always in view of the camera, or the minimum coverage setting might have to be decreased. The minimum coverage setting specifies how many cameras need to see a point so that it renders. It's important to note that the color and depth cut-off points are slightly different, as noted in the pictures below.

  • Arms/Legs/Head Waving In and Out with Motion - ensure that hardware sync is enabled; if delay from primary values are set correctly, try incrementing the values by a few microseconds starting with the first camera after the Primary camera. Ex: 160 (+5), 320 (+10), 480 (+15), etc.

  • Arms/Legs/Head Waving In and Out with Motion - ensure there are no invalid areas behind the subject.

  • Skinny Content - if your content is super skinny or looking really off, at least one of your cameras is mis-calibrated. The tip below shows an image of a bad calibration, followed by a good calibration. It also details how to diagnose the mis-calibration and how to fix this issue.

  • Noise on Calibration Cube - if you notice lots of noise (ripples) on the calibration cube, this is due to camera placement. One or more of your high cameras can see another marker on a glancing angle; this may be a very slight angle. Ensuring the high camera is directly set on the marker for each face should eliminate this issue.

  • Content Flickering/Not Rendering - if your content is flickering or not rendering, and you are sure it's not a hardware issue, check to see if your volumization resolution is set to 256 and the maximum vertices is set to 262144. If you volumization resolution is higher, you will need to increase your maximum vertices until your content reappears. Be sure to not increase your maximum vertices setting too high, only to the point where your content re-appears (and a little bit more), as this can crash your compressed recordings.

  • Black Mesh First Frame on Playback - after exporting from raw to compressed, if your content's first frame is black (shown in the image below) try re-exporting. If this does not solve the issue, try changing the crop in point to 0.1. This issue will appear randomly.

  • Low Color Resolution on Playback - increase max bitrate within Output section from 10000 to 150000, or more. Note that this will increase file size.

First Frame Black Mesh

OBJ/PLY/GLB Mesh

Visuals

When importing a mesh that you have exported, disable any lighting (such as directional) and shading (such as albedo) within the Mesh viewer as this can impact visual fidelity - your mesh should look like the image with the green star.

good-mesh bad-mesh

Unity Package

Building

Android Version Issue - we only support Android 10+, so you must be on API 29+. This setting can be modified by going to Build Settings -> Player Settings -> Player -> Android and changing the Minimum API Level to at least Android 10.0 (API 29) - this is referenced in the image below.

android api

Importing Package

Meta Quest Error - if you are receiving an error regarding the SoarInteractionRigOVR prefab, as noted in the screenshot below, ensure you have imported the Oculus Integration Unity package: https://assetstore.unity.com/packages/tools/integration/oculus-integration-82022

quest error

Mesh

Black/Pink Mesh - if you experience a black or pink mesh on playback, ensure you are utilizing the correct material for your pipeline; Core, URP, HDRP. This can be modified by clicking into the Volumetric Model -> ModelMesh -> Mesh Renderer and modifying the material, as seen in the image below.

Black Mesh - if you experience a black mesh on playback, ensure that you have set the color space to gamma for every platform in the player settings (Rendering section) except when building out to the Quest devices (within the Android tab); it should be set to linear for ONLY Quest devices.

Mesh Not Appearing on Device - confirm you have selected the scene to build in Unity.

Mesh Not Appearing on Device - confirm you have selected the correct Graphics API within Unity for your device.

Performance

Slow/Choppy Playback - your capture may be too geometrically dense. Captures over 200K triangles (and over 150K triangles for the Oculus Quest/Meta Quest 2) may experience decode catch up errors. To fix this, re-export your capture from the Capture Suite with a lower triangle count - this is done by reducing the Volumization Resolution. More information is found within the Capture Suite documentation.

Resolution

Blurry Content - if your capture is blurry, as seen in the screenshot below, ensure your Render Scale (set within Assets/Soar/URP/UniversalRenderPipelineAsset - Quality is viewed in the inspector when the UniversalRenderPipelineAsset is highlighted) is set to 1. Also, make sure that if you're in the game view within Unity that your scale is set to 1. These changes are highlighted in the pictures below.

Streaming Locally

  • Ensure you have selected Local Server and the Compressed Capture selections in the Output section and then start a recording.

  • Confirm you have input the correct IP address found on your computer into your client device.

  • Confirm your firewall is disabled.

  • Make sure you have input the correct format - Ex: http://192.168.8.67:8080/Test_01642615614_master.m3u8.