Gyro 2 Plugin gyro2.jsVersion 1.19
HTML5 only

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

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

设备 / 浏览器支持

  • iOS - 支持

  • Windows Phone 8 / IE11 - 支持

  • Android Chrome - 支持

  • Android Opera - 支持

  • Android Firefox - 支持

  • 旧版基于Webkit的Android浏览器 - 不支持 (不支持 'devicemotion' 事件)

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

语法 / XML使用方法

<plugin name="gyro" devices="html5" keep="true"
url="gyro2.js"
enabled="true"
sensor_mode="1"
onavailable=""
onunavailable=""
/>

插件属性

属性名 类型 默认值  
enabled Boolean false  
  • 启用或禁止陀螺仪插件。

  • 可以任意时间改变 - 例如使用set()或者switch() 动作。

属性名 类型 默认值  
sensor_mode int 1  
  • 帧渲染与传感器数据事件是按照不同的速率进行(根据系统和浏览器有所区别),因此需要评估和推算出传感器数据以获得更平滑并且同样反应迅速的运动。

  • 通常这个设置,可以对这个进程选择不同的模式。

  • 可设置的模式:

    • 0 = 直接使用最新的可用的传感器数据。不进行插补和外推计算。根据浏览器的传感器时间间隔,运动可能会抽搐或平滑。

    • 1 = 在最新的可用的传感器数据之间进行平滑的插补计算。这会使得运动更为平滑但会有所延迟。

    • 2 = 预测设备的旋转,然后在传感器数据间进行插补计算。

    • 3 = 在当前帧的时间与最新的可用的传感器数据之间进行外推计算。这会使得反应非常灵敏以及更为平滑的晕死,但如果预测的数据和实际的运动不匹配时,可能会产生抽搐。

    • 4 = 根据当前帧预测设备旋转。这会使得反应非常灵敏以及更为平滑的晕死,但如果预测的数据和实际的运动不匹配时,可能会产生抽搐。

    • 5 = 预测设备的旋转,针对当前帧,从最新的事件中外推传感器数据。

插件事件

属性名 类型 默认值  
onavailable Action Event    
  • 在确定支持陀螺仪时响应该事件。

  • 可用于确定是否显示“陀螺仪”按钮。

属性名 类型 默认值  
onunavailable Action Event    
  • 在陀螺仪在当前设备或系统时不支持时响应该事件。.

插件动作

resetSensor(hlookat)

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

例子

krpano中文网想在电脑上获得更好阅读体验?想获得更多技巧,比别人领先一步?记住以下内容krpano中文网www.krpano360.com
点击 阅读原文 在手机上查看或在电脑上打开上述网址收藏

Gyro的更多相关文章

  1. Shader toy (顺手写两个Gyro)(纯代码写3D)

    Shader toy (A new world) 1.一个多月了,突然忘记CSDN的password了.由于每次输password的时候都要计算一遍,于是没有计算出来- 2.回头发现都过了半年了,都快 ...

  2. IIC驱动移植在linux3.14.78上的实现和在linux2.6.29上实现对比(deep dive)

    首先说明下为什么写这篇文章,网上有许多博客也是介绍I2C驱动在linux上移植的实现,但是笔者认为他们相当一部分没有分清所写的驱动时的驱动模型,是基于device tree, 还是基于传统的Platf ...

  3. 【腾讯Bugly干货分享】WebVR如此近-three.js的WebVR示例解析

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57c7ff1689a6c9121b1adb16 作者:苏晏烨 关于WebVR 最 ...

  4. android 6.0 高通平台sensor 工作机制及流程(原创)

    最近工作上有碰到sensor的相关问题,正好分析下其流程作个笔记. 这个笔记分三个部分: sensor硬件和驱动的工作机制 sensor 上层app如何使用 从驱动到上层app这中间的流程是如何 Se ...

  5. APM程序分析-ArduCopter.cpp

    该文件是APM的主文件. #define SCHED_TASK(func, rate_hz, max_time_micros) SCHED_TASK_CLASS(Copter, &copter ...

  6. GUI 和 GUILayout 的区别

    GUI 和 GUILayout 的区别 A~ GUI是Unity中的基础控件类,其中包含了常用的GUI控件,列如Button,Label,PasswordField,slider,Window等等~ ...

  7. SAP 传感器辅助定位

    一.简述 SAP:Sensor Assist Position 传感器辅助定位.高通公司提供的技术方案,旨在提升当卫星信号较差或终端短暂丢失卫星信号时终端的定位能力.该方案可分为三个阶段,第一.二阶段 ...

  8. multiwii 2.4配置页面中文注释

                                                                                                         ...

  9. px4flow通过iic读取具体寄存器数据程序

    底层通信用了昨天写好的iic,今天结合官方资料成功读出所有指定寄存器的数据附上源码 include.h主要包括了一些stm32 IO控制的宏定义,具体参考正点原子所有例程中都有的sys.h头文件 in ...

随机推荐

  1. 【Windows】用信号量实现生产者-消费者模型

    线程并发的生产者-消费者模型: 1.两个进程对同一个内存资源进行操作,一个是生产者,一个是消费者. 2.生产者往共享内存资源填充数据,如果区域满,则等待消费者消费数据. 3.消费者从共享内存资源取数据 ...

  2. python高级之装饰器

    python高级之装饰器 本节内容 高阶函数 嵌套函数及闭包 装饰器 装饰器带参数 装饰器的嵌套 functools.wraps模块 递归函数被装饰 1.高阶函数 高阶函数的定义: 满足下面两个条件之 ...

  3. swift的后台编码路

    链接: 一步一步学swift之:自己写Api接口-PHP    

  4. Android开发自学笔记(Android Studio)—4.5 ProgressBar及其子类

    一.前言 ProgressBar本身代表了进度条组件,它还派生出了两个常用的组件:SeekBar和RatingBar,他们的使用方法类似,只是显示界面有一定的区别.我们看一下API文档中的说明: 从图 ...

  5. 查看SQL Server被锁的表以及如何解锁

    锁定数据库的一个表的区别 SELECT * FROM table WITH (HOLDLOCK) 其他事务可以读取表,但不能更新删除 SELECT * FROM table WITH (TABLOCK ...

  6. javascript数据类型判断

    javascript基本数据类型:原始类型  和  引用类型 原始类型(简单数据类型):String,Number,Boolean,Undefined,Null,Symbol(ES6新增) 引用类型( ...

  7. linux 中文件权限和磁盘管理、linux服务器项目如何部署

    chmod chmod 421 xx.txt //4=r,2=w,1=x df 查看已挂载磁盘的总容量.使用容量.剩余容量等,可以不加任何参数,默认是按k为单位显示的 df常用参数有 –i -h -k ...

  8. RGW/SWIFT对象存储性能测试工具--COSBench安装

    Cosbench是Intel的开源云存储性能测试软件,COSBench目前已经广泛使用与云存储测试,并作为云存储的基准测试工具使用 https://github.com/intel-cloud/cos ...

  9. 篇一:MySQL中case when then

    图一: 图二:

  10. 解决:error: .repo/manifests/: contains uncommitted changes

    repo sync同步时提示出错:          error: .repo/manifests/: contains uncommitted changes 解决方法: 1.cd 进入.repo/ ...