三星gearvr控制器及手柄全部输入

2023-11-09

OVRInput Unified Input API

OVRInput exposes a unified input API for multiple controller types. It may be used to query virtual or raw controller state, such as buttons, thumbsticks, triggers, and capacitive touch data. It currently supports the Oculus Touch, Microsoft Xbox controllers, and the Oculus remote on desktop platforms. For mobile development, it supports the Gear VR Controller as well as the touchpad and back button on the Gear VR headset. Gear VR gamepads must be Android compatible and support Bluetooth 3.0.

For keyboard and mouse control, we recommend using the UnityEngine.Input scripting API (see Unity’sInput scripting reference for more information).

Mobile input bindings are automatically added to InputManager.asset if they do not already exist.

For more information, see OVRInput in the Unity Scripting Reference. For more information on Unity’s input system and Input Manager, documented here: http://docs.unity3d.com/Manual/Input.html andhttp://docs.unity3d.com/ScriptReference/Input.html.

SetControllerVibration() support for Oculus Touch is now deprecated; please use OVRHaptics for Oculus Touch instead.

Requirements

To use OVRInput, you must either:

  1. Include an instance of OVRManger anywhere in your scene; or
  2. Call OVRInput.Update() and OVRInput.FixedUpdate() once per frame at the beginning of any component’s Updateand FixedUpdate methods, respectively.

Oculus Touch Tracking

OVRInput provides Touch position and orientation data through GetLocalControllerPosition() andGetLocalControllerRotation(), which return a Vector3 and Quaternion, respectively.

Controller poses are returned by the constellation tracking system and are predicted simultaneously with the headset. These poses are reported in the same coordinate frame as the headset, relative to the initial center eye pose, and may be used for rendering hands or objects in the 3D world. They are also reset byOVRManager.display.RecenterPose(), similar to the head and eye poses.

Gear VR Controller

Gear VR Controller provides orientation data through GetLocalControllerRotation(), which returns a quaternion.

Gear VR positions the controller relative to the user by using a body model to estimate the controller’s position. Whether the controller is visualized on the left or right side of the body is determined by left-handedness versus right-handedness, which is specified by users during controller pairing.

To query handedness of a paired controller, use IsControllerConnected() or GetActiveController() to query for RTrackedRemote or LTrackedRemote.

For example:

// returns true if right-handed controller connected
OVRInput.IsControllerConnected(OVRInput.Controller.RTrackedRemote);

Use OVRInput.Get() to query controller touchpad input. You may query the input position with Axis2D:

OVRInput.Get(OVRInput.Axis2D.PrimaryTouchpad, OVRInput.Controller.RTrackedRemote);

A touchpad touch occurs when the user’s finger makes contact with the touchpad without actively clicking it. Touches may be queried with OVRInput.Get(OVRInput.Touch.PrimaryTouchpad). Touchpad clicks are alias to virtual button One clicks, and may be queried withOVRInput.Get(OVRInput.Button.PrimaryTouchpad).

To recenter a Gear VR Controller, use OVRInput.RecenterController().

The volume and home buttons are reserved.

OVRInput Usage

The primary usage of OVRInput is to access controller input state through Get()GetDown(), and GetUp().

  • Get() queries the current state of a control.
  • GetDown() queries if a control was pressed this frame.
  • GetUp() queries if a control was released this frame.

Gear VR Controller Swiping Gestures

For Gear VR Controllers, the user interface of your VR experience should follow these natural scrolling and swiping gestures:

  • Swipe up: Pull content upward. Equivalent to scrolling down.
  • Swipe down: Pull content downward. Equivalent to scrolling up.
  • Swipe left: Pull content left or go to the next item or page.
  • Swipe right: Pull content right or go to the previous item or page.

Control Input Enumerations

There are multiple variations of Get() that provide access to different sets of controls. These sets of controls are exposed through enumerations defined by OVRInput as follows:

Control Enumerates

OVRInput.Button

Traditional buttons found on gamepads, Touch controllers, the Gear VR Controller touchpad and back button, and the Gear VR headset touchpad and back button.

OVRInput.Touch

Capacitive-sensitive control surfaces found on the Oculus Touch and Gear VR Controller.

OVRInput.NearTouch

Proximity-sensitive control surfaces found on the Oculus Touch controllers.

OVRInput.Axis1D

One-dimensional controls such as triggers that report a floating point state.

