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