In spatial interface design, we often model interactions as if the medium behaves like a simple fluid—uniform resistance, predictable damping. But real-world spatial computing demands a richer model: non-Newtonian interaction spaces where the perceived 'viscosity' changes with gesture speed, pressure, and context. This guide introduces volumetric friction as a design principle for creating resistive forces that adapt to user intent.
We assume you have already built basic spatial interactions—grabbing, pushing, rotating—and are now tuning the 'feel' of those interactions. The goal is to help you decide which resistive force model fits your use case, how to implement it, and what to watch out for.
Who Needs Volumetric Friction and Why Now
The question is not whether to include resistance—every spatial interaction already has some implicit damping from tracking noise or physics engine defaults. The question is whether that resistance is intentional and adaptive. Teams building VR sculpting, medical simulation, or collaborative remote manipulation are the first to hit the limits of constant-viscosity models. A sculpting tool that feels like pushing through honey regardless of speed frustrates fast, expressive strokes. A surgical simulator that applies the same resistance to a scalpel as to a blunt probe misleads trainees. Volumetric friction—resistance that varies across the interaction volume and with gesture dynamics—addresses these mismatches.
Why now? Consumer and enterprise headsets now support sub-millimeter hand tracking and haptic gloves with variable force feedback. The hardware can deliver nuanced resistance; the software layer often lags behind, applying either a binary 'grab detected' response or a fixed spring-damper model. As spatial interfaces move from novelty to daily tools, users develop expectations about physical plausibility. An interaction that feels 'off' is not just a cosmetic issue—it breaks presence and reduces task efficiency. Teams that invest in adaptive friction models early gain a competitive edge in user retention and task accuracy.
This guide is for designers and developers who have already prototyped basic spatial interactions and are now refining the feel. We will not cover how to set up hand tracking or physics engines; we assume you have those foundations. Instead, we focus on the modeling choices that determine whether your interaction feels like moving through water, clay, or a Bingham plastic—and how to choose wisely.
Who This Guide Is Not For
If you are building a simple point-and-click menu system or a 2D interface projected into 3D space, volumetric friction is over-engineering. Constant damping will serve you fine. Similarly, if your target hardware lacks any haptic or force feedback capability, the theoretical models here will not translate to user experience. This guide is for teams targeting devices with at least basic haptic actuators (e.g., vibration motors) or software-based visual damping cues (e.g., cursor lag).
Three Approaches to Volumetric Friction
We compare three models that cover most spatial interaction needs: constant viscosity, shear-thinning (velocity-dependent), and thixotropic (time- and history-dependent). Each model has a distinct mathematical form and perceptual effect.
Constant Viscosity (Newtonian Model)
This is the simplest: a fixed damping coefficient applied to any movement within the interaction volume. The resistive force is proportional to velocity but independent of speed magnitude or history. It feels like pushing through a uniform fluid—predictable but monotonous. Use cases include simple drag-and-drop, menu scrolling, or any interaction where consistency trumps expressiveness. The main advantage is computational cheapness: one multiplication per frame. The downside is that it penalizes both fast and slow movements equally, which can feel artificial for tasks that require varied speeds.
Shear-Thinning (Velocity-Dependent) Model
In this model, resistance decreases as movement speed increases—like non-drip paint that flows easily when stirred quickly but resists slow pulls. Mathematically, damping coefficient is a function of speed: b(v) = b0 / (1 + k|v|). This allows fast, expressive gestures to feel fluid while slow, precise adjustments feel stiff and controlled. It is ideal for sculpting, drawing, or any creative tool where users alternate between broad strokes and fine details. Implementation requires tracking instantaneous velocity and applying a per-frame damping update. The computational cost is slightly higher but still negligible on modern hardware. The main risk is tuning the transition speed: if the threshold is set too low, every movement feels slippery; if too high, the model collapses to constant viscosity.
Thixotropic (Time-Dependent) Model
This model adds a memory effect: resistance decreases under sustained shear and recovers when the interaction pauses—like hand cream that becomes runny after rubbing but stiffens when left alone. It is modeled with a state variable representing 'fluidity' that evolves over time: dF/dt = (F0 - F)/τ - c|v|F, where F is fluidity, F0 is rest fluidity, τ is recovery time constant, and c is shear sensitivity. This is the most realistic for simulating materials like clay, gel, or biological tissue. It is also the most computationally intensive, requiring integration of the fluidity state per interaction point. Use cases include surgical simulation (tissue behaves differently under sustained pressure), kneading or mixing interactions, and any scenario where the material's history matters. The main drawback is calibration complexity: recovery time and shear sensitivity must be tuned to match user expectations, and mismatches can cause confusion (e.g., the material feels 'lazy' or 'jumpy').
How to Choose: Decision Criteria
Selecting among these models requires evaluating your interaction along three axes: gesture speed range, required precision at low speeds, and material realism. We offer a structured decision framework.
Axis 1: Gesture Speed Range
If your users perform gestures at a narrow range of speeds (e.g., slow, deliberate adjustments only), constant viscosity suffices. If the range spans from slow to fast (e.g., a sculptor who both carves details and sweeps broad shapes), shear-thinning is necessary. If the speed varies over time within a single gesture (e.g., accelerating and decelerating while mixing), thixotropic may add realism but also complexity.
Axis 2: Required Precision at Low Speeds
Tasks demanding high precision at low speeds—like surgical incisions or fine assembly—benefit from higher resistance at low velocities to dampen micro-tremors. Shear-thinning provides this naturally: slow movements encounter high damping. Constant viscosity would either be too loose (if damping is low) or too heavy for fast moves (if damping is high). Thixotropic can also work but may introduce lag if the recovery time is too long.
Axis 3: Material Realism
If the interaction simulates a real-world material (clay, tissue, dough), thixotropic is the most physically accurate. However, accuracy does not always equal good feel—sometimes a simplified model produces a more intuitive interaction. For abstract tasks (e.g., resizing a virtual object in a UI), shear-thinning or constant viscosity are preferable because they are predictable.
Decision Matrix
| Scenario | Recommended Model | Why |
|---|---|---|
| Simple UI drag, menu scroll | Constant viscosity | Low cost, predictable feel |
| VR sculpting, drawing | Shear-thinning | Balances expressiveness and control |
| Surgical simulation, clay modeling | Thixotropic | Realistic material behavior under sustained interaction |
| Collaborative object manipulation | Shear-thinning or constant | Multiple users need consistent damping; thixotropic state per user adds complexity |
Trade-Offs in Detail
Each model involves trade-offs beyond the obvious complexity-versus-realism axis. We examine three critical dimensions: user fatigue, learnability, and hardware compatibility.
User Fatigue
Constant viscosity at moderate-to-high damping causes fatigue because users must exert continuous force against resistance, even during fast movements. Shear-thinning reduces fatigue during fast gestures but still requires effort at low speeds. Thixotropic can reduce fatigue by lowering resistance over time as the user works, but the recovery period can be confusing: if the user pauses briefly, the material stiffens, requiring an extra burst of force to resume. This 're-stiffening' can be fatiguing in its own way if the recovery time is short.
Learnability
Constant viscosity is the most learnable: the relationship between force and speed is linear and predictable. Shear-thinning requires users to discover that faster movements become easier—most adapt within minutes. Thixotropic is the hardest to learn because the material's behavior depends on the history of interaction, not just current speed. Users may feel the material is 'inconsistent' until they internalize the time dependence. For applications where users train extensively (e.g., surgical simulators), the learning curve is acceptable. For casual or walk-up use, shear-thinning or constant is safer.
Hardware Compatibility
Constant viscosity can be implemented purely in software with no haptic feedback—visual damping (cursor lag) suffices. Shear-thinning also works without haptics, though the effect is weaker. Thixotropic benefits greatly from haptic actuators that can vary force output over time; without haptics, users may not perceive the subtle change in fluidity. Additionally, thixotropic models require higher update rates (≥90 Hz) to avoid aliasing of the fluidity state, which may be challenging on lower-end hardware.
Implementation Path: From Model to Working Interaction
Once you have chosen a model, the implementation involves three steps: parameter calibration, integration with tracking, and tuning through user testing.
Step 1: Parameter Calibration
Start with literature or known material properties if simulating a real substance. For abstract interactions, use a two-stage process: first, set parameters to produce a 'neutral' feel (e.g., damping that prevents oscillation but does not feel sticky). Second, adjust based on user feedback. For shear-thinning, key parameters are base damping b0 and transition speed k. For thixotropic, recovery time τ and shear sensitivity c are the most critical. We recommend starting with τ = 0.5–2 seconds and c = 0.1–0.5 (normalized units) and iterating.
Step 2: Integration with Tracking
Apply the damping force as a corrective force opposing velocity, typically in the physics engine's force update loop. Ensure that the damping force is applied in the direction opposite to velocity, not as a scalar reduction of velocity (which can cause instability). For thixotropic models, store the fluidity state per tracked point (e.g., each fingertip or tool tip). The state can be a simple float updated each frame using Euler integration. Watch for numerical drift: clamp fluidity between 0 and a maximum to prevent runaway values.
Step 3: User Testing and Tuning
Recruit at least 5 users representative of your target audience. Ask them to perform a set of standard tasks (e.g., trace a path, move an object from A to B, apply varying forces). Collect both objective metrics (task completion time, force applied) and subjective ratings (ease of use, naturalness, fatigue). Use the subjective ratings to adjust parameters: if users report the interaction feels 'slippery', increase base damping or reduce shear-thinning sensitivity. If they report 'sticky' or 'laggy', decrease damping or increase transition speed. Expect 3–5 tuning iterations.
Risks of Poor Friction Design
Choosing the wrong model or mis-tuning parameters can degrade the interaction in several ways. We highlight the most common pitfalls.
Over-Damping and Under-Damping
Over-damping makes the interaction feel sluggish and tiring; users may abandon the task or complain of arm fatigue. Under-damping causes oscillation or 'jelly' feel, where the object overshoots the target and wobbles. Both are signs that the damping coefficient is off by an order of magnitude. A simple test: if the user can make the object oscillate with a single impulse, damping is too low. If the object barely moves even with forceful gestures, damping is too high.
Latency Mismatch
Volumetric friction models introduce additional computation per frame. If the model takes more than ~1 ms to compute, it can add perceptible latency (especially on 60 Hz systems). Thixotropic models with per-point state updates are the most at risk. Profile your implementation: if the friction update exceeds 0.5 ms, consider simplifying the model (e.g., use a lookup table for the damping function) or reducing the number of tracked points.
Inconsistent Behavior Across Users
Users have different hand sizes, strength, and movement styles. A model tuned for a strong, fast user may feel too light for a weaker, slower user. Consider providing a user-adjustable 'stiffness' or 'resistance' slider that scales the damping coefficient globally. This is especially important for thixotropic models, where the recovery time may need adjustment per user. Do not assume one-size-fits-all parameters.
Frequently Asked Questions
Can I combine models for different regions of the interaction volume?
Yes, this is often desirable. For example, a sculpting tool might use shear-thinning near the surface (for fine detail) and constant viscosity deeper in the volume (for bulk shaping). The transition between regions must be smooth—use a linear or sigmoid blend based on depth—to avoid a sudden change in feel that breaks presence.
How do I test volumetric friction without haptic hardware?
You can simulate the effect visually by adding a cursor trail that lengthens with resistance, or by modulating the speed of the visual feedback relative to hand movement. These visual cues are less effective than haptics but still convey the intended feel. For user testing, ask participants to describe the 'weight' of the interaction; if they consistently use words like 'heavy' or 'light', the visual damping is working.
What about accessibility? Are there users who cannot perceive these friction differences?
Yes, users with certain motor or sensory impairments may not benefit from nuanced friction models. Provide a fallback to constant viscosity or a simplified 'low resistance' mode that bypasses the non-Newtonian model. Also, ensure that all interactions are achievable with a range of force inputs—do not require high force for critical actions. Test with users who have reduced hand strength or tremors to validate accessibility.
How often should I update the damping model during a gesture?
At minimum, every frame (60 or 90 Hz). For thixotropic models, the fluidity state should be updated at the same rate to avoid temporal aliasing. If performance is a concern, you can update the state at half the frame rate and interpolate, but test for artifacts. In our experience, 30 Hz updates are noticeable as a 'stuttering' feel.
Is there a risk of simulation instability with thixotropic models?
Yes, especially if the time step is too large or the shear sensitivity c is too high. Use semi-implicit Euler integration (update velocity first, then position) to improve stability. Clamp the fluidity state to a reasonable range (e.g., 0.1–1.0) to prevent exponential blowup. If you still see instability, reduce c or increase τ.
Next Steps: What to Do After Reading
- Identify one interaction in your current project that feels 'off'—too heavy, too light, or inconsistent across speeds.
- Classify the gesture speed range and precision needs using the decision criteria in this guide.
- Prototype the recommended model in a test scene using your existing physics engine. Start with shear-thinning if unsure; it is the most forgiving.
- Run a quick user test with 3–5 colleagues, focusing on subjective feel. Adjust parameters based on their feedback.
- If the model works, integrate it into your main application with a user-adjustable resistance slider. If not, try the next model in the decision matrix.
- Document your parameter values and rationale—future team members will thank you.
Comments (0)
Please sign in to post a comment.
Don't have an account? Create one
No comments yet. Be the first to comment!