LOCAL PROCESSING INSTALL & RUN NO SUBSCRIPTIONS

Body v1 Changelog

Complete release history of Brekel Body v1, newest first. Converted verbatim from the release notes published with each version.

v1.78

  • ported video recorder from Body v3 back into v1
    • with support for new codecs, bitrate conrol, hardware encoding (when available)
  • cleaned up some of the GUI layout stretching behaviour

v1.77

  • small optimization in the sensor’s video processing code
  • added plugins for MotionBuilder 2024, 2025 & 2026
  • switched to a new crash detection & logging system
  • improved, streamlined, styled and updated installer

v1.76

  • updated to new build environment
  • installer and app are now signed by a new EV code certificate

v1.75

  • updated internal libraries to latest versions
  • updated to FBX 2020.3.1
  • updated to FFmpeg 5.0.1
  • updated to Visual Studio 2022 with all the latest compiler optimizations

v1.74

  • Added MotionBuilder 2023 plugin

v1.73

  • Added MotionBuilder 2022 plugins

v1.72

  • lots of small bugfixes, prevention measures, optimizations and potential memory leaks based on static code analysis

v1.71

  • improved compatibility with more audio devices
  • updated internal libraries
  • updated code signing certificate

v1.70

  • internally now forces the use of desktop OpenGL drivers (which was the default on almost all machines anyway)
    • overruling a QT_OPENGL environment setting that a user or other program may have set
    • a QT_OpenGL setting of “angle” could prevent some GUI widgets from being drawn
  • updated internal libraries

v1.69

  • last message log file is now moved to a _old folder at startup so we always keep the current and previous log for debugging / crash reporting purposes
  • updated 2D & 3D OpenGL windows and drawing internals to a more modern widget class
  • updated to new compiler profiting from new optimizations
  • updated a bunch of internal libraries to the latest versions

v1.68

  • fixed an issue with “opencv_world430.dll” not loading on some machines in previous version

v1.67

  • small update to Remote Triggering
  • updated some of the internal libraries

v1.66

  • fixed issue with crash report generation/upload

v1.65

  • moved all licensing options to their own menu in the top menu bar
  • added functionality to the top menu to remove license file (so you can install it on a different machine)

v1.64

  • updated the GUI stylesheet
  • added MotionBuilder 2020 plugin
  • trial now records up to 10 seconds
  • consolidated some cross application code
  • fixed a bug that could cause a crash on recording stop
  • added option to directly upload a crash report to the Brekel server
  • added toggle option to Settings menu at the top for turning High DPI Scaling On/Off on next application start
  • started digitally signing executable to help alleviate anti-virus false positives

v1.63

  • added error message popup window when a file cannot be written to alert the user more vigorously
  • internally switched to a different library packaging system
  • updated internal libraries to latest versions
  • cleaned up dll files

v1.62

  • Unreal Live Link enabled state wasn’t saved/loaded between sessions, fixed now
  • added MotionBuilder 2019 plugin
  • rearranged MotionBuilder plugins page in the installer
  • moved log and all other user settings file to Brekel folder in Documents folder
    • to avoid clutter when using multiple Brekel apps on a machine
  • updated to latest Qt and OpenCV libraries

v1.61

  • added extra options for writing older FBX formats
  • changed FBX file type naming to 2006-2018 naming convention, with internal file format (v6.1 - v7.5) in parentheses
  • timestamp in TCP/UDP stream sometimes wasn’t accurate due to floating point precision
    • the timestamp now rolls around every 1000 seconds to leave more room for decimal precision
  • added functionality for live streaming into Unreal Engine4 using their “Live Link” protocol
    • added example FBX file (“UnrealEngine4” folder in installation folder)
    • added chapter to the documentation
    • note: live streaming is not available in the free Trial version, simply request an evaluation version if you want to test this

v1.60

  • maintenance release
  • upgraded internal libraries for latest security and performance updates
  • now compiled with visual studio 2017

v1.59

  • fixed crash log files as some filetypes were giving issues with the new mail server
  • when using “Record Triggering” the “Append Date/Time” is now respected when it’s enabled on the Master

v1.58

  • updated internal libraries to latest version to take advantage of latest
    • performance updates
    • security updates

v1.57

  • “Auto Filename” is now renamed to “Append Data/Time”
    • it will now always respect the manually set filename
    • and when turned ON simply append the date/time to it
  • added logger window
    • the info from the black console window is now displayed in a logging window in the GUI of the app
    • logging info is also saved to a log file (in your My Documents folder)
  • Added crash reporting feature
    • when a crash is detected log files and debugging info is collected
    • a zip file will be placed on your desktop
    • and a dialog box will ask you to send this file by email so the cause can be debugged

