react vr禁用手机陀螺仪的方法

发布时间:2021-11-30 16:54:26


react vr中文网:www.vr-react.com


react vr qq群:481244084


示例源码 github:https://github.com/LiuC520/ReactVR/


现在的react vr(1.4.0以前)还不支持带触摸屏而不带陀螺仪的电脑哦。

鉴于最*有人需要禁用手机的陀螺仪,让react vr能不跟着手机的旋转而旋转,只需要滑动手机来滑动搞就行了。


原生自带的有两个方法可以禁用手指的水*滑动,但是没有禁用陀螺仪的方法。


禁用水*滑动的方法:


一、在client.js里面的VRInstace示例的options添加如下代码:disableTouchPanning:true,











二、给view设置? billboarding=‘on’


禁用陀螺仪的方法需要修改源码:
一、具体操作方法:

打开 node_modules ?> ovrui ?> lib ?> Control ?> DeviceOrientationControls.js里面,找到update方法,然后把 alpha、beta、gamma都改成0就好了,也就是去掉this.deviceOrientation.alpha 、this.deviceOrientation.beta、this.deviceOrientation.gamma;


改成如下:











二、给VRInstace设置一个属性就行了。


这样的话修改的地方就很多,但是可以支持禁用陀螺仪,也可以用不禁用,可以正产使用陀螺仪,第一种方法是写死的0,就再也不能使用陀螺仪了。


2.1、node_modules ?> react-vr-web ?> js --->VRInstace.js


找到?



disableTouchPanning?:boolean, ??



在下面增加一行代码:



disableGyro?:boolean, ? ?//新增这行代码



然后在



