大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧。
一、前言
最近做VR项目比较多,也学习了很多的东西,现在把开发的流程,已经用到的技术以及软件总结一下,分享出来供大家参考,本文内容比较基础,有什么不对的地方,希望大家能指正出来。
二、设备
先带大家认识一下VR设备吧,现在VR/AR设备非常的多,对于想要进行VR/AR开发的开发者真实眼花缭乱,今天就给大家简单总结一下VR/AR设备。
目前的VR/AR设备按照硬件形态可以分为三大类: 主机VR头显、手机VR眼镜和VR一体机 具体的参数介绍就参考我VR设备盘点这篇文章吧。
三、SteamVR
这个是电脑开发VR的基础,可以直接在Steam里面搜索SteamVR(库-工具),然后下载安装就行了 在这之前记得把VR设备都连接好,我用的是HTC Vive,就用HTC VIVE为例吧。
线都连接好,然后两个定位器定位到正确的位置 打开SteamVR,然后进行房间设置,设置完成后就可以愉快的开发了。
四、正式开始
下载SteamVR插件
在Unity商店中,搜索SteamVR,找那个免费的安装就行了
设置"[CameraRig]"的位置
[CameraRig]相当于VR在项目中摄像机的位置,也就是人能看到的位置
下载VRTK插件
链接:https://pan.baidu.com/s/1IdHcPknTZHRavg7YhvZWjA 提取码:kl2f 也可以直接在商店中搜索VRTK,但是商店里面这个版本没有用过,我还是用的老版本的
设置一下VRTK的参数
VRTK自带的一些DEMO也可以学习一下,很全面
现在就可以用手柄瞬移了
手柄事件
1.手柄按键
1 - 菜单键 2 - 圆盘左 3 - 圆盘上 4 - 圆盘右 5 - 圆盘下 6 - 系统键(按下后手柄断开连接,再次按下手柄再次连接上) 7 - 扳机键 8 - 握持键 9 - 触摸板键
2.圆盘触摸事件
4.触摸板轴的获取
通过以上两种方式获取的VRControllerState_t,获取触摸板的轴 x = state.rAxis0.x y = state.rAxis0.y
5.手柄按键事件
通过Device.GetPressDown / GetPressUp / GetPress获取按键事件 Press是按压事件 通过Device.GetTouchDown / GetTouchUp / GetTouch获取按键事件 Touch是触摸事件
6.手柄自带API
四、后言
本文章只是介绍了Unity3d开发VR程序的一般流程,当然也是最简单的流程,主要是讲的一些前期开发的准备,更像是一个开发入门的教程。最后的API介绍也是最初级的事件演示,到底在项目中想要达到什么样的效果,也是要靠大家自己的想象力去开发了。