unity vr中怎么设置用vr手柄代替按键

使用Unity5.1进行VR开发的配置(最新的未必是最好的!!!)
随着Unity5.1的发布,之前的Oculus
Rift和Gear
开发流程发生了巨大的变化,这也算是小白鼠们必须付出的代价了~
那么Unity5.1和Oculus的整合究竟发生了哪些变化,对开发者们开发应该如何来调整开发策略呢?下面是Oculus官方的详细说明,不得不看。
1.Unity提供了第一方的支持
Unity从5.1版本开始提供了对虚拟现实的第一方开发支持,当开发者在Player
Settings中勾选”Virtual
Reality Supported”选项时,就会自动使用一个全景的VR摄像机来取代默认的主摄像机。
V5.1最开始只支持Oculus
Rift,从6月12日开始Unity发布了5.1.0p1,开始支持Gear
VR.。开发者可以从这里下载最新的补丁版本。
目前最新的版本是5.1.2p1,7月22日发布。
当然,不是说最新的版本就是最好的,开发者一定要注意看bug修复清单,另外还有附加的说明。比如针对VR开发来说,Unity官方推荐先停留在5.1.2f1版本。因为在5.1.2p1版本有个bug,要等到1周后才会在5.1.2p2版本中修复。
关于如何实现Unity第一方的VR支持,可以参考Unity官方的说明:
2.Unity5.1和Oculus
Integration的整合开发
需要注意的是,Unity5.1的第一方VR支持和Oculus
Unity Integration的历史遗留版本并不兼容(v0.6.0及之前的Oculus
SDK)。如果想要在Unity5.1中使用遗留的integration,那么久必须在Player
Settings中取消勾选”Virtual
Reality Supported“。
不过Oculus正在抓紧工作,很快会对Unity
Integration做一个更新。届时就可以在VR项目中正常使用新的Oculus
Integration了。
3.已知的问题
考虑到迁移到Unity5.1对VR项目开发来说存在相当大的变化,因此我们建议大家慎重考虑升级的时间。简单来说,再次强调,做小白鼠是要付出代价的~
如果大家在这个过程中遇到任何问题,请在Oculus Unity论坛中提出来,Oculus的技术支持人员本尊会是不是出来看看情况。
目前我们已知Unity5.1版本在开发VR游戏时存在以下问题:
所有的moonlight脚本(包括平台UI,CPU/GPU
level,overlay)都不兼容Unity5.1.0。为了解决这一问题,我们会尽量在Oculus
SDK 0.6.0.1中进行修正。除此之外以下特性无法正常实现:
MediaSurface
TimeWarp sub-stepping(仅支持60,不再支持20或30)
Linear lighting(sRGB)和eye
texture MSAA当前无法正常使用,预计在Unity5.1.0p2中解决。
VR.VRSettings.renderScale在Android上面无效
当前无法实现对每只眼睛渲染不同的内容(立体电影)。该特性看会在未来的某个Unity版本中得到解决。
关于Unity5.1的更新说明和问题说明,请参考:
最后的小结,在更完美的Unity版本出来之前,对于VR开发者来说最好的选择是:
仍然使用Oculus官方的Unity
Integration,同时不要在Unity的Player
Setting中开启”Virtual
Reality Supported”.
我的VR资讯网站:赛隆网()
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。Unity实验室大神:Unity让VR的开发变得更加简单!
导读:VR是个先锋的行业,Unity 在做的是让VR的开发更加简单化,更加适应VR环境下玩家的需求。
尽管在消费者中并没有太高知名度,但Unity的产品和技术在游戏圈里早已是大名鼎鼎。进入中国4年后,4月11日,Unity将中国开发者大会放到了上海,今年,它的重点是VR。
是目前主流的游戏开发引擎,数据显示,全球最赚钱的1000款手机游戏中,有30%都是使用Unity的工具开发出来的。尤其在VR设备中,Unity的
游戏开发引擎更加具有统治地位,在上个月出货的Oculus Rift中,其自带的30款游戏中有16款都是使用Unity开发,而三星Gear
VR打造的基于智能手机的VR头盔设备里,90%以上的游戏都是使用Unity引擎开发。开发者大会现场,索尼、暴风、大朋、蚁视、HTC等国内外知名
VR设备开发商都摆出了体验台,他们的目的很明确,希望吸引更多的开发者为VR创作游戏。
然而,尽管今年被称为是VR元年,全球都在炒热 VR概念,但Facebook
CEO扎克伯格之前关于VR技术运用到大众市场还需要十年左右时间的观点,还是给这个行业不多不少泼了点冷水。《IT时报》记者随机采访的几名开发者中,
对于启动VR游戏的开发也是犹豫不决,&关键是不赚钱啊!&一名杭州的创业者说道。
VR设备的体验仍然被看作是VR普及的最大障碍。从记者
体验的多款国产VR产品来看,无论是基于手机的低端VR眼镜,还是高端的一体机,都存在清晰度不高、光线昏暗、有眩晕感等缺陷,&目前能够有很好游戏体验
的国产VR设备几乎没有,国外产品价格又很高,如果没有人愿意为VR游戏付费,那我们的开发就没有意义。&上述创业者表示。
Unity Labs(Unity实验室)负责人Sylvio
Drouin并不讳言目前还没有看出怎样的VR内容是真正具有吸引力的内容,VR设备的体验也有不尽如人意之处,但他认为,VR是个先锋的行业,&我们只
知道现在发展到什么程度,但是明年发展到什么程度,或者三年以后、十年以后发展到什么程度,我们都不知道,但最终会发现新大陆。&
在做的是让VR的开发更加简单化,更加适应VR环境下玩家的需求。比如不断优化每秒帧数,让玩家不头晕;或者重新设计玩家在VR游戏内的互动关系,他们甚
至在开发一种新的游戏引擎工具,可以让开发者戴上Oculus
Rift,使用手柄直接在VR环境中开发VR游戏,将建立好的模块拖放到场景中,就像模拟城市建设一样,简单明了。&
Drouin分析,从内容、硬件设备、开发工具的速度来看,今年应该是VR的加速发展之年。
12:22:46 105
22:47:11 103
00:44:10 103
14:23:52 102
20:42:58 101
15:24:17 101
04:58:14 4
05:04:57 4
05:09:49 3
05:16:42 3
14:21:16 3分类: ,,,,
阅读:1552次
暴风魔镜PC Input小改造–自己动手、丰衣足食
在做手游的时候,80%时间是在PC调试的,例如业务逻辑、AI算法、核心玩法等。
拿到魔镜提供的demo,晕了,必须得安装到Android机器上,才能调试,究其原因,有三:
需要用到手机陀螺仪
需要用到蓝牙手柄
需要用到魔镜的凸透镜
这些都是客观原因,但是每次打包后,安装Android,再戴到头上,Debug、log啥的都看不清,呵呵。
故就着手改造一下输入快捷键,从而可以方便的模拟手机陀螺仪输入、模拟蓝牙输入、模拟非VR Mode切换。
模拟手机陀螺仪输入
这个在mojing.cs有现成隐藏代码,在UpdateState()函数中。
快捷键F: ok键
快捷键Alt:按住,鼠标模拟GazePostion位移
快捷键Ctrl:按住,鼠标模拟GazePostion旋转
模拟蓝牙输入
在学习了MojingInputManager.OnButtonDown\OnButtonUp后,知道只要传递过去string即可,其中用/分隔,第一位暂时不用,第二位用MojingKeyCode预定定义的数字。
快捷键WASD:模拟蓝牙
快捷键Q:模拟蓝牙OK
模拟非VR Mode切换
VR Mode切换,是通过设置Mojing.SDK.VRModeEnabled实现的,原理是对Left、Right Camera和Center Camera可见性进行隐藏或者显示实现切换,找到了Demo.cs脚本中,已经封装好了切换和返回主菜单函数,调用即可:
GameObject.FindObjectOfType&Demo&().ToggleVRMode();
快捷键R:模拟切换VR Mode
快捷键B:模拟回到主菜单
借用网络一句话:VR开发,比App开发,多一个Camera。 搭建好调试环境,就会好很多。
源码下载:
使用:在MojingInputManager.prefab添加MojingInputManagerEditor脚本,然后点击Apply即可。
自绘摄像机的视口区域锥体
在Unity Editor下,当选择Camera组件后,可呈现出Camera视口区域锥体,非常方便。但是当选择其他物体,如Cube后,就无法得知是否在Camera市口区内了,这里我找到了雨松MOMO的一篇博客《Unity3D研究院之获取摄像机的视口区域》,他用Camera.fieldOfView和Camera.aspect算出屏幕比例,然后再得出width、height(摄像机)绘制了四边形,非常酷,可以解决这个痛点。
我在巨人肩膀上,做了一些拓展:
自动获得Camera的farClipPlane和nearClipPlane
void Start()
if (!theCamera)
theCamera = this.GetComponent&Camera&();
upperDistance = theCamera.farClipP
lowerDistance = theCamera.nearClipP
tx = theCamera.
连线far和near ClipPlane
void FindLower2UpperCorners()
Vector3[] corners_upper = GetCorners(upperDistance);
Vector3[] corners_lower = GetCorners(lowerDistance);
Debug.DrawLine(corners_lower[0], corners_upper[0], Color.blue);
Debug.DrawLine(corners_lower[1], corners_upper[1], Color.blue);
Debug.DrawLine(corners_lower[2], corners_upper[2], Color.blue);
Debug.DrawLine(corners_lower[3], corners_upper[3], Color.blue);
挂接这个CameraViewEx.cs脚本到Camera组件同GameObject即可, 运行时有效:
源码下载地址:
转自赛隆网 /
相关文章推荐
泰然网手游开发官方群:
独立游戏人:

我要回帖

更多关于 unity3d vr控制手柄 的文章

 

随机推荐