new Player({


? ? ?...


disableTouchPanning : options.disableTouchPanning,


disableGyro : options.disableGyro, ? ?//新增这行代码



2.2、在 ?node_modules ?>ovrui ?> lib ---> Player ---> Player.js


找到



this.controlOptions ?={


? ? disableTouchPanning : !!options.disableTouchPanning,


? ? disableGyro : !! options.disableGyro ? ? //新增这行代码


};





2.3、打开 node_modules ?> ovrui ?> lib ?> Control ?> DeviceOrientationControls.js里面,


首先修改如下的代码:











然后找到update方法:


修改alpha 、beta、gamma:









2.4、如果要禁用陀螺仪:只需在client.js里面,新增 disableGyro:true,//禁用陀螺仪









2.5、因为移动设备的俯仰旋转的角度限制成了90度,所以网上滑动的时间看不到顶部的东西,需要修改这个限*嵌龋


具体的操作方法:


2.5.1、找到 node_modules / ovrui / lib / Control / DeviceOrientationControls.js ??



this. mobilePanControls = new _MobilePanControls2 . default(camera, target, options); ? //添加一个options的参数



2.5.2、找到 node_modules / ovrui / lib / Control / MobilePanControl.js? 找到_moveHandler,然后修改:



function MobilePanControls ( camera, target, options) { ? ? //添加options参数


...


? ? this._disableGyro = false; ? ?//新增是否禁用了陀螺仪,默认是false,没有禁用


? ? if(options.disableGyro) this._disableGyro = true; ?//新增是否禁用了陀螺仪,禁用





然后找到_moveHandler方法:新增俯仰角变量









然后就可以了哦!



相关文档

  • 让员工自己管理自己绩效体制
  • 求酸白菜的和酸萝卜的制作方法
  • 苦瓜的营养价值及药用价值
  • 【推荐】爱情宣言语录大汇总68句
  • Unity mono apk包和 l2cpp apk包区别
  • OpenGLES学习第三步:绘制立方体
  • 小学艺术教育工作计划
  • 《不正常人类症候群》读后感400字
  • 铁打的Python,流水的PHP!程序员也嫌贫爱富!网友:真骚...
  • 用米饭擦脸有什么好处
  • c++中vector向量几种情况的总结(向量指针,指针的向量)
  • 纹绣代金券设计模板图片
  • 寂寞的朋友你别哭作文
  • 小米手机被锁定怎么办
  • win7部分软件提示框出现乱码其他字体也变得奇怪
  • 肺结核多久能查出来
  • SpringMVC 中利用RequestMappingHandlerAdapter实现入参和出参的自定义封装
  • 聪明的员工绝对不会跟老板说的话
  • knative serving中的几个controller
  • 搞怪万圣节美食有哪些
  • uefi固件设置是干嘛的
  • C++如何输出换行及空格
  • 小儿扁桃体发炎有什么偏方
  • 初二数学分式测试题
  • 与怀念有关的句子
  • 学校支部书记抓党建述职报告
  • 有关表达爱意的唯美诗词
  • 高二生物人教版必修三第三章知识点
  • OpenGL ES系列六--坐标系
  • 关于描写风的成语佳句及古诗词精选
  • 猜你喜欢

  • 通用版2018版高三英语一轮复*第1部分基础知识解读Unit2Growingpains课件牛津译林版必修1
  • 易燃易爆场所消防安全建设要求
  • PHP 类名::class含义
  • 吉安中冠农资连锁配送有限公司峡江县砚溪镇连锁店企业信用报告-天眼查
  • 辽宁省锦州市实验学校2014-2015学年七年级思想品德下学期期中试题 新人教版
  • 七年级数学下册9.4*行线的判定*行线中的“开放搞活”素材(新版)青岛版
  • 语文S(部编)版四年级上册《三单元 语文百花园三 笔下生辉》精品课教案_8
  • 江苏省地方税务局转发《国家税务总局关于纳税人向中国法律援助基
  • 高二政治文化创新(1)(2019年11月整理)
  • 已经发过的朋友圈还能设置谁可以看吗
  • 2019教科小学科学下《2.4、空气的热胀冷缩》word教案(3)
  • 论时尚与传统在插画中如何结合
  • 湖北省鄂州市华容区段店镇中学2015-2016年度九年级历史上学期期末考试试题
  • 描写日月的成语和分类
  • 市场营销学2—相关概念
  • 在小学语文教学中融入爱国主义教育[论文]
  • 配套K12高中数学 第2章 解三角形 2 三角形中的几何计算同步练* 北师大版必修5
  • 本钢汽运公司福利厂企业信用报告-天眼查
  • 人教版初中英语八年级上册精品课时课件++Unit+3第四课时+SectionB(2a+-+4)
  • 使用WebStrom快速创建Vue项目
  • 家庭大扫除
  • springBoot spring Mybatis/hibernate 初级入门及尝试
  • 20XX庆六一儿童节主持词文艺汇演晚会联欢会
  • Nothing Succeeds Without a Strong Will
  • 急诊科护理工作计划怎么写(四篇)
  • 深圳市龙岗区年利达食品厂(企业信用报告)- 天眼查
  • 海宁市实验小学2008学年第一学期德育工作计划
  • 2012学年度第一学期期中数学七年级四校联考答题纸
  • 人教部编版七年级历史下册第13课 宋元时期的科技与中外交通 课件(共27张PPT)
  • 我的梦杂文随笔
  • 先进芯片封装技术
  • 银行系统工作职员入党申请书
  • 八上测试 Microsoft Word 文档
  • 模块五专题五的拓展性阅读(2012-5-23.170524.103)
  • 最新人教版小学五年级数学上册第二单元教学设计《位置》
  • 2018年秋(江西)北师大七年级数学上期末检测模拟卷(含答案)
  • 如何知道输卵管堵塞 女性朋友如何诊断输卵管堵塞
  • 四阶龙格库塔法的基本思想_利用龙格库塔法求解郎之万方程.doc
  • 保护生物的多样性PPT课件新人教版
  • 伟大的母爱_小学作文_48
  • 善的悲剧情的悲哀
  • 青年志愿者“天使之行”策划书
  • 电脑版