Skip to content

Settings Classes

Configuration classes used by TrackedBody for tuning tracking parameters.

ModelSettings

Field Type Default Description
sphereRadius float -1 Distance from object center to virtual camera viewpoints. -1 = auto (0.8 x object diameter)
nDivides int 2 Number of geodesic subdivisions for viewpoint generation. -1 = 3 (1280 views). Higher = more views, slower generation.
nPoints int 200 Number of silhouette points sampled per view. -1 = 200. Higher = better tracking, more memory.
maxRadiusDepthOffset float -1 Maximum radius for depth offset calculation in meters. -1 = 0.05m
strideDepthOffset float -1 Stride between depth offset samples in meters. -1 = 0.002m
imageSize int -1 Internal render resolution for model generation. -1 = 2000. Higher = better quality, slower generation.
upAxis ForwardAxis ForwardAxis.PositiveY Which object-local axis points 'up'. Elevation angles are measured relative to this direction. Change for CAD models authored with Z-up.
viewpointPreset ViewpointPreset ViewpointPreset.FullSphere Which viewing angles to include in the model. Reduces model size and generation time for objects only viewed from certain directions.
minElevation float -90 Minimum elevation angle in degrees (-90 = directly below, 0 = side view, 90 = directly above)
maxElevation float 90 Maximum elevation angle in degrees (-90 = directly below, 0 = side view, 90 = directly above)
enableHorizontalFilter bool false Enable horizontal (azimuth) filtering to limit viewpoints around a forward direction.
minHorizontal float -180 Minimum horizontal angle in degrees (-180 to 180). Negative = left of forward.
maxHorizontal float 180 Maximum horizontal angle in degrees (-180 to 180). Positive = right of forward.
forwardAxis ForwardAxis ForwardAxis.PositiveZ Reference direction for horizontal filtering. Viewpoints are measured relative to this axis.

SmoothingSettings

Field Type Default Description
enableOutlierRejection bool true Clamp pose changes that exceed thresholds. Works independently of smoothing mode - can be used alone to catch sudden jumps without adding interpolation lag.
maxPositionDelta float 1.5 Maximum allowed position change per second in meters.
maxRotationDelta float 300 Maximum allowed rotation change per second in degrees.
mode SmoothingMode SmoothingMode.Kalman Smoothing algorithm: None = raw pose, Lerp = simple interpolation, Kalman = adaptive filtering
positionSmoothTime float 0.08 Time constant for position smoothing. Lower = faster response, more jitter.
rotationSmoothTime float 0.08 Time constant for rotation smoothing. Lower = faster response, more jitter.
posProcessNoise float 0.15 Position process noise. Higher = faster adaptation to movement, more jitter.
velProcessNoise float 1.5 Velocity process noise. Higher = faster velocity changes, less smooth motion.
measurementNoise float 0.01 Measurement noise. Higher = trust predictions more, smoother but more lag.
rotationSmoothness float 0.01 Rotation smoothness factor. Higher = smoother rotation, more lag.

Properties

Property Type Access Description
Mode SmoothingMode get
PositionSmoothTime float get
RotationSmoothTime float get
PosProcessNoise float get
VelProcessNoise float get
MeasurementNoise float get
RotationSmoothness float get
EnableOutlierRejection bool get
MaxPositionDelta float get
MaxRotationDelta float get

DepthTrackingSettings

Field Type Default Description
distanceTolerance float 0.02 Maximum distance (meters) between measured and expected depth for a point to be considered valid. Higher = more tolerant of noise, lower = stricter matching.
strideLength float 0.005 Distance (meters) between sampled correspondence points. Lower = more points, slower. Higher = fewer points, faster.
selfOcclusionRadius float 0.01 Radius (meters) for self-occlusion detection. Points within this radius are checked for occlusion by other parts of the model.
selfOcclusionThreshold float 0.03 Depth threshold (meters) for self-occlusion. If another part of the model is closer by this amount, the point is considered occluded.
measuredOcclusionRadius float 0.01 Radius (meters) for external occlusion detection from measured depth.
measuredOcclusionThreshold float 0.03 Depth threshold (meters) for external occlusion. If measured depth is closer by this amount, the point is considered occluded.

EdgeTrackingSettings

Field Type Default Description
keyframeRotationDeg float 3 Rotation threshold (degrees) to trigger keyframe refresh. Default: 3.0
keyframeTranslation float 0.03 Translation threshold (meters) to trigger keyframe refresh. Default: 0.03
creaseEdgeAngle float 60 Angle threshold in degrees. Surface normals differing by more than this angle create edge features.

Properties

Property Type Access Description
SearchRadiusScales float[] get
StandardDeviations float[] get

MultiScaleSettings

Properties

Property Type Access Description
Scales int[] get
StandardDeviations float[] get

OcclusionSettings

Field Type Default Description
radius float 0.01 Search radius (meters) around each silhouette point to check for occlusion.

SilhouetteTrackingSettings

Properties

Property Type Access Description
MinContinuousDistance float get
FunctionLength int get
HistogramBins int get