KinectToVR KinectToVR Save Abandoned

KinectToVR EX (Official)

Project README

Discord server | Site

KinectToVR

KinectToVR is an application for emulating Vive trackers in SteamVR for full-body tracking using a Kinect for Xbox 360, Kinect for Xbox One or PlayStation Move controllers and cameras.

This version of the app (0.9) will be the last based on this repo. Development on 1.0 and onward is happening elsewhere, more on that later.

Authors

AutoCalibration scripts are written by コレヂャン
KinectToVR base is Sharky's
Triping organizes the whole project
The installer's property of Himbeer
Rest is probably written by 公彦赤屋先

License

This project is licensed under the GNU GPL v3 License

Build

You'll need:

  • Visual Studio 2019 (with: C++, v142 tools, ATL)
    or just build tools for same (see GitHub Actions script)
  • Kinect SDK 1.8 & 2.0 installed and visible in PATH
  • Working installation of SteamVR for testing

Follow GitHub Actions script, or:

  • Install vcpkg and its Visual Studio integration
    (cd into somewhere you want it to be)
    git clone https://github.com/Microsoft/vcpkg.git
    cd vcpkg
    ./bootstrap-vcpkg.sh
    ./vcpkg integrate install

  • Install needed libraries (You should choose one linking method for all packages)
    vcpkg install opencv3[world]:x64-windows boost:x64-windows glm:x64-windows curlpp:x64-windows cereal:x64-windows sfml:x64-windows glew:x64-windows
    (Now you may rest a bit, also consider using a drive other than C:, it'll be about 6-7GB without cleaned buildtrees)

  • Clone the latest OpenVR, GLM and Eigen3 into external/:
    git clone https://github.com/ValveSoftware/openvr external/openvr
    git clone https://gitlab.com/libeigen/eigen external/eigen git clone https://github.com/g-truc/glm external/glm

  • Fix min/max error in GLM (unresolved with NOMINMAX for now) sed -i '/#include <limits>/c\#include <limits>\n\n#undef min\n#undef max' external/glm/glm/gtx/component_wise.inl

  • Clone the latest K2APP and setup shortcuts to external deps:
    git clone https://github.com/KinectToVR/k2vr-application external/KTVR
    New-Item -ItemType Junction -Path external/KTVR/external/openvr -Target external/openvr
    New-Item -ItemType Junction -Path external/KTVR/external/eigen -Target external/eigen
    New-Item -ItemType Junction -Path external/KTVR/external/glm -Target external/glm

  • Setup GLog
    git clone https://github.com/google/glog.git external/glog
    git reset --hard f8c8e99fdfb998c2ba96cfb470decccf418f0b30
    cd external/glog
    mkdir vcbuild; cd vcbuild
    cmake -DBUILD_SHARED_LIBS=ON ..
    msbuild glog.vcxproj "/p:Configuration=Release;Platform=x64
    WindowsTargetPlatformVersion=10.0"

  • Setup GFlags
    git clone https://github.com/gflags/gflags.git external/gflags
    git reset --hard 827c769e5fc98e0f2a34c47cef953cc6328abced
    cd external/gflags
    mkdir vcbuild; cd vcbuild
    cmake -DBUILD_SHARED_LIBS=ON ..
    msbuild gflags.vcxproj "/p:Configuration=Release;Platform=x64;WindowsTargetPlatformVersion=10.0"

  • Setup SFGUI
    git clone https://github.com/KimihikoAkayasaki/SFGUI external/SFGUI
    cd external/SFGUI
    mkdir build; cd build
    cmake "-DBUILD_SHARED_LIBS=ON [YOUR VCPKG TOOLCHAIN COMMAND HERE]" ..
    msbuild SFGUI.vcxproj "/p:Configuration=Release;Platform=x64;WindowsTargetPlatformVersion=10.0"

  • Build the K2API & K2APP's OpenVR driver:
    msbuild "/t:KinectToVR_API" "/p:Configuration=Release;Platform=x64;WindowsTargetPlatformVersion=10.0"
    msbuild "/t:Driver_KinectToVR" "/p:Configuration=Release;Platform=x64;WindowsTargetPlatformVersion=10.0"

  • Build the K2EX:
    msbuild "/p:Configuration=Release;Platform=x64;WindowsTargetPlatformVersion=10.0"

Deploy

All needed dlls are automatically copied to the output folder.
Please note that everything from vcpkg is being linked dynamically,
so to avoid errors with the driver, if you've added any additional libraries,
build it alone and copy to the desired folder, including all present dlls inside the output folder.
For now, the folder structure is generated and dlls are copied automatically.
You will find the built driver in external/KTVR/x64/$(Configuration)/driver/
and the built K2EX in x64/$(Configuration). (Release configuration should be used, though)

Open Source Agenda is not affiliated with "KinectToVR KinectToVR" Project. README Source: KinectToVR/KinectToVR
Stars
165
Open Issues
1
Last Commit
2 years ago
License

Open Source Agenda Badge

Open Source Agenda Rating