APP下载

VR内容开发现状以及基于Unity2021.3 + HTC Vive Pro2的VR开发环境配置

2022-12-21

信息记录材料 2022年10期
关键词:编辑器插件虚拟现实

方 科

(成都师范学院 四川 成都 610000)

0 引言

随着元宇宙时代的到来,在5G的宽带提速和延迟降低的优势下,VR的沉浸式体验以及交互式体验得到了更加深入的扩展,在越来越多国家政策的支持下,VR产业不仅仅局限于传统游戏领域,更涉及到娱乐、工业、建筑、培训和教育等各种行业,获得了井喷式的发展[1]。VR产业大致可以包含硬件、平台及内容制作三大方面。参考智能手机的发展历程,短期内VR产品硬件研发确实会提升销量,但长期来看内容生态繁荣才是制胜关键。国内各 VR厂商逐渐认识到内容生态建设重要性,开始重点发力各自应用商店内的应用生态内容建设,提升内容数量以及内容质量[1]。

1 VR内容开发概述

1.1 VR内容开发现状

VR是一种独特的媒介。它可以以一种不同于任何其他互动体验的方式让用户沉浸其中,它也是一个快速发展的领域,具有巨大的潜力。VR强调的是感官的欺骗,它通过对我们感官的占有和欺骗,让我们的大脑相信我们到了另外一个地方,VR凭借这种场景还原的能力,在所有与现场相关的场合,都可以发挥它的作用,在5G、云渲染、云技术等所有与信息技术相关的技术支持下,虚拟现实技术的世界可以更加具体,更像我们所认知的世界,可以让虚拟世界的我们变得更加的完整和有人性,更加像真实世界的我们[2]。

当前,VR内容种类相对单一,以游戏为主。市场研究公司Omdia最新报告显示,2022年,全球VR内容市场收入预计达到31亿美元,VR游戏营收占比大约为89%。Omdia表示,短期内游戏仍然是消费者使用VR的主要应用场景,随着元宇宙不断发展,视频和交互式内容将逐渐兴起[3]。

从2016年开始,提及虚拟现实的国家政策文件不断出台,带动了虚拟现实在游戏、娱乐、工业、建筑、培训和教育等行业的快速增长,对内容制作的需求也随之高涨。根据Hired的2021年软件工程师状况报告,VR/AR工程师也是收入最高的开发人员之一。

1.2 VR是如何融入XR的

在内容制作开发中,很多编辑器中都只能看到关于XR的各种描述。

实际上XR是一个术语,旨在涵盖将现实世界与数字世界融合的所有技术,它包括VR(虚拟现实)、AR(增强现实)和MR(混合现实)。XR中的X分别代表VR、AR、MR中的V、A和M,还可以代表尚未发明的首字母缩略词。

VR创造了一个完全替代现实世界环境的数字环境,让用户沉浸在数字世界中,VR需要头戴式显示器(HMD),它允许用户通过两个镜头直接看屏幕。

AR将数字创建的内容叠加到用户的真实世界环境中。与VR不同,AR的用户仍然可以看到他们周围的真实世界。

MR是三者中最广泛的术语,因为它可以包括AR和VR的元素。一端是真实的物理环境,另一端是完全虚拟的环境,VR更接近虚拟端,AR更接近现实端,而MR将包括之间的大部分。有些应用明显是VR,有些明显是AR,如果它不完全符合这两个定义之一,通常就称之为MR。

比如下文将提到的XR Interaction Toolkit(XR交互工具包)就是包括了VR、AR、MR的基本插件包。

2 Unity + HTC Vive Pro2开发环境配置

2.1 Unity概述

Unity是一个3D、2D、VR和AR实时开发引擎平台和编辑器,可以协作创建沉浸式和交互式体验的内容。它可以提供工具来创建和运营精彩的游戏和其他实时交互体验,并将它们发布到各种设备。它支持一次构建内容,然后在所有主要的AR、VR、移动、桌面和控制台平台上进行部署。

