FollowBehavior
@ExperimentalFollowingSubspaceApi
sealed class FollowBehavior
A FollowBehavior controls the motion of content as it is following another target, such as a user's head. Currently the options include "soft", which gradually catches up to the target and "static", which does not continuously follow the target.
Summary
Constants |
|
|---|---|
const Int |
DEFAULT_SOFT_DURATION_MS = 1500The default duration, in milliseconds, for a soft follow animation. |
const Int |
MIN_SOFT_DURATION_MS = 100The minimum allowable duration in milliseconds for a soft follow animation. |
Public companion functions |
|
|---|---|
FollowBehavior |
Creates a behavior where the content smoothly animates to follow the target's movements. |
Public companion properties |
|
|---|---|
FollowBehavior |
The content is placed once based on the target's initial pose and does not follow subsequent movements. |
FollowBehavior |
The content follows the target as closely as possible. |
Protected constructors |
|---|
Constants
DEFAULT_SOFT_DURATION_MS
const val DEFAULT_SOFT_DURATION_MS = 1500: Int
The default duration, in milliseconds, for a soft follow animation.
MIN_SOFT_DURATION_MS
const val MIN_SOFT_DURATION_MS = 100: Int
The minimum allowable duration in milliseconds for a soft follow animation.
Public companion functions
Soft
fun Soft(durationMs: @IntRange(from = 100) Int = DEFAULT_SOFT_DURATION_MS): FollowBehavior
Creates a behavior where the content smoothly animates to follow the target's movements.
This behavior is driven by a critically damped spring physics model, which uses exponential decay to smoothly decelerate the trailing entity as it approaches the target. The entity will accelerate to catch up and then decelerate without overshoot, simulating real-world physical inertia.
The use of this spring/exponential decay model is not optional, but the total duration of the motion can be configured via durationMs.
| Parameters | |
|---|---|
durationMs: @IntRange(from = 100) Int = DEFAULT_SOFT_DURATION_MS |
Amount of milliseconds it takes for the content to catch up to the user. Default is |
| Returns | |
|---|---|
FollowBehavior |
A |
Public companion properties
Static
val Static: FollowBehavior
The content is placed once based on the target's initial pose and does not follow subsequent movements.
Tight
val Tight: FollowBehavior
The content follows the target as closely as possible.