`

Finch VR Device: Dash, Shift, Hands input solutions

 
阅读更多

Dash (3-DOF Motion Controller for Mobile VR)

特点:

  • 移动虚拟现实设备上的 3-DOF 运动控制器,手势捕捉VR中3D激光定位Volume controls
  • 支持任何智能手机、VR头盔设备、兼容Android / IOS, Unreal或者Unity3d引擎
  • 移动控制, 选取与UI交互, 瞄准射击, 动力反馈, 刀剑战斗等,具有Button、Trigger、Stick、Touchpad控制元素

DashDevKit (预定,$69加运费) : 控制器,连接PC的蓝牙适配器(Bluetooth 4.0),充电线,SDK/API,Demo示例

 
 
 

 

以前做手势识别用的 Oculus Touch,可惜只能连接到Oculus,今天我们来看看 Finch 的 VR 手柄,可以应用到移动端手势识别 + 运动追踪。

 

Shift (No-camera 6-DOF Motion Controller for Mobile VR)

特点:

  • 移动虚拟现实设备上的 无相机运动控制器,手势捕捉(所有运动轨迹)、身体捕捉 (body tilt, reaching out, body slips on all directions)、360°捕捉范围、无FOV视角限制
  • 支持GooglePlay(Daydream ),GearVR 商店平台,支持SteamVR,支持 IOS 和 Android
  • 可以在移动设备上为 Oculus Rift 和 HTC Vive 开发VR游戏,低运算低耗电量
  • 可在智能手机上像 Oculus Touch 和 HTC Vive 一样无线使用,无须连接PC和额外的相机
  • 修正的惯性传感器可以在VR设备上看到你的双手,360°自由的捕捉范围蓝牙4.2连接到手机,真实的动力反馈

Shift DK1 (预定,$179加运费): 2个控制器(操纵杆和上臂传感器),连接PC的蓝牙适配器(Bluetooth 4.0),充电线,SDK/API,3个Demo游戏示例

 



  

 

 

Digital Hands (No-camera Tracking for Mobile VR)

特点:

  • 不需要摄像头即可追踪定位(依靠安装在使用者的手指、手掌、手臂上的传感器追踪运动)
  • 食指触摸板提供输入选项,包括滑动、点击、双击,导航,点击菜单,输出文本等,具有手势识别
  • 蓝牙无线传输,使用高级算法来捕获身体,手臂,手和手指的运动,并且节点数量减少(手腕和胸部无须传感器)
  • 基于 IMU惯性传感器漂移量的最小化,具有一键校准功能
  • 跨平台,针对 移动VR 或 PC 上的 VR (Windows 和 SteamVR)

 按键与OculusTouch类似,可以进行丰富的手势捕捉及相关动画。

  • IndexTrigger - main trigger
  • GripButton - additional trigger
  • ButtonThumb - analog stick or touchpad
  • ButtonZero - home and calibration button
  • ButtonOne - additional button
  • ButtonTwo - additional button

 

 Documents for dash, shifts, hands :

 

 

 

 

 

Platforms and requirements

Android:

  • Android 5 or newer
  • А gyroscope. Check if your Smartphone has a gyroscope
  • 2 GB of RAM or more for the best experience

 IOS:

  • iOS 8 or newer
  • iPhone 6 or newer

 Windows:

  • Windows 10 or newer
  • CPU: Intel i3-6100 / AMD Ryzen 3 1200, FX4350 or better
  • Graphics Card: NVIDIA GTX 960 / AMD Radeon R9 290 or better
  • 8GB+ RAM
  • USB 2.0 or newer
  • Bluetooth 4.0 or newer

Specifications and tips for developers (Controller)

 Light Indicators:

关机或没电的时候指示灯是不亮的,蓝色(不闪烁)表示正常闪烁表示设备准备通过蓝牙连接配对灰色表示硬件错误,LED熄灭之前不要进行任何操作,红色表示电量在10%以下

 

 Charging:

开机时不要进行开关机操作,推荐使用USB 3.0 5V电流进行充电,一次充电40~50分钟

 

Turning the devices On, Off and Pairing:

短按“Home Button”开机,长按5秒关机指示灯蓝色且短暂震动表示控制器准备配对,在 Smartphone or PC等接收设备上设置配对,配对有效距离为110cm,超过110cm后将失去配对,关机后重新开机将进入搜索配对模式。如果控制器配对了多个接收设备,开机时将配对到距离其最近的一个。

 

 

 Setting & Configure Finch

Settings you can change during runtime (Unity and Unreal only):

请不要在运行时改动配置,根据你的应用选择使用3DOF的控制器"Dash"还是6DOF的控制器“Shift”,单手或双手操作。

但是在 Unity 和 Unreal 引擎开发应用内(3DOF and 6DOF),可以允许用户改变其设置,具体如下:

  • 校准:未校准的控制器在VR中的手部运动将不符合手部骨骼运动规律,建议在游戏或应用启动时进行校准(launch calibration process),或者玩家看不到虚拟的控制器实例,或者当虚拟控制器实例的移动不与手臂运动方向一致时,最好当用户感觉控制器运动偏移的时候可以重新设置校准,或者在任何时刻进行校准。
  • 3DOF (Finch Dash) 校准:控制器指向前方,按”Home Button“键几秒钟。
  • 6DOF (Finch Shift) 校准:双手向前伸直(手臂肘关节不能弯曲,且与地面平行)并靠近(控制器依靠磁石连接在一起),同时按”Home Button“键,检查虚拟的手臂是否移动正确,不正确则检查设备穿戴是否正确。
  • 控制器偏移(offset):位于骨骼节点层级中的控制器,用于FinchPlayer脚本,影响控制器实例的显示位置和运动方式,Standart(匹配骨骼 FinchBone.LeftHandCenter 、FinchBone.RightHandCenter)、Wrist(匹配骨骼FinchBone.LeftHand 、 FinchBone.RightHand)、Elbow(匹配骨骼FinchBone.LeftLowerArm 、FinchBone.RightLowerArm)、Shoulder(FinchBone.LeftUpperArm 、 FinchBone.RightUpperArm)
  • 姿势追踪算法:3DOF控制器的算法具有两种类型:Finch自有算法或者Google Daydream VR 算法,可任选一种;6DOF控制器只会使用FinchVR自有算法
  • 电池充电:大型应用或连续性时间长的游戏,建议在VR控制器实例中,或者在主界面向玩家展示电量或者给予警告提示(不用频繁提示)。
  • 不要忘记在游戏内通过Tips、tutorials,或者其他的帮助玩家理解或指导玩家在游戏中的操作。
  • 场景中控制器实例的可见性:无论在应用内选用哪种实例模型去显示,要确保与场景交互的控制器实例在场景中看起来没那么僵硬。

FinchBody rotation mode:

  • None - 身体不会追踪游戏相机(头盔)或控制器, 身体的旋转始终是 Quaternion.Identity
  • 肩部旋转 - 身体追踪游戏相机(头盔)和上臂节点. 默认选项为 6DOF.
  • 手部旋转 - 身体追踪游戏相机和控制器前向方向.
  • 手部运动 - 身体以符合控制器运动器强度的角速度追踪游戏相机.
  • HMD旋转 - 控制器将被重新矫正中心位置到HMD的旋转角度. 最佳选项为 3DOF.
  • 肩部伸出的旋转角度 - 身体追踪游戏相机和上臂节点,允许你通过一只手伸出到远处物体.
  • IMU惯性全身旋转 - 身体追踪游戏相机和上臂节点,允许你在小范围空间内追踪身体. 最佳选项为 6DOF.

 Recenter mode:

  • Forward - 控制器将重新矫正中心点到初始位置, 无论HMD朝向哪里.
  • HMD rotation - 控制器将被重新矫正中心点到HMD的旋转位置.

Finch buttons

  • Home button:提供了大量的功能,建议不要自定义功能、
  • Thumb button:在stick 或者 touchpad 键的下方,可以用来辅助Stick or Touchpad运动,如通过Stick去选择菜单,然后通过Thumb Button去触发。
  • Index trigger:主要的动作按键,如游戏中的射击,拾取或扔出,注意在所有的SDK中只能从 triggers - number中获取两种类型的数据:按下去的按键数,及按下去触发的事件(超过设定的阈值时 invoking)。
  • App button(3DOF-only ):当游戏或应用内有菜单选项时可使用,也可以长按用于其他目的。
  • Volume buttons(3DOF-only ):用于划分体积区域,也可以作为其他键触发其他事件。
  • Middle trigger (grip button)(6DOF-only ):注意在所有的SDK中只能从 triggers - number中获取两种类型的数据:按下去的按键数,及按下去触发的事件(超过设定的阈值时 invoking)。
  • Assistive buttons:尽量让一些事件在一个button上,如果感觉按键不够用,可以按不同的场景进行取舍

 

Finch Core API Documentation(C++)

Function Description

FinchInitError FinchInit(FinchDeviceType device)

根据所选设备进行初始化,参数类型为Hand手套、Shift、Dash,返回None(初始化成功)、NotInitialize(无法初始化)、 UnknownDeviceTyp(设备类型不对)、 RuntimeError(运行时错误)

void FinchExit()

清除退出

const char* FinchGetCoreVersion()

返回 Finch Core 的版本

FinchBodyRotationMode FinchGetBodyRotationMode()

返回FinchCore中所使用的身体旋转类型:
  • None:身体不旋转,本地旋转值始终与位置信息保持一致
  • ShoulderRotation:身体根据HMD和肩部传感器的方向进行旋转,使用6DOF时将使用标准计算旋转角度的算法
  • HandRotation:身体根据HMD方向和跟随的传感器方向进行旋转,使用3DOF时将使用标准计算旋转角度的算法
  • HandMotion:身体根据HMD角速度的方向(取决于传感器运动的强度)进行旋转
  • HmdRotation:身体旋转的方向与HMD水平方向保持一致

FinchDeviceType FinchGetDeviceType()

返回所使用设备的类型(Hand手套、Shift、Dash

uint32_t FinchGetStateNodes()

返回节点的状态标识

uint8_t FinchIsChiralityRedefining()

如果控制器在进程中正被重新校准,则返回true

const char* FinchGetDeviceName(FinchNodeType node)

返回所选择节点的设备名称(RightHand 、LeftHand 、RightUpperArm 、LeftUpperArm )

const char* FinchGetFirmwareVersion(FinchNodeType node)

返回选择节点的硬件版本

uint8_t FinchIsBoneAvailable(FinchBone bone)

骨骼数据可用则返回 true

FinchQuaternion FinchGetBoneRotation(FinchBone bone)

返回骨骼在当前空间中的方向(四元数)

FinchVector3 FinchGetBoneCoordinate(FinchBone bone)

返回骨骼相对左右肩膀中心点的位置

FinchVector3 FinchGetBoneLocalAcceleration(FinchBone bone) 

返回骨骼在本地坐标系统中的加速度

FinchVector3 FinchGetBoneLocalAngularVelocity(FinchBone bone) 

返回骨骼在本地坐标系统中的角速度

FinchVector2 FinchGetTouchpadAxes(FinchChirality chirality) 

返回 TouchPad 坐标

float FinchGetNodeCharge(FinchNodeType node) 

返回电量百分比

float FinchGetBoneLength(FinchBone bone) 

返回骨骼模式下的骨骼长度

uint16_t FinchGetEvents(FinchChirality chirality, FinchEventType type) 

返回控制器元素的事件类型

float FinchGetIndexTrigger(FinchChirality chirality) 

返回  index trigger 的值

float FinchGetMiddleTrigger(FinchChirality chirality) 

返回 middle trigger 的值

void FinchResetCalibration(FinchChirality chirality)

重新校准所选中的控制器(Right、Left 、Both )

FinchRecenter(FinchChirality chirality, FinchRecenterMode mode)

通过所选中手部的方向设置玩家面对的方向(手部必须在玩家前面,并且处于肩部骨骼的层级,FinchChirality为控制器类型:Right、Left 、Both,FinchRecenterMode 类型为Forward 【通过前向方向重新设置中心】、 HmdRotation 【通过HMD方向重新设置中心】)

void FinchChiralityRedefine()

校准重新定义的控制器节点

void FinchStartChiralityRedefine()

在自动模式下校准重新定义的控制器节点

void FinchAxisCalibration(FinchChirality chirality, FinchAxisCalibrationStep step)

全部坐标轴校准(FinchChirality 包括Right、Left 、Both控制器,)

void FinchOnePoseAxisCalibration(FinchChirality chirality, FinchRecenterMode mode)

通过当前姿势计算坐标轴的校准基向(FinchChirality为控制器类型:Right、Left 、Both,FinchRecenterMode 类型为Forward 【通过前向方向重新设置中心】、 HmdRotation 【通过HMD方向重新设置中心】)

void FinchLoadCalibrations()

加载保存的用户校准文件

void FinchSavedCalibrations()

保存当前玩家的校准文件

void FinchSetBoneLength(FinchBone bone, float length)

设置所选择骨骼的长度值

void FinchSetBodyRotationMode(FinchBodyRotationMode mode)

设置身体旋转模式(None 、ShoulderRotation 、HandRotation 、HandMotion 、HmdRotation )的值

  • None:身体不旋转,本地旋转值始终与位置信息保持一致
  • ShoulderRotation:身体根据HMD和肩部传感器的方向进行旋转,使用6DOF时将使用标准计算旋转角度的算法
  • HandRotation:身体根据HMD方向和跟随的传感器方向进行旋转,使用3DOF时将使用标准计算旋转角度的算法
  • HandMotion:身体根据HMD角速度的方向(取决于传感器运动的强度)进行旋转
  • HmdRotation:身体旋转的方向与HMD水平方向保持一致

FinchUpdateError FinchUpdate()

更新控制器数据(None:更新成功,NotInitialized :控制器未被初始化而无法更新,RuntimeError :运行时错误)

FinchUpdateError FinchHmdUpdate(FinchQuaternion hmd)

以HMD的旋转角度更新控制器

void FinchSwapNode(FinchNodeType first, FinchNodeType second) 

交换选择的节点

uint32_t FinchGetRawDataSize(FinchNodeType type) 

返回所选择节点的行数据的大小

FinchIOError FinchGetRawData(FinchNodeType type, uint8_t* data, uint32_t length) 

返回节点行的行数据

FinchIOError FinchWriteData(FinchNodeType type, uint8_t* data, uint32_t length) 

同步模式下写入数据到一个节点

FinchIOError FinchAsyncWriteData(FinchNodeType type, uint8_t* data, uint32_t length) 

异步模式下写入数据到一个节点

 

 

Finch Unity SDK

 

Steps to implement Finch support into Unity-applications:

 

1、Create project, download SDK file FinchSDK_v0.3.unitypackage or test demo  FinchDemo_v0.21.7z .

2、添加 FinchMain prefab 到场景中,FinchMain 包含了重要的静态 FinchVR 脚本,是所有Dash、Shift 实例的处理接口。

    Note:Each Unity scene should have only one FinchVR script (or FinchMain prefab) instance in it.

3、配置项目所支持的 Controller,具体参照本文 “Setting & Configure Finch” 部分。

4、实例化1个或2个Controller, 控制器类型包含:

  • FinchSingleController:只能用于3DOF控制器(Dash),且游戏中只能使用1个控制器(左手或右手)。但当场景中有多个FinchSingleController 时只会显示一个控制器实例。
  • FinchDualController:玩家可选择只使用1个或者2个控制器(3DOF or 6DOF),6DOF使用该prefab时,必须要设置为FinchDualController模式,如果只有一个controller 连接到应用,游戏正常运行但玩家在场景中只能看到一个控制器实例。
  • FinchAvatar:在单个或者两个控制器中设置玩家的虚拟角色骨骼模型(UnityEngine.Animator),通过控制器的 position 控制角色的骨骼动画,除了控制器,还可以扩展为Head、Body、Arm等。

5、检查 Controllers,选择一个包含Finch组件的场景,可以连接控制器在PC/Android上进行验证,校准后可以在场景中看到一个Controller 实例跟随手部移动。

 

FinchCalibration场景,可以作为一个基本的校准环境简单应用到游戏的第一个关卡中

请不要移除3DOFCalibrationScene及6DOFCalibrationScene,无论有几个控制器,所有的检测都是自动的。

Anthropometry6DOFCalibrationScene可以根据用户的身体参数校准6DOF(Shift)控制器,玩家需要输入性别和身高,一些参数(如骨骼长度)会被自动计算,也请不要移除。

除了在这些场景中进行校准之外,还可以在游戏运行的任何时候进行校准。


Script Description
FinchVR  初始化Finch Controller符合所设置的操作,提供了Finch Unity API
FinchPlayer Abstract script. Children classes translate head and controllers GameObjects on scene
FinchSingleControllerPlayer Inherited from FinchPlayer. Translates head and single controller GameObjects on scene
FinchDualControllerPlayer Inherited from FinchPlayer. Translates head and two controllers GameObjects on scene
FinchAvatar Proceeds character skeletal model animation according to controller position. Allows to visualize not only controllers, but also head, body, arms etc
FinchControllerVisual Visualizes controller element pressings
FinchTouchPoint Visualizes touch point

 

Provides Finch controller API.

Class Description
FinchController Allows to use Finch controller API
PlayerState Keeps last update frame controller data
BoneDictionary Keeps list of proceeding skeletal model bones
FinchSettings Finch controller modes settings

 

C API import implementation.

Class Description
FinchCore Provides API for FinchCore.dll using
Interop Only for direct dll using. It is Strictly not reccomended to use this class
FinchCoreHelper Consists unity_to_finch and finch_to_unity transforms methods. Is not used in API

 

Struct Description
FinchNodesState Consists all nodes states
VibrationPackage Single instruction for vibration engine
FinchVector2 Vector2 for direct dll using. Is not used in API
FinchVector3 Vector3 for direct dll using. Is not used in API
FinchQuaternion Quaternion for direct dll using. Is not used in API

 

Enumeration Description
FinchDeviceType Finch device type
FinchControllersCount Target Finch controllers count
FinchDataSource Data source. Consists following values: Controller for Finch controller; Disabled for default values
FinchChirality Chirality (e.g. left or right)
FinchBone Skeletal bone. Extends UnityEngine.HumanBodyBones enumaration
FinchNodeType Device node type. Consists following values: RightHand, LeftHand, RightUpperArm, LeftUpperArm
FinchControllerElement Finch controller input element (button, touchpad or trigger)
FinchRecenterMode Target result of recentering. When HmdRotation, controllers recenter to current Main Camera rotation; when Forward, both controllers and Main Camera recenter to default position
FinchBodyRotationMode Method of body rotation computing
ControllerOffset Finch controller position in skeletal bones hierarchy. Is used for FinchPlayer scripts
FinchEventType Event type. Consists following values: Begin, Process, End
FinchNodesStateType Node state type. Is used in FinchNodesState.GetState()
FinchAxisCalibrationStep Three Poses Calibration Step. Only for direct dll using. Is not used in API
FinchInitError FinchCore.FinchInit and FinchCore.FinchExit error type
FinchUpdateError FinchCore.FinchUpdate and FinchCore.FinchHmdUpdate error type
FinchIOError FinchCore.FinchWriteData and FinchCore.FinchAsyncWriteData error type

 

GVR Unity SDK with Dash support

 

 (版权所有,转载必须以超链接形式标明文章原始出处和作者)

 

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 118.4 KB
  • 大小: 87.2 KB
  • 大小: 538.7 KB
  • 大小: 252.8 KB
  • 大小: 255.9 KB
  • 大小: 12 KB
  • 大小: 15.1 KB
  • 大小: 10 KB
  • 大小: 8.5 KB
  • 大小: 485.3 KB
  • 大小: 478.7 KB
  • 大小: 96.7 KB
  • 大小: 60 KB
  • 大小: 52.5 KB
  • 大小: 75.1 KB
  • 大小: 74 KB
  • 大小: 68.3 KB
  • 大小: 20.2 KB
  • 大小: 198.6 KB
分享到:
评论

相关推荐

    finch-rs:Rust中的基因组minhashing实现

    雀科 Finch是针对基因组数据的最低限度独立置换排列局部敏感哈希(“ MinHashing”)的实现。 该存储库提供了一个库和命令行界面,可在中重新实现One Codex(并添加新功能/扩展!)。入门安装您可以从源代码构建...

    FINCH-Clustering:FINCH聚类算法的源代码

    第一整数邻居聚类层次结构(FINCH)算法 该存储库包含用于建议的FINCH聚类算法的Python和Matlab代码,在我们的《使用第一个邻域关系进行有效无参数聚类CVPR 2019口头。 @inproceedings{finch, author = {M. Saquib...

    finch-controller:Finch 机器人的控制器 GUI

    "Finch控制器:Finch机器人的GUI界面"是一款专为 Finch 机器人设计的桌面应用程序,它提供了一个图形用户界面(GUI)以便用户更直观、便捷地控制这款小巧的教育机器人。Finch机器人常用于编程教育,让学生通过编写...

    node-finch-robot:使用Node.JS控制Finch机器人的库

    芬奇机器人 一个用于使用Node.JS控制库。...var device = finch ( ) ; 如果发现问题或连接到设备存在问题,第二行将引发错误。 设备成功初始化后,可以发出Finch命令...发光二极管 device . led ( r , g ,

    finch-graphql:Web扩展的后台过程中的本地GraphQL API

    芬奇图Finch是一个库,可让您构建可通过Web扩展的客户端脚本访问的本地GraphQL API。 设置,您甚至可以从可连接的网站查询Finch GraphQL。安装npm install --save finch-graphql graphql react# oryarn add finch-...

    finch-intro:雀科简介。 代码和幻灯片

    这个压缩包“finch-intro”包含了对Finch库的介绍,以及相关的代码示例和演讲幻灯片,这些资料可以帮助我们深入理解Finch在实际开发中的应用。 Finch的核心理念是提供一种简洁、易于理解和维护的方式来构建Web服务...

    finch-bookmarks:Finch GraphQL的演示扩展

    芬奇的例子 此扩展是的示例扩展。 安装 $ yarn 发展 yarn dev chrome yarn dev firefox yarn dev opera yarn dev edge ... yarn build chrome ...该构建工具还在脚本中定义了一个名为process.env.NODE_ENV的变量。...

    FInch-Collector:这是添加各种细节的应用程序

    Finch-Collector是一个基于Python的应用程序,它专注于收集和管理各种细节信息,可能涵盖了多个领域,如数据采集、项目管理或信息整合。这个应用的核心可能是为了帮助用户系统化地存储、组织和检索他们需要的详细...

    FinchUnitySDK:用于Unity的Finch SDK

    Finch Unity SDK 用于Finch 3DoF(Dash)和Finch 6DoF(Shift)控制器的SDK。 使用此SDK,您可以轻松地将Finch控制器支持实施到现成的或新的Unity项目中。 最新版本可从。 该文档可从。 您可以在SDK和文档中发现的。...

    finch:用于 Python 的异步 RESTful API 使用者

    Finch:RESTful API 消费者 Finch 是 Python 的异步 RESTful API 使用者。 Finch 专注于移除与使用基于 http 的 API 相关的所有样板,并提供高级抽象来开发 API 客户端。 Finch 是在下发布的,因此您可以、并以改进...

    finch:简单快速的网站生成器

    它也可以作为Docker容器使用: docker run -v $(pwd):/finch roddylm/finch:latest -help 使用 创建一个名为layouts的目录。 使用{{ page.content }}其中添加模板文件,其中要呈现的页面内容应放在其中。 然后创建...

    finch:WordPress 的 Finch 主题

    Finch 是一款专为 WordPress 设计的主题,以其简洁、现代且响应式的设计而受到用户的欢迎。在深入探讨 Finch 主题的知识点之前,让我们先了解一下 WordPress。WordPress 是一个开源的内容管理系统(CMS),广泛用于...

    finch:有限体积毛细管异质性建模

    "Finch: 有限体积毛细管异质性建模"是针对地质建模领域的一种高级计算工具,它主要用于模拟地下的多孔介质中的流体流动和传递过程。Finch这个名字来源于雀鸟科,寓意其小巧而灵活,能够处理复杂的地下物理现象。它是...

    finch-core_2.10-0.9.2.zip

    《Finch Core 2.10-0.9.2与FastParse:Scala中的高效解析库》 在Scala编程世界中,高效的解析库是构建复杂应用程序的关键组件之一。本篇文章将深入探讨开源项目"Finch Core 2.10-0.9.2"以及与其密切相关的...

    Finch:可配置的命令行工具,可轻松创建和格式化版本变更日志

    Finch是一种可配置的工具,旨在使跟踪产品的历史和演变变得简单且易于自动化。 它将项目的Git提交消息转换为格式正确的版本更改日志,以适应您团队的特定需求。 目录 执照 为什么叫“芬奇”? Finch的名称源于...

    【应用】-Finch(OpenAL).7z

    《Finch(OpenAL)在iOS开发中的应用详解》 Finch是一款开源音频库,它主要基于OpenAL技术,为iOS应用提供强大的音频处理能力。OpenAL(Open Audio Library)是一个跨平台的API,用于创建和播放三维音效,尤其在游戏...

    FINCH源代码(python、matlab语言实现)

    **FINCH源代码详解** **一、FINCH算法概述** FINCH,即“First Neighbor-based Iterative Clustering Hierarchies”(基于最近邻的迭代聚类层次),是一种参数少、效率高的无监督聚类方法。它由论文《Efficient ...

    finch-3-austinchastain:GitHub Classroom创建的finch-3-austinchastain

    您将尝试移动Finch机器人。 了解雀科运动 雀科通过向车轮施加动力来移动。 这是使用finch.setWheelPower(left, right) ,其中left和right代表各自车轮的动力。 此功率可以是-255到255之间的数字,其中负功率对应于...

    CES-VR-AR-MR头显、眼镜、一体机、配件、模组、技术与解决方案,超全汇总.docx

    ### CES-VR/AR/MR头显、眼镜、一体机、配件、模组、技术与解决方案,超全汇总 #### VR头显 - **Vive Cosmos**:HTC推出的新一代VR头显,支持inside-out追踪,即无需外部传感器即可进行定位追踪。配备双6Dof手柄,...

    How to Write a Business Plan - Brian Finch.pdf

    《如何撰写商业计划》是由Brian Finch所著,本文将基于提供的内容摘要和标签,详细解释书中可能包含的知识点。 首先,关于“商业计划书”的核心概念,它是一种系统性文件,用于阐述企业或项目的宗旨、目标、市场...

Global site tag (gtag.js) - Google Analytics