Режим прогулки
Свободное перемещение по 3D‑туру: посетитель кликает по полу или двери и плавно переходит к следующей точке съёмки.
Что такое режим прогулки
Режим прогулки — это стандартная навигация 3D‑тура. Его не нужно включать или активировать: он работает с первой секунды просмотра. Посетитель видит панораму, наложенную на 3D‑модель помещения, кликает по полу, дверному проёму или навигационному диску — и камера плавно переходит к ближайшей точке съёмки в выбранном направлении.
В отличие от классических 360°‑туров, где переходы между сценами размечаются вручную как хотспоты, режим прогулки VPano строит переходы автоматически — на основе 3D‑модели и положения точек съёмки. Автору не нужно расставлять стрелки между панорамами: система сама определяет соседей и плавно ведёт камеру.
- Навигационные диски на полу показывают, куда можно перейти. Стиль дисков настраивается во вкладке «Дизайн» → Навигация.
- Прицельный круг (reticle) следует за курсором по полу — сигнал «здесь можно стоять».
- Курсор‑рука появляется над кликабельной поверхностью.
- Красная вспышка прицела — клик распознан, но подходящей точки в этом направлении нет.
Как кликать
Есть три равнозначных способа перейти к следующей точке съёмки:
- Клик по навигационному диску. Самый прямой способ: на диске — переход к точке, которой он принадлежит. Подходит, когда видно, куда хочется попасть.
- Клик по полу. Не обязательно попадать точно в диск — достаточно кликнуть в нужном направлении на полу. Система найдёт ближайшую точку съёмки рядом с местом клика.
- Клик по дверному проёму. Можно кликнуть прямо в проход в соседнюю комнату — VPano поймёт направление и перейдёт к точке за дверью.
Каскад выбора цели
Чтобы клики работали интуитивно, VPano проверяет цель в четыре шага. Шаги выполняются в строгом порядке — побеждает первый сработавший:
- Прямое попадание в диск. Если курсор оказался на навигационном диске — выбирается соответствующая точка съёмки. Этот случай покрывает большинство кликов.
- Клик по полу — поиск ближайшей точки. Если курсор не на диске, но попал на пол, система ищет ближайшую точку съёмки в радиусе примерно 2,9 м по горизонтали и 2,3 м по высоте от точки клика. Это позволяет попадать «приблизительно» — без необходимости точно целиться в диск.
- Конус направления клика. Если ни диск, ни пол не дали результата (например, клик в дверной проём в воздух), VPano пускает конус ≈40° длиной около 4,6 м от текущей точки в направлении клика (вертикальный наклон игнорируется). Берётся ближайшая точка съёмки внутри конуса.
- Близость в пикселях. Финальный «спасательный круг»: на экран проецируются все диски, выбирается ближайший в пикселях. Допуск — около 70 px на десктопе и 100–130 px на тач‑устройствах.
Если все четыре шага не нашли подходящую цель — прицельный круг кратко вспыхивает красным. Это намеренный сигнал: «клик принят, но в эту сторону идти некуда».
Проверка видимости двумя лучами
Прежде чем принять точку как цель перехода, VPano проверяет, что путь к ней не упирается в стену. Для этого пускается не один, а два луча от текущей позиции к кандидату — на разной высоте:
- Первый луч — примерно на уровне пояса.
- Второй луч — примерно на уровне головы.
- Высоты масштабируются с расстоянием между точками: чем дальше цель — тем шире разнос лучей по вертикали.
Если хотя бы один из двух лучей доходит до цели без столкновения с геометрией модели — точка считается видимой. Это даёт важный практический эффект:
- Дверные рамы и низкие притолоки не блокируют переход — они часто перекрывают только верхний луч.
- Мебель на уровне стола или подоконника не мешает увидеть точку за ней — нижний луч проходит ниже, верхний выше.
- Перила и парапеты на лестницах и террасах не «обрезают» соседние точки.
Переходы между точками
Когда цель выбрана и видна, начинается переход. Он состоит из двух одновременных анимаций — движения камеры и плавной смены панорамы:
- Движение камеры — примерно 850–900 мс, по кривой easeInOutQuad с финальным «доводом» (tail‑snap), чтобы камера не «доползала» в конце.
- Crossfade панорамы — около 1100 мс параллельно движению.
- Двойная проекция: во время перехода обе панорамы (исходная и целевая) одновременно проецируются на 3D‑модель. Это создаёт эффект непрерывной прогулки — без скачка кадров и без видимой смены текстуры.
Last‑click‑wins
Если посетитель кликает по новой точке во время идущего перехода, текущий переход не прерывается. Вместо этого новый клик запоминается как следующая цель — и переход к ней стартует сразу после прибытия в текущую точку. Так посетитель может «строить очередь» переходов, не дожидаясь окончания каждого.
Защита от двойных кликов
Между двумя последовательными кликами включён дебаунс ≈60 мс — случайный двойной клик мышью или повторный тап не запустит два перехода.
Десктоп и мобильные устройства
Режим прогулки работает одинаково на всех устройствах, но управление и допуски различаются:
- Выбор цели — клик мышью.
- Вращение камеры — перетаскивание.
- Поле зрения — колесо мыши.
- Точность клика — около 70 px.
- Skybox — сразу в 2K.
- Выбор цели — тап.
- Вращение камеры — свайп.
- Поле зрения — щипок (pinch).
- Точность клика — расширена до 100–130 px.
- 1K‑first: на слабых устройствах сначала показывается панорама 1K, затем подгружается 2K. DPR масштабируется адаптивно.
Советы посетителю
- Кликайте прямо по полу. Это самый надёжный способ — не нужно целиться точно в диск, достаточно показать направление.
- Не бойтесь дверных рам и мебели. Двойная проверка лучами пропускает переход, даже если на пути есть притолоки, подоконники или перила.
- Можно кликать во время движения. Если уже понятно, куда хочется дальше — кликайте, не дожидаясь конца перехода. Цель встанет в очередь.
- Красная вспышка — это нормально. Она просто говорит «в эту сторону точки нет». Поверните камеру или кликните ближе к диску.
Советы автору тура
Качество прогулки зависит прежде всего от того, как расставлены и названы точки съёмки в исходной 3D‑сцене:
- Расстояние между точками — 1,5–2,5 м. При большем шаге переходы выглядят прыжками, при меньшем — съёмка избыточна.
- Дверные проёмы — пара точек. Поставьте по одной точке съёмки с каждой стороны проёма. Это даёт естественный проход через двери.
- Коридоры — каждые ~2 м. В длинных коридорах не пропускайте точки, иначе появятся «прыжки» вдоль стен.
- Высота камеры — постоянная. Снимайте на уровне глаз — обычно 1,5–1,7 м над полом. Скачки по высоте между точками ухудшают восприятие прогулки.
- Имена маркеров — строго
pano_1..N. Иначе при импорте 3D‑сцены VPano не создаст слоты под панорамы. Подробнее — в Экспорте 3D‑сцены. - Стиль навигационных дисков подгоняйте под объект: для светлых интерьеров — прозрачнее, для тёмных полов — ярче. Настройки — «Дизайн» → Навигация.