I am using Vive Trackers to drive cinecamera in Unreal.
For production purpose I created a delay of vector and rotation, which I store in an array, then I apply back this buffer on the cinecameras.
I want to take advantage of thid delay to smooth out the array, before apply the movement, so I can get rid of all the little noise that is very obvious when you are very close to something in the scene.
I tried everything, but I cannot figured out how to smooth this values. My last idea is to implement some sort of stabilizer to the camera, like a smooth follow (the tracker) or something. Some sort of spring, maybe? It must follow the tracker and ignore very little movements…
After three days of tests I am out of ideas, help!
You should definitely see if you can fix that by changing your space. Reflective things, potentially windows with sunlight, other IR equipment could cause problems for Vive tracking. And the angle/position of the base stations, ideally both will have a Line of sight to the thing you’re trying to track, and the floor won’t have any especially light absorbing/reflecting things on it.
Sometimes I see this on my controllers, and usually readjusting the base stations so that they are at the best angle and then running room setup fixes it.
You could use a floating camera like in 3D platformers.
Instead of attaching the camera to the tracker, have you considered making the camera a separate actor that Lerps to the tracker’s position?
You’ll have to figure out some way to work out rotation, and to make sure it never gets too far distance-wise from the tracker, but this might be a start