OVRInput.Axis2D

Two-dimensional controls including thumbsticks and the Gear VR Controller touchpad. Report a Vector2 state.

A secondary set of enumerations mirror the first, defined as follows:

OVRInput.RawButton

OVRInput.RawTouch

OVRInput.RawNearTouch

OVRInput.RawAxis1D

OVRInput.RawAxis2D

The first set of enumerations provides a virtualized input mapping that is intended to assist developers with creating control schemes that work across different types of controllers. The second set of enumerations provides raw unmodified access to the underlying state of the controllers. We recommend using the first set of enumerations, since the virtual mapping provides useful functionality, as demonstrated below.

Button, Touch, and NearTouch

In addition to traditional gamepad buttons, the Oculus Touch controllers feature capacitive-sensitive control surfaces which detect when the user's fingers or thumbs make physical contact (a “touch”), as well as when they are in close proximity (a “near touch”). This allows for detecting several distinct states of a user’s interaction with a specific control surface. For example, if a user’s index finger is fully removed from a control surface, the NearTouch for that control will report false. As the user’s finger approaches the control and gets within close proximity to it, the NearTouch will report true prior to the user making physical contact. When the user makes physical contact, the Touch for that control will report true. When the user pushes the index trigger down, the Button for that control will report true. These distinct states can be used to accurately detect the user’s interaction with the controller and enable a variety of control schemes.

The Gear VR Controller touchpad may be queried for both touch status and click status, where “touch” refers to the user’s finger making contact with the touchpad without actively clicking it.

Example Usage

// returns true if the primary button (typically “A”) is currently pressed.
OVRInput.Get(OVRInput.Button.One); 

// returns true if the primary button (typically “A”) was pressed this frame.
OVRInput.GetDown(OVRInput.Button.One); 

// returns true if the “X” button was released this frame.
OVRInput.GetUp(OVRInput.RawButton.X); 

// returns a Vector2 of the primary (typically the Left) thumbstick’s current state. 
// (X/Y range of -1.0f to 1.0f)
OVRInput.Get(OVRInput.Axis2D.PrimaryThumbstick); 

// returns true if the primary thumbstick is currently pressed (clicked as a button)
OVRInput.Get(OVRInput.Button.PrimaryThumbstick); 

// returns true if the primary thumbstick has been moved upwards more than halfway.  
// (Up/Down/Left/Right - Interpret the thumbstick as a D-pad).
OVRInput.Get(OVRInput.Button.PrimaryThumbstickUp); 

// returns a float of the secondary (typically the Right) index finger trigger’s current state.  
// (range of 0.0f to 1.0f)
OVRInput.Get(OVRInput.Axis1D.SecondaryIndexTrigger); 

// returns a float of the left index finger trigger’s current state.  
// (range of 0.0f to 1.0f)
OVRInput.Get(OVRInput.RawAxis1D.LIndexTrigger); 

// returns true if the left index finger trigger has been pressed more than halfway.  
// (Interpret the trigger as a button).
OVRInput.Get(OVRInput.RawButton.LIndexTrigger); 

// returns true if the secondary gamepad button, typically “B”, is currently touched by the user.
OVRInput.Get(OVRInput.Touch.Two);
   
// returns true after a Gear VR touchpad tap
OVRInput.GetDown(OVRInput.Button.One);
   
// returns true on the frame when a user’s finger pulled off Gear VR touchpad controller on a swipe down
OVRInput.GetDown(OVRInput.Button.DpadDown);
   
// returns true the frame AFTER user’s finger pulled off Gear VR touchpad controller on a swipe right
OVRInput.GetUp(OVRInput.RawButton.DpadRight);
   
// returns true if the Gear VR back button is pressed
OVRInput.Get(OVRInput.Button.Two);    

// Returns true if the the Gear VR Controller trigger is pressed down
OVRInput.Get(OVRInput.Button.PrimaryIndexTrigger);

// Queries active Gear VR Controller touchpad click position 
// (normalized to a -1.0, 1.0 range, where -1.0, -1.0 is the lower-left corner)
OVRInput.Get(OVRInput.Axis2D.PrimaryTouchpad, OVRInput.Controller.RTrackedRemote);

// If no controller is specified, queries the touchpad position of the active Gear VR Controller
OVRInput.Get(OVRInput.Axis2D.PrimaryTouchpad);