v1.56

  • added MotionBuilder 2018 plugins
  • 2D and 3D openGL drawing should be a bit more efficient now
  • increased size of font in black console window
  • file browser windows now handle symbolic links correctly
  • fixed a bug where camera could get too close to it’s target
  • updated libraries to latest versions
  • stopped support for 32bit version

v1.55

  • “new version available” window now shows full changelog, not just the last change
  • license installer should now warn if no license key file was found in a zip archive

v1.54

  • added option to stream OSC (Open Sound Control) data out to other applications (see documentation on available OSC messages)
    • including Synapse emulation mode for joint messages (works with apps like Kinectar)
    • including OSCeleton emulation mode for joint messages (works with apps like Kinectar)

v1.53

  • upgraded C++ 2015 redistributable installer to SP3 to avoid problems for fresh installs

v1.52

  • updated internal libraries
  • added support for for MotionBuilder 2017

v1.51

  • better support for high DPI screens
  • maintenance release, updated to Visual Studio 2015, Qt 5.6 and FBX SDK 2016.1.2

v1.50

  • maintenance release, updates to internal libraries

v1.49

  • maintenance update with some small change to update mechanism
  • C++ redistributable libraries (vc_redist) are now installed in a different way

v1.48

  • fixed small but crucial bug for checking if update is available

v1.47

  • small modification on checking if update is available

v1.46

  • cleaned up some of the console window’s output when running in headless mode
  • added “-forceDeepCopy” commandline option to prevent a rare multi threading crash when running the software for days on end (note that this does make the software a little more resource hungry, and does not affect running in headless mode which is recommended in those cases anyway)

v1.45

  • added option to menu to help with manual license installation
  • a Network Triggered recording will now create a folder if it has to
  • updated to Qt 5.5

v1.44

  • fixed bug where on some systems audio devices weren’t being detected properly

v1.43

  • fixed bug where Remote Trigger could fire record start signals for formats that were disabled

v1.42

  • now includes plugin for MotionBuilder 2016

v1.41

  • license installation is now done with elevated administrator privileges to avoid problems on certain machines

v1.40

  • now provides some additional help when license extraction/copy fails

v1.39

  • maintenance release
  • fixed bug with audio devices not being recognized on some systems
  • using latest compiler with newest memory and speed optimizations
  • updated internal libraries to latest versions

v1.38

  • implemented new viewport camera navigation system (same controls, new math)
  • CTRL-A now frames the pointcloud in the viewport
  • CTRL-F now frames the tracked skeletons in the viewport
  • added follow mode that automatically keeps skeletons framed in camera view
  • various internal optimizations and cleanup

v1.37

  • CSV exported now correctly exports head data

v1.36

  • includes MotionBuilder 2015 plugin
  • added “Restore interface to default” option to the “Settings” menu
  • implemented Record Triggering to synchronize recording between multiple Brekel applications
    • works across multiple apps on the same computer
    • works across multiple apps on different computers on the same network

v1.35

  • local rotation axis for collars weren’t aligned properly in BVH files
  • it is now possible to define separate output folders for each export format
  • beeps for recording start/stop/countdown didn’t always work, should be fixed now
  • updated to Qt 5.2.0
  • updated to Intel TBB v7.2
  • updated OpenCV to 2.4.8
  • updated to FBX SDK 2014.2.1

v1.34

  • sensor calibration position/rotation wasn’t being correctly applied to the output data, fixed now

v1.33

  • rewrote license unzipping & installation code as it was problematic on certain machines
  • licensing options from top menu are now greyed out on trial as they only work on the eval/retail version

v1.32

  • several speed optimizations
  • streamlined threading code
  • preview window now displays “preview” in the viewport
  • updated core to 1.91
  • upgraded to Intel TBB v7.1

v1.31

  • added ability to switch video mode between Color and InfraRed
  • skeleton now draws correctly in depth view when sensor transformation is changed
  • preview window camera is synced to live camera now
  • preview window now correctly get’s the sensor transformation
  • fixed some problems with the commandline mode for reading settings and starting properly
  • rearanged GUI layout slightly
  • updated core to 1.90
  • updated to Qt 5.1.1
  • updated to Microsoft Kinect SDK v1.8

