1.1 vr虚拟现实理论知识
虚拟现实简称vr,是通过计算机图形学来模拟出的一种三维空间,具有一定的3d成像原理,vr具有三种特性,3d的、沉浸式的、交互性的,可以使人通过听觉、触觉、嗅觉、来达到一种肢体上的交互。
目前市面上vr设备有很多种类,体验性比较好的目前还是以pc端为主,移动端和一体机大多数效果来说体验感还是较差一些,但不代表所有的移动端和一体机效果都很差,例如三星移动端gearvr效果就要比其他设备体验感要强,不会产生过度的头晕效果,但是必须要使用三星专用手机才可以使用gearvr,另外在一体机领域里,pico性能较为突出,画质可以达到3k左右,画面感较强,处理器和兼容性也较为完善。
pc端vr设备目前htcvive体验效果较为突出,国内排行一直在第一位,开发者和体验者也比较多,对于电脑配置来说也是很奢侈的,具体配置可以参考vive官方地址。
1.1.1安装配置steamvr
在安装配置之前首先要检查你的电脑配置是否可以达到性能要求,目前一代设备产品最低配置需要cpu达到intel® core™ i5-4590/amd fx™ 8350 同等或更高配置、运行内存4g以上,建议8g内存或者16g,操作系统:windows® 7 sp1、windows® 8.1 或更高版本、windows® 10、显卡建议最低不要低于nvidia® geforce® gtx 970、amd radeon™ r9 290 同等或更高配置。
接下来我们检查htcvive配件是否齐全,配件如下:vive头戴式设备、三合一连接线、音频线、usb短数据线、串流盒、电源线、hdmi连接线、usb数据线、vive操控手柄、电源适配器、micro-usb数据线、激光定位器、电源适配器、安装支架,具体安装参考htcvive官方说明手册,这里不再做提示。
上述步骤检查完成以后,将设备连接到电脑上面,然后在运行htcvive之前需要下载steam平台应用,下载网站:https://store.steampowered.com/ 选择安装steam,在安装之前建议大家最好注册一个steam账号,具体步骤官方有提示,安装成功以后点击桌面上的“steam”图标按照官方说明书提示安装即可。
1.2 unity steamvr插件介绍
unity steamvr目前是开发htcvive比较完善的一款插件,而且steamvr包含了三个示例场景用于我们进行参考或者是学习,场景如下,球类小游戏、手臂关节演示、相机跟踪测试等,而且在开发过程中可以通过脚本或者是其他方式来配置vr摄像机,steamvr还给我们预留了很多以后即将开发或者是升级的一些设备,并且在插件当中给我们提供一些开发好的功能,减少了很多垃圾代码的产生,对新手来说steamvr是开发htcvive最好的引路者,目前市面上大部分的htcvive游戏多数都是使用steamvr进行开发,插件完全免费,可以直接在官网下载,目前steamvr版本更新有三个,对于入门者,本教材直接提供vr18063001_steamvr+plugin_v1.2.3插件资源包,尽量做到教材同步,方便大家来统一学习。
steamvr默认给我们提供了一些核心脚本,这些脚本默认都做了一些脚本关联,steamvr优点适合零基础开发人员,即使对于程序逻辑思维较差的同学也能开发出相应的作品,如果你程序基础较好,可以在进行扩展新的功能。如图所示
1.3 steamvr场景演示
example场景演示:steamvr默认会有一个ui渲染场景,就是example场景,在这个场景当中我们可以看到一些box盒子对象,这些对象显示了很多ui,所以这个场景主要是负责渲染ui用的,可以看到hierarchy面板当中[steamvr]对象上挂在了一个steamvr_render脚本,这个脚本起到了负责渲染这个场景ui的主界面,另外在hierarchy面板当中的tracked devices子层级下面预留了15个设备,这15个设备是可穿戴扩展设备,并且你可以在hierarchy面板找到main camera (origin)子层级下面找到,main camera (head)对象上挂了一个steamvr_trackedobject脚本,使场景中的物体和控制器的pose保持一致,在这个脚本上面index选项下也可以看到这15个预留设备,并且默认是hmd这是一个枚举类型。如图所示
steamvr_testik场景演示:在这个场景当中我们可以看到场景里面有两个用box搭建的两只手,场景hierarchy面板[camerarig]找到controller(left),controller (right)这两个对象的子层级下面可以看到hand游戏对象,在这个对象上面主要挂载了steamvr_ik,脚本,这个脚本是这两只手臂的核心,负责手柄ik的控制,模拟手臂的主要功能,主要模拟两只手一个头,分左手和右手。如图所示
steamvr_testthrow场景演示:这个场景主要演示球类游戏,在播放场景的时候按住手柄的扳机键会多出一个球,你可以把球扔出去,我们以后可以借助这个场景的基础上,可以开发各类的球类游戏、比如篮球、排球、保龄球等等,这个球可以根据手柄的状态来运行,还有手柄的速度,在hierarchy面板[camerarig]子层级controller (left),controller (right)游戏对象上,挂载了steamvr_testthrow脚本,主要负责投掷物体扔球,这个场景测试的脚本要跟steamvr_trackedobject一起使用,实际他会加到你的手柄上面,后期我们会详细分析这个脚本。如图所示
1.4htcvive操控手柄说明
在正式开发htcvive之前我们来简单说说手柄在游戏当中起到的作用,htcvive之所以强大的原因就在于手柄的交互,可以起到一种多感知性,手柄内部设置有震动,包括触控板,在体验的时候加强了互动性,手柄具有被激光定位器所追中,所以在虚拟现实世界当中达到了人机交互,沉浸感和代入感随之也就加强了。
默认我们手柄有一个指示灯,状态指示灯显示为白色的时候,表示手柄已经充满电,当在体验的时候显示绿色,表示状态已经连接,当正在配对的时候指示灯为蓝色闪烁,红色灯表示电池电量低,橙色表示正在充电,而且手柄也加了很多人性化的设置,比如挂绳避免在体验的时候甩出手柄。如图所示
IO的底层原理介绍
基于DSP芯片TMS320F240实现大型换热设备污脏的在线监测系统的设计
2022年的魔力象限领导者,为什么是华为数通?
高性能频率合成器
新能源汽车如何开启“下半场”?
VIVE硬件环境搭建和软件基础配置
光伏发电靠谱吗?收益怎么样?
破解五大难题?自动驾驶市场化才能开启
工信部下架侵害用户隐私安全的APP
莱迪思推出了最新版本的Lattice Radiant 2.0设计软件
2月产量爆跌92%,北汽新能源称“系主动调整产品结构”
使用基于其Arria 10 SoC的存储参考设计,NAND闪存的使用寿命将加倍
无线网卡的选择、设置和使用方法介绍
Diodes推出适合各低耗电应用的AC-DC非隔离式降压电源切换器
如何减少振荡器的电磁干扰
2020年度移动机器人行业的十大新闻
电路板 PCBA打样包括哪些主要步骤?
4g流量5g能用吗
Google在人工智能研究方面取得了重大成就
电气电机原理动态图大全