// returns true if the Gear VR Controller back button is pressed
OVRInput.Get(OVRInput.Button.Back);   

// recenters the active Gear VR Controller. Has no effect for other controller types.
OVRInput.RecenterController();

// recenters right Gear VR Controller (even if it is not active)
OVRInput.RecenterController(Controller.RTrackedRemote);

// returns true on the frame when a user’s finger pulled off Gear VR Controller back button
OVRInput.GetDown(OVRInput.Button.Back);

In addition to specifying a control, Get() also takes an optional controller parameter. The list of supported controllers is defined by the OVRInput.Controller enumeration (for details, refer to OVRInput in the Unity Scripting Reference.

Specifying a controller can be used if a particular control scheme is intended only for a certain controller type. If no controller parameter is provided to Get(), the default is to use the Active controller, which corresponds to the controller that most recently reported user input. For example, a user may use a pair of Oculus Touch controllers, set them down, and pick up an Xbox controller, in which case the Active controller will switch to the Xbox controller once the user provides input with it. The current Active controller can be queried with OVRInput.GetActiveController() and a bitmask of all the connected Controllers can be queried with OVRInput.GetConnectedControllers().

Example Usage:

// returns true if the Xbox controller’s D-pad is pressed up.
OVRInput.Get(OVRInput.Button.DpadUp, OVRInput.Controller.Gamepad); 

// returns a float of the Hand Trigger’s current state on the Left Oculus Touch controller.
OVRInput.Get(OVRInput.Axis1D.PrimaryHandTrigger, OVRInput.Controller.Touch); 

// returns a float of the Hand Trigger’s current state on the Right Oculus Touch controller.
OVRInput.Get(OVRInput.Axis1D.SecondaryHandTrigger, OVRInput.Controller.Touch);

Querying the controller type can also be useful for distinguishing between equivalent buttons on different controllers. For example, if you want code to execute on input from a gamepad or Touch controller, but not on a Gear VR Touchpad, you could implement it as follows:

if (OVRInput.GetActiveController() != OVRInput.Controller.Touchpad) { /* do input handling */ }

Note that the Oculus Touch controllers may be specified either as the combined pair (withOVRInput.Controller.Touch), or individually (with OVRInput.Controller.LTouch and RTouch). This is significant because specifying LTouch or RTouch uses a different set of virtual input mappings that allow more convenient development of hand-agnostic input code. See the virtual mapping diagrams in Touch Input Mapping for an illustration.

Example Usage:

// returns a float of the Hand Trigger’s current state on the Left Oculus Touch controller.
OVRInput.Get(OVRInput.Axis1D.PrimaryHandTrigger, OVRInput.Controller.LTouch);

// returns a float of the Hand Trigger’s current state on the Right Oculus Touch controller.
OVRInput.Get(OVRInput.Axis1D.PrimaryHandTrigger, OVRInput.Controller.RTouch);

This can be taken a step further to allow the same code to be used for either hand by specifying the controller in a variable that is set externally, such as on a public variable in the Unity Editor.

Example Usage:

// public variable that can be set to LTouch or RTouch in the Unity Inspector
public Controller controller; 
…
// returns a float of the Hand Trigger’s current state on the Oculus Touch controller  
// specified by the controller variable.
OVRInput.Get(OVRInput.Axis1D.PrimaryHandTrigger, controller);

// returns true if the primary button (“A” or “X”) is pressed on the Oculus Touch controller
// specified by the controller variable.
OVRInput.Get(OVRInput.Button.One, controller); 

This is convenient since it avoids the common pattern of if/else checks for Left/Right hand input mappings.

Touch Input Mapping

The following diagrams illustrate common input mappings for Oculus Touch controllers. For more information on additional mappings that are available, refer to OVRInput in the Unity Scripting Reference.

Virtual Mapping (Accessed as a Combined Controller)

When accessing the Touch controllers as a combined pair with OVRInput.Controller.Touch, the virtual mapping closely matches the layout of a typical gamepad split across the Left and Right hands.

Virtual Mapping (Accessed as Individual Controllers)

When accessing the Left or Right Touch controllers individually with OVRInput.Controller.LTouch or OVRInput.Controller.RTouch, the virtual mapping changes to allow for hand-agnostic input bindings. For example, the same script can dynamically query the Left or Right Touch controller depending on which hand it is attached to, and Button.One will be mapped appropriately to either the A or X button.

Raw Mapping

The raw mapping directly exposes the Touch controllers. The layout of the Touch controllers closely matches the layout of a typical gamepad split across the Left and Right hands.

Rift Remote Input Mapping

Virtual Mapping

Raw Mapping

Xbox Input Handling

Virtual Mapping

This diagram shows a common implementation of Xbox controller input bindings using OVRInput.Controller.Gamepad.

Raw Mapping

The raw mapping directly exposes the Xbox controller.

Gear VR Controller Input Handling

For a discussion of best practices, see Gear VR Controller Best Practices in Oculus Best Practices.

Virtual Mapping

This diagram shows a common implementation of Gear VR Controller input bindings using OVRInput.Controller.RTrackedRemote.

Raw Mapping

The raw mapping directly exposes the Gear VR Controller. Note that this assumes a right-handed controller.

Gear VR Input Handling

A Gear VR touchpad swipe is not defined until the user removes their finger from the touchpad. Get()and GetDown() will return true on the frame that the user’s finger is pulled off, and GetUp() will return true the next frame. A Gear VR touchpad tap may be queried with Button.One/RawButton.Start, and a back button press may be queried with Button.Two/RawButton.Back.

Note that a back-button long-press is reserved and is automatically handled by the Gear VR VrApi. For more information, see Universal Menu and Volume in our Mobile SDK Developer Guide.

Virtual Mapping

Raw Mapping

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

三星gearvr控制器及手柄全部输入 的相关文章

  • Ubuntu18.04 下载与安装

    阿里云里面有很多镜像 https opsx alibaba com mirror Ubuntu各个版本的镜像下载地址 http mirrors melbourne co uk ubuntu releases 最新百度经验 Ubuntu19
  • 纯HTML+CSS网页设计——林允儿(可做网页课程作业)

    作品介绍 网页为作者一次课程作业 效果个人觉得还行 其中抛弃了导航栏的使用 主要每次都导航栏 写烦了 采用的是图谱的形式 主要也是因为最近在学 页面主要有6个 有三个是较重复的 所以主要页面是四个 具体的直接看图吧 作品展示 首页 首页背景
  • Python全面解读2018电影票房市场

    作者 法纳斯特 来源 法纳斯得 双11已经过去 双12即将来临 离2018年的结束也就2个月不到 还记得年初立下的flag吗 完成了多少 相信很多人和我一样 抱头痛哭 本次利用猫眼电影 实现对2018年的电影大数据进行分析 01 网页分析
  • FeatureToggle

    概述 为了控制功能开启与关闭 减少代码中的if else繁琐的逻辑判断 主要通过spring的aop及java的注解实现 目前主要包含6个部分的代码 支持内存存储和部分策略 源码git 稍后放源码 功能 单个开关的配置 开关组的配置 通过组
  • MongoDB总结

    MongoDB的官方文档基本是how to do的介绍 而关于how it worked却少之又少 本人也刚买了 MongoDB TheDefinitive Guide 的影印版 还没来得及看 本文原作者将其书中一些关于MongoDB内部现
  • 线性代数学习之初等矩阵和矩阵的可逆性

    求解矩阵的逆 接着https www cnblogs com webor2006 p 14280299 html继续往下学习 在上一次中学习了线性系统以及它的求解 在之前https www cnblogs com webor2006 p 1
  • Synchronized和ReentrantLock的区别

    1 Synchronized是一个关键字 ReentrantLock是一个类 2 Synchronized可以用来修饰普通方法 静态方法和代码块 而ReentrantLock只能用于代码块 3 Synchronized会自动加锁与释放锁 R
  • VBA读取其他Excel内容

    VBA读取其他Excel内容 AccessDataBaseEngine安装 Excel内容读取 采用Microsoft于2020 8 11新出的 AccessDataBaseEngine Microsoft Access 2016 数据库引
  • 关于隐式实例化,显示实例化,显示具体化的理解.

    对于模板函数 编译器会通过对这个模板含数的引用生成一个含数的实例 这通常叫隐式实例化 例如下面的函数模板 template lt class T gt void Swap T a T b 而相对于隐式实例化 则可以自己编写显示实例化来说明
  • 怎么查看linux库是使用哪个版本的编译器编译的

    由于对同样的库的源码 有的使用4 1 2编译器编译的 有的是4 1 1等等 结果导致有时候存放的时候忘记了写版本信息 导致要重新编译 解决方法 objdump s section comment your program 查看程序编译器版本
  • i.mx287学习笔记8-buildroot编译mplayer

    上面是我的微信和QQ群 欢迎新朋友的加入 1 开始 嵌入式linux几种播放视频的方法 1 交叉编译mplayer smplayer等软件 移植到嵌入式平台 这种方法在嵌入式平台不能控制窗口位置 不能很好的嵌入到自己程序的窗口中去 但是实现
  • Python列表切片中的None

    None起到的是增加维度的作用 示例如下 import numpy as np z np ones 3 3 3 print z shape 3 3 3 print z None None shape 3 1 1 3 3 print z No
  • java高级用法_java 高级用法整理

    一 retentionpolicy class vs runtime区别 java5 增加了注解的功能 其中retentionpolicy注解的生命周期 提供了三种选择策略 source class和runtime三种选择 source 源
  • mac ping: sendto: Host is down

    mac ping 内网机子提示 host is down Request timeout for icmp seq 0 但是其他小伙伴ping是没问题的 mac和小伙伴的电脑网段 子网掩码 路由器 DNS一致 查询后是因为mac使用了vmw
  • 手机微信连不上wifi服务器怎么回事,微信连不上wifi怎么办?

    大家经常会在家中使用微信进行聊天 那么如果微信连不上wifi了怎么办 方法步骤 1 微信是大家最常用的聊天工具之一了 几乎每天都在使用 大家在家里使用的话经常会连接wifi 但有时候会遇到微信连不上wifi的问题 却又不知道怎么解决 接下来
  • 全角字符unicode码对应表

    Uni GB Uni GB Uni GB Uni GB Uni GB 00A4 A1E8 00A7 A1EC 00A8 A1A7 00B0 A1E3 00B1 A1C0 00B7 A1A4 00D7 A1C1 00E0 A8A4 00E1
  • 对于Transformer 模型----可以从哪些地方进行创新和改进

    Vit 全称 Vision Transformer 是Transformer在CV方向的应用 是NLP与CV的相互联系 相互促进 相互影响 自Transformer应用进计算机视觉领域以来 与其相结合的新模型大都表现出了不错的效果 但是 这
  • 微信小程序:排行榜页面模板

    文章目录 1 前言 2 模板代码 3 结语 1 前言 在开发一款背单词的微信小程序时 为了加强用户的体验感 刺激用户积极学习 小程序中需要有排行榜的模块 通过打卡天数来排名 让用户有攀比学习的心里 具体的页面截图如下 2 模板代码 wxml
  • python-数据分析(6-numpy)

    Numpy 6 Numpy 6 1 Numpy介绍与安装 Numpy是什么 Numpy Numerical Python 是目前Python数值计算中最为重要的基础包 大多数计算包都提供了基于Numpy的科学函数功能 将Numpy的数组对象

随机推荐

  • C#开发系列(四)——文档注释

    C 为程序员提供一种机制 以使用包含 XML 文本的特殊注释语法记录其代码 在源代码文件中 具有特定窗体的注释可用于指示工具从这些注释生成 XML 并将其置于后面 使用此语法的注释称为文档注释 它们必须紧跟在用户定义的类型 如类 委托或接口
  • EF Core 迁移数据库,以及对数据库升级的思考

    这两天一直在学习ABP VNext框架 整到数据库那一块了 发现问了问组里大佬 要使用EFCore迁移数据库 我寻思这和我自己以前搞得不太一样 以前是要写SQL或者直接GUI建表 现在怎么命令行敲一下就自动生成了 写个博客记录一下 EF C
  • jvm系列(3)java类加载机制

    我们知道 我们写的java文件是不能直接运行的 我们可以在IDEA中右键文件名点击运行 这中间其实掺杂了一系列的复杂处理过程 这篇文章 我们只讨论我们的代码在运行之前的一个环节 叫做类的加载 按照我写文章的常规惯例 先给出这篇文章的大致结构
  • 阿里三面 失败告终

    update 2015 04 16 在一个tomcat下 用classloader加载了某个类之后会将该类信息放入方法区 永久代 当这个类创建了某个线程 比如周期显示当前时间 那么会导致这个类信息一直存在于永久区中 即使这个类的主要工作已经
  • mysql集群+复制

    详解MySQL集群下的复制 replicate 原理 1 集群下的复制 1 1 简述 从MySQL 5 1 开始 就支持集群 复制了 这对于想要构建一个高可用方案的用户来说 无疑是个惊喜 在这种模式下 既有主从的实时备份 又有基于集群的负载
  • 《算法导论》常见算法总结

    前言 本篇文章总结中用到很多其他博客内容 本来想附上原作链接 但很久了未找到 这里关于原创性均来源于原作者 分治法 分治策略的思想 顾名思义 分治是将一个原始问题分解成多个子问题 而子问题的形式和原问题一样 只是规模更小而已 通过子问题的求
  • 大数定理与中心极限定理

    大数定律 定义 理解 可以用样本均值估计总体分布的均值 频率趋近于概率 举例 抛N次硬币 当N趋近于无穷大时 正面出现的频率等于正面出现的概率 中心极限定理 定义 林德贝格 勒维中心极限定理 理解 1 样本的平均值约等于总体的平均值 2 不
  • 解决php中redis client进行subscribe操作出现timeout的问题

    出现该问题的原因是poll设置接收超时所致 这个超时默认设置60s 设置Redis OPT READ TIMEOUT配置项 解决方法如下
  • python串口模块_使用python pyserial模块串口通信

    最近调试通信模块时 需要用UART串口输入AT命令控制模块 手动输入不便于自动化 所以就学习了下使用python进行串口控制 serial模块安装 pip install pyserial 常用的方法函数 导入串口模块import seri
  • SpringBoot过滤器Filter的使用-基础篇

    1 过滤器 Filter 简介 1 1 过滤器 Filter 介绍 Filter 是 JavaEE 中 Servlet 规范的一个组件 位于包javax servlet 中 它可以在 HTTP 请求到达 Servlet 之前 被一个或多个F
  • 目的:VSCode Remote-SSH连接远程失败timeout

    目的 VSCode Remote SSH连接远程失败timeout 环境 系统 win10 环境 VSCode 1 51 1 问题分析 正常使用VSCode的情况下 突然发现 解决步骤 判断可能是ssh问题 cmd打开控制台或者进入wind
  • 【华为OD统一考试A卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • 网络工程专业毕业设计选题汇总

    文章目录 0 简介 1 如何选题 2 最新网络工程选题 2 1 Java web SSM 系统 2 2 大数据方向 2 3 人工智能方向 2 4 其他方向 4 最后 0 简介 学长搜集分享最新的网络工程专业毕设毕设选题 难度适中 适合作为毕
  • 详解c++---set的介绍

    目录标题 set容器的介绍 set的构造函数 insert函数的介绍 find函数 erase函数 count函数 lower bound upper bound multiset set容器的介绍 set容器可以看成我们上一篇文章学习的K
  • 会做产品分析的产品经理,能力都不会太差!这份分析框架,建议收藏!

    产品经理要提升产品能力 有几种方式 1 做项目 从调研到设计 从研发到运营 遇到各种问题 并解决 最终达成业务目标 2 看书 学习其他人分享的知识 将知识应用在项目中 提升决策能力 3 向大佬请教 向产品前辈请教 打开自己的知识盲区 提升自
  • Vuecli3 axios开发环境代理和线上代理设置

    文章目录 1 概述 前后端分离的情况下肯定会跨域 这篇文章主要讲axios跨域的设置 2 本地开发环境配置 2 线上环境配置 用nginx作反向代理 不用本地代理了 1 概述 前后端分离的情况下肯定会跨域 这篇文章主要讲axios跨域的设置
  • 学c语言的第一步,编译器的使用

    学习c语言在不同的平台 有不同的编译器 其中windows平台有visual studio的IDE codeblocks eclipsec c 和QT编译器 而在Linux平台有vi vim codeblocks eclipsec c 和Q
  • python dfs算法_2020蓝桥杯python组备战方法

    在蓝桥杯的程序设计比赛里新增加了python组 这是一个全新的组别 目前蓝桥杯官网已经开通了python的练习平台 链接http dasai lanqiao cn 如何准备2020年蓝桥杯python程序设计呢 我分为四个部分讲解 了解这四
  • python 深度学习 解决遇到的报错问题4

    目录 一 DLL load failed while importing imaging 找不到指定的模块 二 Cartopy安装失败 三 simplejson errors JSONDecodeError Expecting value
  • 三星gearvr控制器及手柄全部输入

    OVRInput Unified Input API OVRInput exposes a unified input API for multiple controller types It may be used to query vi