v1.30

  • added “Preview after record option”
    • after recording the last take can be played back by switching the main 3D viewport from “Live” to “Preview” tab
    • here you can decide to delete or keep this take
    • note that the “Preview after record” will make the GUI auto switch to the preview tab after each recording
  • added button to reset tracking
  • network stream wasn’t sending procedurally generated lower body joints in “Upper Body Only” tracking mode
  • added functionality to draw people positions
    • position of 6 people can be tracked (only 2 with full skeletons)
    • this is also streamed to the network stream
  • pointcloud calculation internally uses a faster algorithm to reconstruct 3D points
  • slightly adjusted GUI theme (because of upgrade of Qt libraries)
  • more gracefully quits now
  • updated core to 1.85
  • compiled with Visual Studio 2012
  • updated to Qt 5.1.0
  • updated to FBX SDK 2014.1

v1.23

  • some additional code checks to prevent divison by zero errors in filtering code
  • GUI now displays how many people are seen (up to 6)
  • network stream now also outputs how many people are seen and their 3D body positions
    • added at the end of the network protocol to prevent breaking existing client solutions
    • see documentation for updated network protocol

v1.22

  • Old Algorithm filter works again as it should
  • added a “Fixed timesteps” function to the New Algorithm filtering
    • normally (when OFF) the filter takes into account the actual elapsed timesteps in case the fps flucuates
    • turning it ON locks this to 30fps (for filtering only) to prevent jitters on slow machines
    • experimental so please try and let me know what you prefer
  • lower body is now automatically initialized

v1.21

  • rewritten skeleton picking code, should be more robust now
  • cleaned up parts of the skeleton processor, slightly faster now
  • Old vs New filtering usage setting wasn’t saved/loaded, fixed
  • fixed possible division by 0 in new filtering algorithm
  • added functionality to extra filter occluded joints (for new algorithm)
  • NOTE: old filtering algorithm is temporarily broken and defaults to: no filtering

v1.20

  • color stream should no longer occasionally flicker
  • implemented new filtering algorithm with significantly better smoothing, much less lag, and only two parameters to tune
  • new filtering allows an additional filter pass for hands and/or feet to smoothen them a bit more
  • holding CTRL while click & drag with left mouse button now also pans (for laptop trackpad users)
  • holding Shift while click & drag with left mouse button now also dollies (for laptop trackpad users)
  • MotionBuilder icon is now higher resolution
  • small memory and speed improvements
  • fixed a potential buffer overflow issue in the skeleton picking code
  • columns in CSV files didn’t include “time” causing data to be shifted
  • when tracking upper body only
    • the lower body no longer dangles underneath
    • user can initialize it and it will stay static in that position
  • improved neck joint accuracy in upper body only tracking mode
  • raised default sleep time from 5 to 10 ms
    • more consistent 30fps framerate
    • no longer occasional drops of TCP connection
  • sensor settings (tilt, calibration etc) are now correctly saved/loaded in case of having multiple sensors connected
  • sensor chooser window (when multiple Kinects are detected) now also accepts keyboard shortcut of number keys
  • upgraded to Qt 4.8.5
  • upgraded to OpenCV 2.4.6
  • upgraded to Intel TBB 6.103

v1.13

  • updated to Microsoft Kinect SDK v1.7

v1.12

  • small speed improvements for pointcloud rendering
  • minor GUI changes to make things fit better on lower screen resolutions
  • near mode wasn’t being saved/loaded correctly
  • updated core to 1.75
  • updated Qt to 4.8.4
  • updated OpenCV to 2.4.4

v1.11

  • added ability to switch between the standard Microsoft and a custom Brekel occlusion solver
    • this kicks in when joints can’t be fully tracked (orange color on the skeleton in the GUI)
    • The Brekel solver can’t do magic but tends to produce slightly smoother results than the standard Microsoft one
  • no longer printing needles dots in the console window while running
  • sensor chooser window (in case multiple sensors are connected) now displays on top of other windows
  • minor improvements in speed and memory use in the core
  • updated core to 1.74

v1.10

  • audio got broken in previous release, fixed now

v1.09

  • added new option to choose mode for picking which persons to track
    • sticky (old behaviour) tries to keep tracking the person(s) that were first seen and avoid swapping
    • closest to sensor, always picks the person(s) closest to the sensor (could be usefull for interactive installations)
  • sensor calibration data wasn’t being correctly loaded at startup since last update, fixed now
  • sensor calibration data is now saved/loaded correctly when multiple sensors are connected
  • turning filtering off didn’t work, fixed now
  • MotionBuilder plugin now uses a custom icon in the Navigator window
  • fixed some minor startup crashes that could occur when no license could be found
  • installer should now be able to find MotionBuilder versions even if it’s installed in a custom folder
  • updated core to 1.72