它也是一款国际领先的跨平台的专业游戏引擎,Unity平台提供了一套完善的游戏软件设计到开发的完整解决方案,可用于设计、创作、运营任何一款2D或3D游戏,而且还跨平台支持各种平台,包括iOS、Android、Windows、Mac等各类硬件平台,充分体现了Unity强大功能,在使用过程中,它的跨平台游戏开发的特性为开发者解决了大量移植过程中的不必要的麻烦,并且相较于其他游戏的开发平台,Unity3D的基于脚本的监听机制使得开发者仅仅需要编写相应的游戏脚本即可,由游戏脚本响应Unity系统平台上的各个模块的组件,以此实现相应的功能。作为一款商业游戏引擎,Unity可支持更高级别的引擎功能,在游戏制作后期可以移植和打包,大大方便了开发者进行使用[4]。

Unity不仅仅是一个领先的实时开发平台,它还是一个强大的解决方案生态系统,我们可以使用其自带的版本控制系统Plastic SCM控制版本迭代,还可以通过Backtrace处理跨平台崩溃和异常管理自动响应错误等。

Unity编辑器还可以从世界构建、动画和过场动画到渲染等与Maya或Blender等工具无缝协作,可以在同一环境中快速迭代。并通过可自定义的编辑器支持快速原型制作和可扩展的资源,将高性能C#代码部署到20多个平台。

在Unity发布的游戏行业报告中,2021年每月使用Unity构建的应用程序的下载量达到了50亿,前1000款手机游戏中使用Unity制作的占72%,有50%以上的移动设备、PC和电视游戏是使用Unity制作的,每月使用Unity解决方案创建或者运营的活跃用户达到了39亿,有20多个平台在运行Unity的制作,190多个国家和地区有Unity的制作者。

2022年8月9日,Unity宣布已与合作伙伴达成协议并成立了合资企业——Unity中国,Unity中国投资后的估值为10亿美元,抖音集团、佳都科技、中国移动和阿里巴巴等将参与投资Unity中国。

2.2 HTC Vive Pro2概述

HTC Vive在计算机端开发,因此它与计算机的交互反映在输入设备和输出设备上。HTC Vive是如今市场上较先进,使用较广泛的VR设备,具有很多其他VR设备无法媲美的地方,比如高分辨率、定位追踪、强大的SteamVR平台等,大大方便了HTC Vive的使用[5]。

HTC Vive Pro2是HTC公司的专业VR头显(见图1)。对比以前的产品,头显增加了一个前置的摄像头,它不仅支持瞳距的调节,还支持镜头距离的调节,并搭载了一套支持拆卸与调整位置的HI-RES认证耳机,可调节的IPD,同时还支持5 K分辨率、120度视场角、120 Hz刷新率。

图1 HTC Vive Pro2专业版套装

专业版套装还包含了两个支持SteamVR追踪2.0的手柄,以及两个SteamVR定位器。

2.3 开发环境配置

Unity编辑器长期支持版本(LTS)已经迭代到2021.3.8f1c1,SteamVR Plugin插件版本已经迭代到2.7.3(sdk1.14.15),在过去的内容制作中,虽然很困难且效率低下,我们还可以使用VRTK模拟器进行编辑,但在SteamVR Plugin插件更新到2.0之后,已经不支持2020之前版本的Unity编辑器,为了使用最新版的Unity编辑器功能,如UI Toolkit(开发用户界面和编辑器扩展的功能和工具的集合)、新的Terrain Tools、新的URP、特别是图形可视化脚本Unity Visual Scripting,我们需要重新配置开发环境。

Unity官方教程中对Oculus Quest系列头显的配置十分详细,其他与SteamVR兼容的头显的说明很简略并且配置中容易出现各种问题,网络上的教程和文档在配置中也容易出现各种错误,这里将详细说明最新版本Unity编辑器与HTC Vive Pro2的连接及开发环境配置,见图2。

图2 开发环境配置流程图

2.3.1 HTC Vive Pro2连接

首先需要把Vive Cosmos串流盒连接电脑与头显,串流盒有一个头显端口连接头显数据线,一个DP端口连接电脑显卡,一个USB 3.0端口连接电脑USB口。接下来在对角线放置两个定位器,定位器对应区域就是VR活动区域。手柄确保有电即可。

