VR开发--初步了解SteamVR

1、360°旋转视角

1.png

添加其余的视角-扩张

2.png

添加好的层级关系:位置-头部-眼睛-耳朵

3.png

2、集成手柄

创建游戏对象,分别为左右手,添加脚本:
1、SteamVR_ControllerManager


5.png

2、SteamVR_TrackedObject 此类是根据Index来获取跟踪信息并反馈到Unity中。
注:修改Index为none


4.png

3、SteamVR_GameView
这个脚本主要负责将游戏画面绘制到窗口上去
Paste_Image.png

4、代码获取手柄对象:

//1获取到某个按键的状态
var device = SteamVR_Controller.Input(uint);
device.GetTouchDown(SteamVR_Controller.ButtonMask)

//2获取当前所有的按键状态
var system = OpenVR.System;
system.GetControllerState(uint, ref VRControllerState_t))

5、手柄震动

public void TriggerHapticPulse(ushort durationMicroSec = 1500, EVRButtonId buttonId = EVRButtonId.k_EButton_SteamVR_Touchpad)
{
  var vr = OpenVR.System;
  if (vr != null)
  {
    var axisId = (uint)buttonId - (uint)EVRButtonId.k_EButton_Axis0;
    vr .TriggerHapticPulse(ControllerIndex, axisId, (char)durationMicroSec);
  }
}
或者可以
var device = SteamVR_Controller.Input(uint);
device. TriggerHapticPulse();

6、SteamVR_Controller
控制器的相关信息都包含在SteamVR_Controller这个脚本之中
而这个脚本是被SteamVR_Render中的Update函数调用,从而循环获得手柄相关信息

6

当我们需要使用这些事件时直接监听这些事件即可。


6.png

ButtonMask类:手柄各按键的名称
Input()函数:根据Index初始化Device[]数组,并实例化所有16个Device。
Device类:最重要的类,封装了跟踪设备的全部信息。


Device类包含:

15.png
16.png

GetAxis:获取手柄上圆盘坐标或Trigger的行程值(0-1),函数默认参数是手柄上的Touchpad。共有5个AxisId参数可选,0是TouchPad,1是Trigger,2,3,4应该是没有用的,且此函数只接受EVRButtonId类参数而不接受ButtonMask。
TriggerHapticPulse:手柄震动控制函数,参数名称解释的是时间,默认500,但实际上控制的是震动的强度。默认AxisId是EVRButtonId_touchpad,选择其他EVRButtonId没用(等价参数axis0可以),其会调用OpenVR中的同名函数。参数超过4000会无效,导致震动不触发。可以通过协程的while(true)+waitforsecond控制震动间隔,通过stop协程控制震动结束。同上4操作。

17.png

GetHairTrigger
GetHairTriggerDown:定义为有false转至true的过程,判断先前状态和当前状态。
GetHairTriggerUp:定义为有true转至false的过程,判断先前状态和当前状态。
HairTrigger是检测当你握住扳手超过一个固定值(0.1,可调)时即触发的状态。利用Trigger的变化量来做一个功能的触发

7、SteamVR_LaserPoint

主要实现手柄当前指向物体与离开物体的两个方法事件。使用射线检测

7

3、手柄渲染

SteamVR_RenderModel:该组件用于渲染手柄的模型,并且跟踪手柄的位置

7.png

4、活动空间(即玩家的活动空间)

SteamVR_PlayArea
用于显示游玩区域

8.png

5、HTC Vive参数

HTC vive
参数配置:
  分辨率:单眼 1200 x 1080 的分辨率
  刷新率:最高可达 90hz
  位置追踪范围:4.5m x 4.5m
  其他配置:配套的带有位置追踪的游戏控制器等

推荐电脑配置:
  处理器:Intel i5-4590/AMD FX 8350同等或更高配置
  内存:4GB及以上
  显卡:NVIDIA GTX970/AMD R9290同等或更高配置
  系统:windows 7 SP1 或更高版本
  视频输出:HDMI 1.4或者DisplayPort 1.2或更高版本
  USB接口:1 x USB 2.0 或更高版本的端口

游戏区域要求:
  空间定位:空间最小为 2 米 x 1.5 米 (6 英尺 6 英寸 x 5 英尺)
       基站间最大距离为 5 米 (16 英尺)
  站立/坐立:无最低空间要求

6、参考:

http://www.jianshu.com/p/8cce89d2aef3

一个人的路需要更多人的陪伴:欢迎加群: 134688909 一起交流,分享心得,获取项目资源。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,637评论 18 139
  • This article is a record of my journey to learn Game Deve...
    蔡子聪阅读 3,768评论 0 9
  • VRTK是由一些大神对SteamVR进行一定的优化后封装出来的便捷快速VR开发工具,下面一步一步来了解这个神插件。...
    砍了那只鸭阅读 7,258评论 3 15
  • usingSystem.Collections; usingSystem.Collections.Generic;...
    胤醚貔貅阅读 1,666评论 0 0
  • 利说:“决定要离开湖南了,回想一下在这里稀里糊涂过的这些年。确实有些不舍,还有很多牵挂,最近发生了很多事情,我也承...
    忘了你z亡了我阅读 347评论 0 1