v1.08

  • added the ability to export data in CSV (Comma Separated Values) format
    • waist joint is exported with positions and rotations
    • all other joints are exported with rotations
    • all in local coordinates
  • now rounding off the values to 6 digits for the text based exporters to avoid scientific notations
  • added ability to print the filename and/or framenumber to the AVI movie
  • video buffer is now internally double buffered when in multi threaded mode, to prevent color swapping issues on certain machines
  • updated Intel TBB from v6.101 to v6.102

v1.07

  • when multiple sensors are detected at startup you can now choose which one to use
  • sensor rotation Y now works correctly
  • license installation can now also take zip file and automatically unzip it
  • internally changed how sensor transformations are stored
  • network tab wasn’t cleaned up properly when no sensor was found, fixed now
  • networking wasn’t being restarted correctly when the connection was dropped by the client
  • MotionBuilder plugin now recreates existing Kinect characters instead of appending
  • updated core to 1.70

v1.06

  • network server is automatically reset after error or disconnecting now
  • slight speedup in MotionBuilder networking code

v1.05

  • added functionality to record pointcloud data in BKF format
    • for use in Brekel Kinect Pro PointCloud
    • meaning you can now have both skeleton data and the full pointcloud as mesh or particles in your 3D package
  • sensor calibration position wasn’t being set and used, fixed now
  • Kinect sensor is now drawn in the 3D viewport
  • audio waveform now shows a little message when no audio device is selected

v1.04

  • OpenGL acceleration is now fully supported on NVidia Quadro cards and no longer crashes
  • added additional filter preset between Medium and Heavy, called “Medium Heavy”
  • added commandline only mode for advanced users, just like Pro Face already had
    • add “-commandline” as an argument when starting the program to enable it
    • runs without a GUI but with the network streaming enabled
    • most efficient option if all you’re interested in is using the network stream
    • uses the same settings as last used by the GUI version

v1.03

  • writePositions for BVH got broken in previous version, fixed now
  • some changes in the code that chooses who to track in case there are multiple people in front of the sensor
    • should be a bit less sensitive to swapping
  • rewrote internal network streaming
    • faster communication
    • more robust
    • user can now change port
    • user can now change protocol between TCP and UDP (it used to be TCP only)
    • MotionBuilder plugins are also updated
    • in case you run custom code to read the network stream
      • start reading at byte 3 now instead of 0
      • first byte is for defining start of packet
      • next two bytes are for size of the packet
      • rest is the same as it used to be
  • now comes with a Unity example C# script for connecting to the realtime TCP stream
    • shows how to read the local positions and rotations of both skeletons
    • shows how to convert the coordinate systems
    • shows how to apply the results to an object hierarchy (created on the fly)
    • simply drop the script on a gameobject or camera and adjust the hostname/ip if needed
    • can be used as a starting point for your own scripts
  • updated core to v1.50

v1.02

  • height estimation for sensor calibration should be a lot more accurate now
  • it is now possible to stop while the delayed recording is counting down
  • adjusted the GUI a bit so it can be used on smalle screen resolutions
  • draw video/depth checkboxes weren’t being saved/loaded
  • Poser/DAZ BVH export now uses T-pose instead of pose with arms to the side
  • we now skip some additional internal processing when pointcloud drawing is disabled
  • version number of Brekel Kinect is now saved to header of TXT and FBX file for reference
  • AVI recorder no longer crashes when video drawing was turned OFF in the GUI
  • decreased the detail for the waveform drawing a bit to make it faster
  • updated core to v1.50

v1.01

  • did some fixes to the TXT file output
  • now includs a Maya example MEL script for importing the TXT data
  • you can now select which audio device to record from, including non-Kinect sources
  • improved audio recording quality
  • changed drawing of audio waveform in the GUI
  • in the WAV header the file length was set a few bytes to short, fixed now

v1.00

  • multiple samples are now averaged for sensor calibration
  • BVH neutral pose (all rotations to 0,0,0) is not with arms down instead of T-pose
    • to better comply with Biped and possibly other automated rigging systems
  • A warning is now shown (only once per session) when disabling BVH Write Positions
    • “Disabling BVH positions prevents retaining varying bone lenghts. And can result in a skeleton that may appear to float more.”
  • download page now correctly points to retail or trial version’s page
  • updated documentation

v0.990

  • MotionBuilder plugin now has an option to do a countdown for T-pose capturing on 2013 & 2014 a visual cue on how many seconds is left will also be visible in the perspective camera

