现有Unity3D游戏的VR移植教程
摘要:
1. 使用DpnCameraRig替换Camera;
2. 用pointer position替换mouse position;
3. 使用DpnEventSystem替换EventSystem;
4. 把UI Canvas的Render Mode修改为World Space,并调整相应的位置。
以Unity5.3.0示例项目(CharacterThirdPersonAI)为例,具体说明
Unity版本:Unity 5.3.0或其后版本
DPVR Unity插件版本:DpvrUnity0.7.6b或其后版本:点此下载
如果是E3开发者,还需要安装最新版本的大朋助手 for E3
准备工作
1. 下载相关资源
a) Unity5.3.0示例项目:
b) DpvrUnity0.7.6:
2. 安装并打开Unity5.3.0示例项目
a) 安装示例项目
b) 打开安装好的项目
3. 打开场景CharacterThirdPersonAI (Assets/SampleScenes/Scenes/CharacterThirdPersonAI)
4. 运行场景
移植VR应用
5. 导入DpvrPlugin0.7.6b.unitypackage
DpvrUnity插件基于unity5.3.0开发。如果您的版本是5.3.0+,导入插件时Unity会提示您升级。

请选择"I Made a Backup. Go Ahead!"。
如果没有自动弹出该升级窗口,请先关闭该工程并重新打开。
6. Unity设置
a) 参照Unity3D设置进行设置
b) 找到Game Tab,添加Aspect Label(1024 x 1024)。单个眼睛的宽高比为1 : 1
c) 根据您的DP设备,选择相应的平台,并Switch Platform。
一体机(P1/P1 Pro、P2/P2 Lite)请选择"Android"。
E3请选择"PC, Mac & Linux Standalone"。
7. 用DpnCameraRig(Assets/DPN/Prefabs/DpnCameraRig)替换Camera.
该步骤需要根据项目选择直接替换,或作为子对象使用。
该实例项目中,CCTVCamera存在许多其他功能组件,所以将DpnCameraRig作为子对象使用。
a) 找到CCTVCamera(Main Camera)
i. 修改Camera的位置
ii. 取消与Camera有关的项
b) 将DpnCameraRig作为CCTVCamera的子对象。
调试运行,按组合键(alt + 鼠标右键)转动场景,场景中心多了一个光标
8. 用光标位置替换鼠标点击位置或者触摸位置。
运行场景,点击鼠标左键,鼠标点击位置会出现一个目标标识,character会往该位置移动。
但是,VR应用在交互上不同于传统的桌面或者手机应用。
带上头盔后,只能看见VR场景中的物体,看不到鼠标或者触控板,操控不便。
触控板点击的位置也不能很好的与3D物体对应。
当前较为主流的交互方式的一般会选用头控光标位置。
a) 编辑Place Target With Mouse
修改update中的相关代码:把Input.mousePosition替换为 dpn.DpnPointerManager.Pointer.GetScreenPosition()
调试运行,点击鼠标左键,标识不再出现在鼠标点击位置,而是会出现在场景中心光标的位置。
9. UI交互
运行场景,会发现UI显示异常。
a) 用DpnEventSystem替换EventSystem。(Assets/DPN/Prefabs/DpnEventSystem)
根据需要,直接用DpnEventSystem替换EventSystem,或者用DpnStandaloneInputModule替换EventSystem下的StandaloneInputModule组件。
i. 找到默认EventSystem
ii. 用DpnStandaloneInputModule替换StandaloneInputModule
b) 修改"Click to set target"提示标语
i. 把"UI"移动到DpnCameraRig/TrackingSpace/CenterEyeAncher下,作为CenterEyeAncher的子对象。
ii. 修改UI 属性
(1) 把Canvas 的Render Mode改成 World Space。VR需要在3D空间内。
(2) 修改Rect Transform,将其显示在可见范围内
(3) 取消GraphicRaycaster,提示用UI不需要碰撞。
iii. 修改MenuUI
打开MenuUI(Assets/SampleScenes/Menu/Prefabs/MenuUI)
(1) 修改Rect Transform.
(2) 把Canvas的Render Mode改为 World Space.
10. 编译运行
P系列(P1/P1 Pro、P2/P2 Lite)一体机可以加入手柄
DPVR Setting中选择Flip
编译,运行。
至此,VR应用的移植就完成了。