2.3.2 Unity下载及插件配置

进入Unity中文官网Unity.cn,下载Unity Hub。Unity Hub可以使用微信登录,在设置中将它的语言改为中文。

选择安装->安装编辑器,选择最新LTS长期支持版本即2021.3.8f1c1点击安装,这个版本的Unity是稳定的,将得到两年的全面支持,非常适合开发。

编辑器安装完毕后,在项目->新项目中创建3D(URP)项目,下载模板并打开项目,为了在以后编程中使用代码控制各种组件,编辑器推荐使用英文版。

打开编辑器Windows->Package Manager包管理器,在左上角下拉菜单中选择Packages:Unity Registry编辑器内置包注册,分别选择OpenXR Plugin(OpenXR 插件)、XR Interaction Toolkit(XR交互工具)、XR Plugin Management(XR插件管理工具),点击安装。

由于新版的编辑器已经不能在Package Manager中搜索安装官方商城中的插件,所以我们需要先登录官方商城assetstore.unity.com,搜索SteamVR Plugin(SteamVR插件),选择添加到我的资源。然后打开编辑器Windows->Package Manager,在左上角下拉菜单中选择Packages:My Assets我的资源,点击SteamVR Plugin下载安装,通过插件我们可以与Steam平台进行连接,插件中也自带了部分开发预制模板。

接下来打开Windows->SteamVR Input输入设置,在弹窗中选择确认导入插件内置的动作,在最下方点击Save and generate保存Action Set,在Console控制台中会提示保存成功。

2.3.3 下载Steam并链接设备

在Steam官网上按照说明下载安装Steam客户端并登录,在商店中搜索SteamVR下载运行。

根据提示调整头显及定位器位置,确保它已经被SteamVR链接并识别,见图3。

图3 SteamVR链接成功示意图

对链接上有提示的设备进行固件升级。

戴上头显,现在应该能看见SteamVR Home场景,并可以在场景中活动和操作手柄。

2.3.4 Unity配置并测试

打开Unity项目,点击Edit->Project Settings项目设置,选择XR-Plug-in Management(XR插件管理),在Plug-in Providers中勾选OpenVR Loader(勾选后头显才能看见编辑器运行时的Game视图)和OpenXR。

继续选择XR-Plug-in Management子栏目中的OpenXR,在右边Windows、mac、Linux setting标签页的Interaction Profile交互配置文件中点击“+”,添加HTC Vive Controller Profile 配置文件。然后把下面的OpenXR Feature Groups功能组全部勾上。

接下来我们进行测试,在Unity编辑器的Hierarchy面板Create->3D Object->Plane,新建一个地面,在Project面板Assets资源目录下找到SteamVR->Prefabs->CameraRig.prefab摄像机操作预制件,把它拖到Hierarchy面板中。

删除Unity编辑器Hierarchy面板中自带的Camera摄像机。

点击Unity编辑器上方的运行,戴上头显可以看到场景中的内容,说明HTC Vive Pro2 开发环境配置成功,详见图4。

图4 配置成功后头显看到的画面

3 结论

本文概述VR内容开发的现状、VR是如何融入XR的,以及虚拟现实产业在国家政策的支持下蓬勃发展的情况,VR内容开发将成为一个实用的技能,通过Unity+HTC Vive Pro2开发环境的正确配置,我们可以进一步进行VR内容制作,同时可以使用头显、手柄等测试开发内容,为VR内容开发打了坚实的基础。

猜你喜欢

编辑器插件虚拟现实
自编插件完善App Inventor与乐高机器人通信
你距离微信创作达人还有多远?
车辆段收发车运行图编辑器的设计与实现
风口上的虚拟现实
虚拟现实技术向科幻小说借灵感
MapWindowGIS插件机制及应用
HTC斥资千万美元入股虚拟现实设备商WEVR
基于Revit MEP的插件制作探讨
基于VLIW目标机的ELF二进制编辑器设计与实现
浅谈虚拟现实