Gyro2插件官方文档

Gyro 2 Plugin gyro2.jsVersion 1.19
HTML5 only

本插件使用手机或平板设备上的陀螺仪和加速度传感器来控制krpano中的浏览和观看方向。

Gyro2插件对比旧的陀螺仪插件是一个完全重新设计的插件。它使用了“devicemotion”的浏览器事件加上内置传感器数据和外推法,取代了Gyroscope plugin的“device orientations”事件。这使得速度更快、反应更灵敏、更精准以及更为平滑的运动。它在iOS、And以及Windows Phone设备上都表现得同样良好。

下面是新旧插件的分屏比较 – Gyro vs Gyro2

设备 / 浏览器支持

  • iOS – 支持
  • Windows Phone 8 / IE11 – 支持
  • Android Chrome – 支持
  • Android Opera – 支持
  • Android Firefox – 支持
  • Older Webkit-based Android browsers – 不支持 (不支持 ‘devicemotion’ 事件)

注意 – 设备自身需要有加速度计和陀螺仪传感器。

语法 / XML使用

<plugin name=”gyro” devices=”html5″ keep=”true”
url=”gyro2.js”
enabled=”false”
camroll=”true”
friction=”0.0″
touch_mode=”full”
sensor_mode=”1″
softstart=”0.5″
autocalibration=”true”
onavailable=””
onunavailable=””
onenable=””
ondisable=””
/>

插件属性

属性名 数值类型 默认值
enabled Boolean false
  • 启用或禁止陀螺仪插件的使用。
  • 可以在任意时刻设定该属性 – 例如使用set()或者switch()动作。例子:set(plugin[gyro].enabled,true);
属性名 数值类型 默认值
camroll Boolean true
  • 根据设备翻转对全景浏览器的摄影机翻转或调平。
属性名 数值类型 默认值
friction String / Number 0.0
  • 陀螺仪运动的摩擦力/振动阻尼。
  • 可设置的数值: 0.0 – 0.99 或 “auto”
    • 0.0 = 无摩擦力或震动阻尼,0.99 = 相当明显的阻尼
      数值越高,阻尼越明显,但这样运动也会延迟得更多。
    • auto = 基于当前的视角缩放和当前的帧速率基础摩擦力动态运用自动的缩放摩擦力数值 – 例如放大时会阻尼抖动更明显。
属性名 数值类型 默认值
touch_mode String “full”
  • 可用的模式:
    • off – 无触屏控制/移动。
    • horizontaloffset – 仅在水平偏移将发生变化时使用触摸拖拽。
    • full – 完全触摸控制 – 水平和垂直的移动。当移动设备时,垂直便宜会慢慢地回复到真实的设备的物理方向。
    • disablegyro – 当触摸屏幕时,自动屏蔽陀螺仪控制,使用正常的控制方式。要恢复陀螺仪控制,需要重新启用陀螺仪。
属性名 数值类型 默认值
sensor_mode int 1
  • 帧渲染与传感器数据事件是按照不同的速率进行(根据系统和浏览器有所区别),因此需要评估和推算出传感器数据以获得更平滑并且同样反应迅速的运动。
  • 使用这个设置可以对这个进程选择不同的模式。
  • 可设置的模式:
    • 0 = 直接使用最新的可用的传感器数据。不进行插补和外推计算。根据浏览器的传感器时间间隔,运动可能会抽搐或平滑。
    • 1 = 在最新的可用的传感器数据之间进行平滑的插补计算。这会使得运动更为平滑但会有所延迟。
    • 2 = 预测设备的旋转,然后在传感器数据间进行插补计算。
    • 3 = 在当前帧的时间与最新的可用的传感器数据之间进行外推计算。这会使得反应非常灵敏以及更为平滑的晕死,但如果预测的数据和实际的运动不匹配时,可能会产生抽搐。
    • 4 = 根据当前帧预测设备旋转。这会使得反应非常灵敏以及更为平滑的运动,但如果预测的数据和实际的运动不匹配时,可能会产生抽搐。
    • 5 = 预测设备的旋转,针对当前帧,从最新的事件中外推传感器数据。
属性名 数值类型 默认值
softstart Number 0.5
  • 启用时,陀螺仪会从当前视角淡入到陀螺仪跟踪的视角。
  • 数值定义这个淡入过程的秒数。
  • 当设置为0时,即屏蔽设置,这样会马上切换到陀螺仪跟踪的视角。
属性名 数值类型 默认值
autocalibration Boolean true
  • 启用自动陀螺仪校正。
  • 部分设备的传感器无法校正,因此该自动校正的功能有助于避免出现意想不到的运动。
  • 当设备保持相当静止的状态时,每一次静止之后就会进行自动校正。例如,稳定地手持设备或将设备放在一个稳定的桌面上。

插件状态属性 (只读)

属性名 数值类型 默认值
isavailable Boolean false

插件事件

属性名 数值类型 默认值
onavailable Action Event
  • 在确定支持陀螺仪时调用该事件。
  • 可用于确定是否显示“陀螺仪”按钮。
属性名 数值类型 默认值
onunavailable Action Event
  • 在当前设备或浏览器无法支持陀螺仪时调用该事件。
属性名 数值类型 默认值
onenable Action Event
  • 当陀螺仪启用时调用该事件。
属性名 数值类型 默认值
ondisable Action Event
  • 当陀螺仪被屏蔽使用时调用该事件。

插件动作

 

resetSensor(hlookat)

  • 重设传感器跟踪,转向给定的hlookat方向。

在 “Gyro2插件官方文档” 上有 1 条评论

发表评论