翻译一下google cardboard接unity的开发文档
前面
一直想尝试开发一个VR游戏试试……
Unity的官方文档在这里
一开始看的时候分不清各种VR设备,如果你也是的话——比如只有一个能塞进手机的带凸透镜的壳子,就用google cardboard这个SDK。因为其他的都有对应设备支持。
关于硬件,这里是谷歌cardboard官网。
在这个网站有制作过程的中文介绍。
如果嫌麻烦的话某宝上应该有很多类似的VR设备。最好配一个手柄……
然后我对着下面这个尝试了一下一个example程序。
这里的操作有单机、双击、拖动画面等,一个正常的蓝牙连手机的游戏手柄应该就可以。
这个视频覆盖了这里要介绍的部分,一些内容可以结合下面的翻译。
其他资料:
https://blog.csdn.net/suhao15330369126/article/details/53646227
一个比较详细的介绍。
正文
翻译的是官网上关于Unity开发的部分。可能部分忽略Daydream相关的。
设置你的开发环境
硬件要求:
- Daydream白日梦:你需要一个Daydream电话和一个Daydream View。
- Cardboard:您需要一台运行Android 4.4’Kit Kat’(API级别19)或更高版本的Android设备以及一个Cardboard查看器。
译注,上述应该是或的关系而不是都必须
软件要求:
- 安装Unity:
推荐版本:LTS版本2017.4或更新版本
最低版本:5.6
确保在安装过程中选择了Android构建支持组件。
确保您的环境已针对Android开发进行配置。
请参阅Android SDK / NDK设置的Unity指南。
下载适用于Unity的Google VR SDK
从发布页面下载最新的GoogleVRForUnity _ *。unitypackage。
SDK包含以下Daydream和Cardboard演示场景:
场景 | 描述 |
---|---|
HelloVR | 简单的VR游戏,您可以在其中找到并选择几何形状 |
KeyboardDemo Daydream | 在UI画布上显示键盘输入 |
PermissionsDemo Daydream | 显示正确的用户权限请求流程 |
VideoDemo | 显示通过播放或远程流式传输使用立体声或360°视频的各种方式 |
创建一个新的Unity项目并导入Google VR Unity软件包
- 打开Unity并创建一个新的3D项目。
- 选择Assets > Import Package > Custom Package.
- 选择您下载的GoogleVRForUnity _ .unitypackage*文件。在 Importing Package对话框中,单击Import。
如果提示,请接受任何API升级。
配置构建设置和播放器设置
- 选择File > Build Settings.
- 选择Android并点击Switch Platform。
- 在Build Settings窗口中,点击Player Settings。
配置以下Player Settings:
Setting | Value |
---|---|
Player Settings > Other Settings > Virtual Reality Supported | Enabled |
Player Settings > Other Settings > SDKs | 单击+并且选择 Daydream or Cardboard. |
Player Settings > Android > XR Settings > Virtual Reality SDKs > Daydream > Positional Head Tracking | 单击+并且选择Disabled, Supported, or Required. |
Player Settings > Other Settings > Minimum API Level | Daydream: Android 7.0 ‘Nougat’ (API level 24) or higher. Cardboard: Android 4.4 ‘Kit Kat’ (API level 19) higher |
在Unity中预览演示场景
- 在Unity Project窗口中,转至Assets > Google VR>演示>场景。打开GVRDemo场景。
按下Play按钮。在游戏视图中,您应该看到渲染的演示场景。
请注意,虽然这里的场景是单色的,但手机上的渲染将是立体的。 Unity可能会将此警告消息显示为提醒:
编辑器模式不支持VRDevice白日梦。请在目标设备上运行。使用模拟控件与场景进行交互:
类型 | 模拟操作 | 该怎么做 |
---|---|---|
头部移动 | 转动头部 | 按住Alt +移动鼠标 |
倾斜您的视角 | 按住Ctrl +移动鼠标 | |
Cardboard输入 | 按钮按下 | 单击游戏视图中的任意位置 |
Daydream输入 | 更改控制器方向 | 按住Shift +移动鼠标 |
点击触控板按钮 | 按住Shift键并单击左侧 | |
点击应用按钮 | 按住Shift键并点击右侧 | |
单击主页按钮以重新启动 | 按住Shift并单击中键 | |
触摸触摸板。 要查看控制器,请将视角向下倾斜 | 按住Ctrl | |
更改触摸板上的触摸位置。 要查看控制器,请向下倾斜视图 | 按住Ctrl +移动鼠标 |
4. Daydream:(可选)在编辑器中,您可以在播放模式下使用实际的Daydream控制器,而不是模拟控件。为此,请使用即时预览。
准备您的设备
也就是你的安卓手机
要准备您支持的设备,请启用开发人员选项和USB调试。
在您的设备上构建并运行演示场景
- 使用USB将手机连接到电脑。
- 选择File> Build and Run。
Unity将您的项目构建到Android APK中,并将其安装到设备上并启动它。 - 将手机放入您的查看器并尝试演示。
会检测手机是横屏还是竖屏,横屏情况下才会开始
设置Unity支持
这个是这一篇文档的一部分,感觉比较重要所以拖了过来(???)
要在您的应用中包含控制器支持,请将以下预制件(prefabs)添加到您的场景中:
预制名称 | 场景中的位置 | 说明 |
---|---|---|
GvrControllerMain | 场景中的任何地方 | 主控制器预制,负责管理控制器状态。包含GvrControllerInput组件,它是控制器API的主要入口点。 |
GvrControllerPointer | !!在主摄像机边上 | Daydream控制器预制件。提供控制器,激光和光罩可视化,并作为工具提示和自定义可视化的附加点。 |
GvrEventSystem | 场景中的任何地方 | 直接替换Unity的预制事件系统。包含GvrPointerInputModule组件而不是Unity的StandaloneInputModule。让Daydream控制器使用Unity事件系统。 |
GvrEditorEmulator | 场景中的任何位置 | 编辑播放模式下的相机控制器。让您用鼠标或触控板模拟用户的头部运动。 |
GvrInstantPreviewMain | 场景中的任何位置 | 编辑器播放模式即时预览控制器。让您可以将立体声预览流式传输至手机,并在编辑器中使用实际的Daydream控制器。 |
最终的场景将如下所示:
如果不做这样的操作的话导出的apk在Android运行还是正常的,但是没有办法在Unity内预览模拟事件。