Rigibody get shake/jitter in unity.

NatNet, VRPN, TrackD, and Plugins
Post Reply
Kimkind
Posts: 2
Joined: Mon Aug 01, 2016 2:30 am

Rigibody get shake/jitter in unity.

Post by Kimkind »

Hello,

I am a new of optitrack user. I would like to do something on unity with optitrack. I followed some tutorial and the wiki documentation to setup my optitrack testing environment. Now, I can start my testing with streaming data from motive to unity. And the tracked position is accuracy. But I encounter a problem. When the rigid-body is moving by my hand. I can see the gameobject in unity has a bit shaking/jitter. For easy observe the project, create a camera to follow the gameobject. Then the shaking environment is significantly on the game view.

Does anyone meet a same problem? Or any algorithm like a "Stabilizer" to reduce the noise in unity? Or any config in motive to improve the result? Or it is a excepted result of using optitrack cause the capture is much sensitivity.

Best Regard
steven.andrews
NaturalPoint Employee
NaturalPoint Employee
Posts: 720
Joined: Mon Jan 19, 2015 11:52 am

Re: Rigibody get shake/jitter in unity.

Post by steven.andrews »

Hello Kimkind,

Thank you for reaching out to the community.

It would be useful to determine if the jitter is present on the Rigid Body tracking, in Motive, or if it is something that is only visible in Unity.
To help with this, you can select the Rigid Body and view its properties at the bottom of the Project Pane. Under the Display options, you can enable Orientation to better visualize the rotation data on the Rigid Body.

If the jitter is not apparent in Motive but is very obvious in Unity, there may be some configuration that must be done in unity to improve the performance.

If you narrow down the jitter to the Rigid Body tracking in Motive, it would be useful for you to open a ticket with us at help.naturalpoint.com, where you could provide us with a recording of your tracking results. This would allow us to troubleshoot and make suggestions for improvement.

Best regards,
--
Steven Andrews
OptiTrack | Senior Customer Support Engineer
Kimkind
Posts: 2
Joined: Mon Aug 01, 2016 2:30 am

Re: Rigibody get shake/jitter in unity.

Post by Kimkind »

Hi steven, Thanks for your support.

Finally, I found out the problem is the FPS of motive streaming data is not familiar to the unity FPS. My unity project keep running on 85-90 FPS. Before I used the 120 camera FPS and get the jitter. Now I am using 240 FPS. It looks ok. I would like to know which FPS of camera do you suggest for steaming to Unity?

I have another questions about motive:

1. For rigibody properties. What is the usage of "Latency Compensaton", "Calculation Time" and "Acquisition Delay". We tried to tweak the value, it seems nothing happen.

2. For Advanced Property of Device. There is a property is "Synchronization Control". The wiki document said the default value is "Automactic". But in our motive, the default value is "Complete Delivery". So which setting is good for steaming data to unity?

3. For the skeleton tracking, it is not good enough as the rigibody tracking. I tried create a skeleton with "Rizzoli Trunk Protocol". It requested 15 markers for creation. When one of marker is occluded, it can not be tracked.

Best Regards,
Kimkind
steven.andrews
NaturalPoint Employee
NaturalPoint Employee
Posts: 720
Joined: Mon Jan 19, 2015 11:52 am

Re: Rigibody get shake/jitter in unity.

Post by steven.andrews »

Hi Kimkind,

I am glad to hear you found a solution for the jitter. Here is some addition information.

1)
Latency Compensation: Compensate for system latency by predicting the rigid body into the future (ms)
With normal tracking you may not notice a difference, since the tracking is usually close to realtime to begin with. With Smoothing enabled, you would notice more latency and would see that Latency Compensation tries to predict the position of the rigid body to reduce the latency.

Calculation Time: Maximum amount of time to solve the rigid body per frame (ms).
Acquisition Delay: While rigid body is untracked, only search the Point Cloud every Nth frame.
Changes to these setting will affect how Motive is processing the data behind the scenes, but you will probably not see any noticeable difference visually. These advanced settings should usually not be changed.

2)
Synchronization Control: Determines how late camera frames are dealt with. Timely Delivery will drop late frames, which is ideal for real-time applications where data completeness is secondary to timeliness. Complete Delivery will hold up processing of frames when a frame is late. Automatic, which is the default and recommended setting, runs in Timely Delivery mode until it gets a non-trivial percentage of late frames, at which point it will automatically switch to Complete Delivery.

Based on this description, it would seem that either Automatic or Timely Delivery would be best for realtime applications.

3)
All of the markers need to be present in order to create the skeleton. If a single marker drops before the skeleton is created you will not be able to create the skeleton. Once the skeleton is created and tracking, a number of markers can be occluded before the skeleton, and other markers, lose tracking.

Cheers,
Steven
--
Steven Andrews
OptiTrack | Senior Customer Support Engineer
Post Reply