Skip to content

SlimeVR

JovannMC edited this page Aug 26, 2024 · 6 revisions

This page is still WIP and may be incomplete!

SlimeVR basics

More information can be found on the SlimeVR documentation here.

This page contains some basic information of what SlimeVR and the server is for users who are completely new to the project. This provides information on what SlimeVR is, explaining some differences between HaritoraConfigurator and SlimeVR server in more detail, and how the resets/calibrations work in SlimeVR.

About SlimeVR

The SlimeVR project is a set of open-source hardware and software which provide full-body tracking functionality in VR. The SlimeVR trackers, like HaritoraX trackers, uses internal sensors (IMUs) such as accelerometers and gyroscopes to estimate your limb positions via the rotation and acceleration data from the sensors - this erases the need for base stations and allows for occlusion of the trackers (you can hide under something without losing tracking, like a blanket!). The SlimeVR server is the software that puts everything together, providing the communication between multiple sensors/trackers to SteamVR.

SlimeVR Server

There are some key differences between the HaritoraConfigurator software and SlimeVR Server, mainly the use of your actual body proportions to calculate the position of your trackers. The software applies your body proportions to a virtual skeleton, which provides much more accurate calculations of the tracker positions on your body. This leads to much more accurate tracking (if set up correctly), albeit being slightly more difficult to set up for the first time.

The server also allows you to set the trackers to any of the defined positions on the body instead of each tracker having a pre-defined position, allowing for using any of the trackers in any position (e.g. as elbows). You have way more control over your tracking with the vast amount of settings you can mess with.

Because SlimeVR server is open-sourced, this allows for pretty much any device with the right sensors to be used as slime trackers - have some Joy-Cons (via SlimeVR Wranger)? Old phones? Even your spare Android smartwatches can work as slime trackers (both via owoTrack)! And of course, the HaritoraX trackers can work as well, which is why you are on the SlimeTora wiki. Open-source software FTW!

Resets & calibration

As mentioned earlier, the SlimeVR server uses your body proportions to calculate the positions for the virtual skeleton, so first-time setup requires you to be able to provide your body proportions. This can be done either manually (for fine-tuning) or automatically by copying the movements the server shows you during the calibration recording process - this only needs to be done once.

Due to the nature of IMU trackers, drifting is inevitable and you will need to reset every once in a while. On the HaritoraConfigurator, this would be performed with the 5 trigger presses while standing straight, and then another 5 trigger presses in a ski position. With SlimeVR server, it is much much easier (though may not seem like it at first). There are three different types of resets you can perform in SlimeVR server - yaw reset, full reset, and mounting reset.

The yaw reset will be the main reset you will be using, which makes the trackers all face the same direction (fixing drift on one axis, usually yaw). This is the fastest reset and while it may be less accurate than a "full reset", you can perform this reset while laying down or sitting so you don't have to get up - just straighten your limbs!

A full reset is the most accurate one and completely restores to the default pose to fix the trackers on all axis, however standing up straight while looking forward is required.

A mounting reset is only really used when the position of your trackers physically move and you need to reset the mounting positions - you need to be in a ski position to perform this.

To perform these resets, SlimeTora has set up your tracker buttons to perform them instead of using SlimeVR's built-in "tap-based" resets. The following gestures can be used (within 0.5s) to perform the resets (on any of the trackers, and any of their buttons):

  • 1 click = yaw reset
  • 2 clicks = full reset
  • 3 clicks = mounting reset
  • 4 clicks = pause/unpause tracking

You probably want to start with these!

Some other stuff!

Clone this wiki locally