krpano | Как ограничить обзор панорамы по горизонтали и вертикали?

У нас есть панорама и мы хотим ограничить для пользователя возможность горизонтальных поворотов и вертикальных наклонов. Как это сделать?

Шаг № 1 — Выбираем нужную сцену

Через приложение «krpano Tools» находим нужную нам панораму. Запоминаем её название.

Выбрали панораму. Запомнили её название
Выбрали панораму. Запомнили её название

 

Шаг № 2 — Находим код панорамы в файле «tour.xml»

Открываем файл «tour.xml» и находим участок кода с нашей панорамой — XML элементом <scene>

<scene name="scene_10_" title="10 " onstart="" thumburl="panos/10_.tiles/thumb.jpg" lat="" lng="" heading="">

   <view hlookat="45" vlookat="5.000" fovtype="MFOV" fov="88.156" maxpixelzoom="2.0" fovmin="70" fovmax="140" architectural="1.0"
limitview="lookat" hlookatmin="90" hlookatmax="180" vlookatmin="-30" vlookatmax="30" />

   <preview url="panos/10_.tiles/preview.jpg" />

   <image>
      <cube url="panos/10_.tiles/%s/l%l/%0v/l%l_%s_%0v_%0h.jpg" multires="512,640,1152,2304,4736" />
   </image>
<hotspot name="spot1" style="skin_hotspotstyle" ath="79.264" atv="-1.887" linkedscene="scene_07_" />
<hotspot name="spot2" style="skin_hotspotstyle" ath="120.219" atv="-1.591" linkedscene="scene_03_" />
<hotspot name="spot3" style="skin_hotspotstyle" ath="149.410" atv="-1.217" linkedscene="scene_02_" />
<hotspot name="spot4" style="skin_hotspotstyle" ath="-178.222" atv="0.392" linkedscene="scene_09_" />

</scene>

Дописываем в элемент <view> следующие атрибуты:

limitview="lookat" hlookatmin="90" hlookatmax="180" vlookatmin="-30" vlookatmax="30"

Атрибут limitview должен быть только один со значением «lookat».

Атрибут hlookatmin — это Минимальное горизонтальное положение в сферических координатах (-180 .. +180)

Атрибут hlookatmax — это Максимальное горизонтальное положение обзора в сферических координатах (-180 .. +180)

Атрибут vlookatmin — это Минимальное вертикальное положение обзора в сферических координатах (-90 .. +90) — это насколько высоко можно смотреть

Атрибут vlookatmax — это Максимальное вертикальное положение обзора в сферических координатах (-90 .. +90) — это насколько низко можно смотреть

 

Примечание

Когда hlookatmax-hlookatmin = 360, тогда никаких ограничений не будет

 

Шаг № 3 — Как понять углы ограничений?

Откройте панораму и посмотрите где у неё середина.

Середина в панораме будет иметь угол 0 градусов.

90 градусов будет в правую сторону по горизонтали

-90 градусов будет в левую сторону по горизонтали

Горизонтальные углы обзора панорамы krpano
Горизонтальные углы обзора панорамы krpano

В нашем случае «Минимальное горизонтальное положение» равно 90, а «Максимальное горизонтальное положение обзора» равно 180.

hlookatmin="90" hlookatmax="180"

Это условно ограничивает обзор от дивана до кресла. Из-за этого пользователь никогда не увидит угол помещения кухни-гостиной в этой квартире. То есть при переходе в эту точку ему не нужно будет вращаться, чтобы от занавески повернуться к дивану.

 

Информационные ссылки

Стандарт krpanohttps://krpano.com/docu/xml/#view.hlookatmin

Поделись страницей. Расскажи обо мне.