v0.989

  • fixes to prevent corrupt FBX and BVH files (while also recording AVI/WAV at the same time)
  • OpenGL drawing acceleration has changed internally, to hopefully make it more compatible with more cards
  • audio recording may have been broken in previous version, works again
  • when compressing video after recording has stopped, it now shows a progress window with abort button
  • added functionality for delayed recording start
  • added beeps for starting/stopping recordings as well as for countdown
  • you can now specify your own output filename, or use an automatically generated one like before

v0.988

  • possible fix for bug that generated corrupt FBX and BVH files
  • sensor calibration is now more robust
  • [REC] is now displayed in the 3D viewport during recording so it can be seen from a distance
  • advanced filtering options are now hidden by default to avoid clutter in the interface
  • settings are now saved to the registry in a slightly different way
  • installer now allows editing of autodetected MotionBuilder plugin paths
  • installer now correctly recognizes MotionBuilder paths with Danko in it

v0.987

  • BVH files are now saved with correct neutral pose which some packages need

v0.986

  • BVH export should work better now
    • note can’t cope with slightly varying framerate and always assumes 30fps (FBX is more accurate)
    • neutral pose isn’t 100% correct yet

v0.985

  • BVH is not correct in this version, still working on that
  • fixed some random startup crashes
  • OpenGL drawing should be a bit faster on slow machines now
  • floor is now drawn as semi transparent plane
  • you can now tweak the sensor position/rotation from the GUI
  • changed default joint orientations
  • implemented custom skeleton filters to improve quality

v0.984

  • MotionBuilder streaming got broken with the last update, fixed now

v0.983

  • added button to reset sensor calibration
  • toggling System Info dock from the main menu now works correctly
  • tracking state of skeletons wasn’t being flagged correctly
  • fixed small memory leak in avi exporter
  • when switching video/depth resolution the popup no longer mentions Pro Face
  • clipping left/right was reversed in the GUI
  • MotionBuilder: device skeleton naming has slightly changed so loading existing scenes works now
  • MotionBuilder: plugin now deals with internal offsets in a much more robust way
  • MotionBuilder: tries to actively prevent frames where the skeletons jumps to 0,0,0
  • MotionBuilder: device now uses internal timestamps instead of assuming 30 fps
  • MotionBuilder: Reset T Poses in device should work now

v0.982

  • waist and spine orientation was incorrect
  • added first revision of the documentation
  • when tracking in upperbody mode the lower body is now created procedurally
  • ‘use foot rotations’ in the MotionBuilder device is now OFF by default since the retargeter didn’t always cope well with the relatively noisy feet on some characters
  • renamed MotionBuilder device to “Brekel Kinect Pro Body Device”
  • removed message warning user to calibrate sensor
  • started internal preparations for better skeleton filtering and adjustments

v0.981

  • FBX recorder was always in upperbody mode, fixed now
  • internal openGL acceleration adjusted to be compatible with more graphics cards and drivers
  • the installer now wipes settings to prevent problems during the beta

v0.98

  • skeleton’s weren’t always correctly assigned to recognized people (should be fixed now for both single and multi threaded mode)
  • memory wasn’t always cleaned up when doing multiple recordings one after another
  • accelerometer data is no longer updated per frame since it would add noise
  • now shows a warning the first time to let the user know to calibrate the sensor
  • recording “Upper Body Only” skeletons to FBX and BVH works correctly now
  • recording 2 persons to BVH works correctly again (generating 2 files)

v0.97

  • updated core to v1.33
  • you can now auto correct for the sensor’s rotation and height by using the “Calibrate Sensor Position/Rotation” button note that height will be so that the lowest observed point when looking straight ahead is on the floor
  • added link to the forums to the help menu
  • fixed a bug that would bent the spine weirdly in exported FBX and BVH files (also had to update the MotionBuilder plugins to be in sync)
  • FBX exporter now uses internal timestamps instead of assuming exact 30.0 fps

v0.96

  • updated core to v1.32
  • occluded joints should stay more stable now
  • “Camera Settings” button is now correctly disabled on Kinect for Xbox devices (which don’t support this)
  • drawing for second skeleton was occluded by pointcloud in 3D viewport
  • removed picking mode, skeletons are now always sticky
  • one or two person tracking mode selection is cleaned up in the GUI
  • fixed 2 person tracking in single threaded mode
  • “ask for codec” no longer crashes

v0.95

  • Now using MS Kinect SDK v1.6
  • Added functionality to tweak color camera settings (exposure, whitebalance etc)
  • Added funtionality to compensate for sensor that is placed below or above hip height by rotating skeleton and pointcloud
  • More fixes and implementations for 2 person tracking
    • Ability to select which person (first, second or both) to track
    • MotionBuilder plugin should support 2 person tracking now
    • Export to FBX, BVH and TXT should support 2 person tracking now