分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
原文:HTC Vive Tutorial for Unity
作者: Eric Van de Kerckhove
译者:kmyhy
HTC Vive 是一个虚拟现实头盔,由 HTC 和 Valve 公司制造。它提供一种在虚拟世界中的浸入式体验,而不是屏幕头像。
如果你是一个 Unity 开发者,在虚拟现实游戏中使用 HTC Vive 非常简单——你可以认为 HTC Vive 和 Unity 是天生一对。
在这篇 HTC Vive 教程中,你会学习如何在 Unity 游戏中集成 HTC Vive。包括:
- 下载和配置 StreamVR
- 处理控制器输入
- 在 VR 中和物理对象交互
- 创建一支激光笔
- 瞬移
在本文最后,你将对未来体验有一个粗略的了解。让我们开始吧!
注:每个人在戴着头戴式显示器都会对运动和旋转产生不同的反应。如果你是第一此穿戴此类设备,当感觉不适时请放松并深呼吸。大部分人很快就会适应 VR。开头几次如果你不适应请不要着急——它很快就会过去。
开始
在正式开始学习之前,你必须拥有下列条件:
- 一台支持 VR 的 Windows PC。
- 在机器上安装有 Unity 5.5 或更高版本。
- 一套完整的 HTC Vive 硬件,并配置和升级好软件。
- 安装 Steam 和 SteamVR。请参考这份指南,它将指引你完成硬件安装,并提供 Steam 和 SteamVR 的下载链接。
- 熟悉基本的 Unity 使用:[Introduction to Unity: Getting Started](Introduction to Unity: Getting Started)。
- 熟悉基本的脚本:Introduction To Unity Scripting。
确认 HTC Vive 已经打开并连接!
下载开始项目。解压缩到任意目录并用 Unity 打开。在项目窗口中看一眼文件夹:
每个文件夹都和对应的资源一一对应:
- Materials: 场景所用到的材质,包括蓝色小球。
Models: 所有的模型。
Physics Materials: 弹性小球的物理材质。
Prefabs: 预制件。
Scenes: 游戏场景。
Scripts: 全部脚本。
Textures: 场景中所有对象共有的单一纹理。
看一看场景视图,按 play 按钮运行游戏:
这里不会有太多内容,因为场景中还没有加入 VR 控制。你需要将 SteamVR 添加到项目中,以便将 Vive 连接到 Unity。
设置 StreamVR
SteamVR SDK 是一个由 Valve 提供的官方库,以简化 Vive 开发。当前在 Asset 商店中是免费的,它同时支持 Oculus Rift 和 HTC Vive。
打开 Asset 商店,在顶部工具栏中选择 Window > Asset Store:
等商店页面加载完,在搜索栏中输入 StreamVR 并回车。上下滚动浏览搜索结果,点击 StreamVR Plugin,会打开它的商店页面:
点击 Download 按钮,然后静静等待。等下载完成,你看到导入包对话框。
点击右下角的 Import,导入包:
等导入完成,你会看到下列提示:
点击 I Made a Backup 按钮,让编辑器对脚本进行预编。几秒后会看到这个窗口:
这是 SteamVR 插件的界面。它会列出一些编辑器设置,这些设置能够提升性能和兼容性。
当你打开一个新项目并导入 SteamVR 时,你会在这里看到几个选项。因为开始项目已经优化过,这里我们只需要禁用解析度对话框(resolution dialog)即可。点击 Accept All 按钮,执行所有推荐的修改。关闭 Asset 商店回到场景视图。在项目窗口中,我们现在多了一个新文件夹 SteamVR:
打开这个文件夹,看一眼内容。我们会从 Prefabs 文件中添加一个 VR GameObjects 到场景中。
同时选中 [CameraRig] 和 [SteamVR] ,将它们拖到结构窗口:
[SteamVR] 负责几件事情。它在玩家打开系统菜单并将物理刷新率和绘图系统进行同步时让游戏自动暂停。它还负责处理“房间规模 VR 动作”的平滑。在检视器面板中查看属性:
[CameraRig] 更有趣,因为它控制着 Vive 头盔和控制器。选择 [CameraRig] ,在检视器面板中设置它的位置为 (X:0, Y:0, Z:-1.1),将摄像机放到桌子后面。
从结构视图中删除主摄像,因为这会干扰 [CameraRig] 和它的相机。
打开手柄,查看屏幕。拿起手柄,四处移动。你会看到在场景视图中看到虚拟手柄也会随之移动:
当 SteamVR 插件检测到手柄,它会创建出虚拟手柄。虚拟手柄被映射为 [CameraRig] 的子节点:
现在——继续在场景视图中——从结构视图中选择 Camera(eye),小心地拿起你的头盔显示器的顶部皮带,移动并微微旋转,同时观察场景视图:
摄像机和头盔显示器是连接在一起的,它会准确地捕获头盔的移动。
现在将头盔显示器戴到头上,拿起手柄,在房间里四处走动感受一下。
如果你想和物体进行交互,那么你会大失所望——什么也不会发生。要添加运动跟踪之外的功能,需要编写一点脚本。
处理输入
拿起一只手柄,仔细观察。每个控制器上有这些按钮:
Touchpad 既是可以做模拟摇杆也可以当做按钮。当移动或旋转手柄时,手柄会有速度和旋转速度感应,当和物体交互时这会非常有用。
让我们来编写一些代码!在 Scripts 文件夹中创建一个新的 C# 脚本,取名为 ViveControllerInputTest 然后用任意代码编辑器打开它。
删除 Start() 方法,在 Update() 方法之上添加下列代码:
// 1private SteamVR_TrackedObject trackedObj;// 2private SteamVR_Controller.Device Controller{ get { return SteamVR_Controller.Input((int)trackedObj.index); }}
- 1
- 2
- 3
- 4
- 5</