Unity对于VR的支持

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity对于VR的支持相关的知识,希望对你有一定的参考价值。

参考技术A 在edit下拉菜单里,找到Project Setting选项,然后选择Player,在Inspector中找到Other Setting,勾选Virtual Reality Supported复选框,即可获取对于VR设备的支持。

点击+号即可添加新的设备。目前,Unity支持的设备有oculus,openVR, Ste reo Display, Split Stereo Display。后面两个是3D显示器。

其中None的作用是可以在初始化的过程中,不进行VR头显的渲染,这样可以让同一个程序对多个设置进行支持。
下面我们来介绍下如何使用脚本来进行支持的SDK种类的切换。

为了以示区别,我们在更改支持的SDK前先等待3秒,在此时间内,只有电脑屏幕有画面,3s过后,我们可以看到VIVE头盔被激活。此时应注意在enable前,需等待一帧,否则会报错。

在添加了VR支持后,我们会发现在camera的Inspector面板中多出如图2所示的几个选项。

InputTracking类可以用于获取VR节点的位置和旋转角度。其官方的解释如下:

以下,我们通过一个简单的示例来演示如何使用InputTracking类来模拟手柄。

LeftHand脚本中做出相应的替换即可。

运行程序,我们就可以看到手柄变成了两个cube。

HTC VIVE手柄的按键可以在Edit->Project Setting->Input中设定。
首先,我们需要找到HTC VIVE手柄对应的ID号,在unity的官网上可以找到其对应的信息:

此时,我们就可以在Input里面设置手柄对应的按键了。我们以手柄上的trigger键为例,介绍如何使用手柄。

其中positive button对应即是上表中Unity Button ID中对应的值。

如果我们想获得trigger按下去的程度的数值,则可以使用Squeeze类型。
具体做法如下:

与之前不同的地方是,Axis要改为9th axis,type要改为Joystick Axis类型。

此时,我们可以做一个射线放置到手柄上。

使用这种方法对于UI的通用性比较差,如果我们在添加toggle或是其他UI组件,就要重新的GetComponent,比较麻烦,为此,我们可以采取以下的做法。

Agora 的 unity 插件是不是支持 360 VR 视频通话?

【中文标题】Agora 的 unity 插件是不是支持 360 VR 视频通话?【英文标题】:Is Agora's unity plugin capable of 360 VR video calls?Agora 的 unity 插件是否支持 360 VR 视频通话? 【发布时间】:2019-10-18 04:51:17 【问题描述】:

是否可以以 360 度格式进行视频通话,并在接收端以 360 度视频的形式出现在 Unity 插件中?

【问题讨论】:

【参考方案1】:

如果您将 360 视频流应用到一个倒置的球体并将 VR 摄像机放置在球体内,这可能是可能的。

【讨论】:

这不是答案,而是猜测。我知道你还不能制作 cmets,所以我要对此进行投票。然后您将有足够的代表发表评论。请将其更改为评论,然后删除这个不是答案的答案......或测试并确认它有效,并使其成为答案而不是猜测。 :-)

以上是关于Unity对于VR的支持的主要内容,如果未能解决你的问题,请参考以下文章

Unity 中 Samsung Gear VR 的 MovieTexture 替代品

Unity3d windows平台基于3D WebView for Windows and macOS (Web Browser)插件打开内嵌网页支持AR/VR功能实现

从代码启用/禁用 VR

Unity3D VR(Virtual Reality, 虚拟现实)

Unity3D VR(Virtual Reality, 虚拟现实)

Unity3D VR(Virtual Reality, 虚拟现实)