Positioning and hand gestures

Move, rotate, and scale the streamed model with hand gestures or the Position panel — then save and lock the result so it returns next session.

Innoactive Spatial gives you two ways to place the streamed model: hand gestures directly in the immersive view for quick placement, and the Position panel in the floating app window for precision. Save the result as a preset and your placement returns the next session.

Place the model with hand gestures

When the model is unlocked, three simple gestures cover everything:

  • One-hand drag — move the model horizontally (left, right, forward, back). Vertical is locked so the model doesn't drift off the floor.
  • Two-hand rotation — rotate around the vertical axis. Rotation is constrained so the model stays upright.
  • Pinch and stretch — scale the model up or down. The app snaps to 1× when you're close, so finding original size is easy.

Gestures only work when the model isn't locked. If a gesture has no effect, check the locking mode in the Position panel below.

Place the model with the Position panel

For finer control, open the Position panel from the floating app window. It exposes the same operations as gestures plus several extras:

  • Locking mode — Free placement, Snap to floor, Locked to floor, Locked in space, or Locked on trackable.
  • Place — toggle a placement mode that shows preview indicators while you drag the model into position.
  • Scale presets — a menu of percentages (0.01% to 10%) for 1:N scaled-down reviews of large models.
  • Reset — restore original position, rotation, and scale.
  • Fine adjustment — open a nested view to nudge position and rotation in fixed steps. Rotation increments: 1°, 5°, 15°, 45°, 90°. Position increments in millimetres or inches.

Lock the model in place

Once the model is where you want it, pick a locking mode to prevent accidental nudges:

ModeWhat it does
Free placementAll gestures and panel controls active
Snap to floorVertical position locked to the detected floor; horizontal drag still works
Locked to floorPosition fully locked; rotation and scale gestures still work
Locked in spaceAll gestures disabled — the model stays put no matter what your hands do
Locked on trackablePosition locked relative to the detected marker, object, or tracker (available when anchoring is Image, Object, or Tracker)

There's also a quick lock toggle on the panel that cycles to Locked in space and remembers your previous mode, so you can lock for a presentation and unlock back to your last setup with two taps.

In a multi-user session the host controls the locking state for all participants — your local lock toggle is disabled when someone else is hosting.

Save a position as a preset

When the model is where you want it, tap Save in the Position panel. The app prompts:

Create Position Preset — Enter a name for the preset at the current position, rotation, and scale.

Give it a name and save. The preset shows up in the panel's dropdown for instant recall next session.

The dropdown groups presets into two sections:

  • Saved and present — the anchor reference is currently detected; tapping applies the preset immediately.
  • Saved, not present — the anchor isn't visible yet (e.g. a marker preset, before you've scanned the marker). The preset applies as soon as the anchor comes into view.

Saved positions depend on the anchoring method

Every preset is tied to the anchoring method it was saved under:

  • A preset saved while World anchoring is active stores the absolute device-local position. It only applies when World anchoring is selected.
  • A preset saved while Image, Object, or Tracker anchoring is active stores an offset from the detected marker, object, or pen. It only applies when the same anchoring method is selected and the physical reference is in view.

When you switch anchoring methods, the Position panel switches to the presets saved under the new method. Presets saved under the previous method aren't lost — they reappear if you switch back. If you switch to a method that has no presets yet, your current placement is preserved as an unsaved offset until you save it explicitly.