VR开发从何入手的实战分享

2024-05-11上海AR开发专家
  • 自VR横空出世之后,一度受到外界热炒,从概念到技术再到生态布局,不仅成就了一场资本狂欢,业界也将2016年标榜为VR元年。但退去华丽的辞藻,归于本质,
    VR开发
    从何入手成为诸多入门级开发者面临的难题。
    针对内容稀缺、工具选型、3D动画、性能优化等VR开发难题,全球最大中文IT社区CSDN于6月25日下午举办“【
    VR技术
    开放日】VR开发从何入手”,邀请到小米互娱VR技术专家房燕良、焰火工坊CTO王明杨、资深VR开发工程师王秋林、奥秘游戏CTO冀盼以及火石镇CEO卞安到场,以代码见代码,分享最为纯正的技术实践,详解如何开发出一款能真正供用户把玩的精品质游戏或应用。
    首先,本次活动组织者CSDN唐小引分享了举办此次活动的初衷,以及CSDN一直以来为虚拟现实开发所做的种种努力,比如《程序员》杂志、VR知识库囊括的知识图谱等,从一定程度上解答了VR开发究竟该如何入手的问题。
    用虚幻4在Gear VR上运行一个搭积木的游戏
    随后,开发3代自研引擎的小米互娱VR技术专家房燕良先生,直接以code形式展示了自己使用虚拟4开发
    VR游戏
    过程以及分享其开发中的宝贵经验。房燕良表示虚幻4相比虚幻3更加易学易用,与Unity并列成为国际顶尖引擎,且是免费开源的。无论设计游戏或开发VR应用,掌握引擎基础知识尤为重要。用虚幻4在Gear VR运行搭积木游戏,其核心为设计一些box并放置地上,配戴Gear VR运用视觉感官,移动盒子。
    开发注意事项:
    选用C++模板。若选用蓝图,后续打包会出现问题;
    导入图片、表情等资源,工程属性以默认选项;
    虚幻引擎中,材质编辑器采用基于节点方式,运用迭代可做出很多功能;
    运用可视化方式打通内容开发流程。
    VR场景中晕动症主要可从两个方面解析,一方面以开发者的角度,游戏及应用开发过程中,帧速率要匹配即视觉画面与头盔运动要一致;另一方面从产品设计角度考虑,采用顺移方式减少不适应的时间。
    移动VR观影:如何用Unity开发一个虚拟影院
    购买VR设备最主要用途是什么?王明杨与其合作伙伴根据购买VR设备的用户调研结果显示:大多数用户购买VR设备用于观看视频。
    那么在VR中如何建立虚拟影院?王明杨总结了如下步骤:
    1. 设计一个虚拟影院模型,增强用户体验沉浸感;
    2. 学习Unity开发知识;
    3. 学习Android播放视频;
    Android中有一个Media Player,调用一个函数就可以播放视频。Android与传统的Windows并不相似,应用不是直接将工具显示到屏幕上,而是显示到Surface上,这个称之为FBO,可以把现在所有的程序显示的东西渲染到FBO上,然后再由这两个类把每一个程序的图像叠加起来。Android并不是直接往屏幕上面显示。
    如果在没有经过定制的Android系统上,天然的延迟很高。Android的Media Player可以把图像渲染到Surface的Surface Texture上,这是虚拟影院的技术核心。我们首先创建一个Media Player,然后把Media Player的内容指定一个Surface,渲染到Surface上,然后到Surface Texture,并且复制给Unity。
    4. 视频与模型相结合在Unity中渲染出来。
    Unity把所有的贴图包装成 Texture2D形式,其实是对标准格式的封装。标准格式下Unity把 Texture的生成和 Texture这样一个操作封的很死,但比较线性的是Unity 4.0以上增加了一个机制,该机制可以通过OpenGL生成一个外部贴图。这样在播放器中渲染出来的视频,我们可以轻松的将视频转成 Texture2D贴到模型表面上。
    VR环境下独特的人机交互设计
    从硬件设计到电路焊接到硬件调试到程序编写、算法设计、通信协议算法以及监听的耳机也是自己做的,资深VR开发工程师王秋林以其独特的见解解析VR环境下人机交互设计。所谓的人机交互即人向电子设备进行输入,电子设备向人返回数据信息。VR环境下人机交互方式主要有:单VR头盔;带有操作元件的VR头盔;VR头盔+通用外部输入设备,可以盲操作;VR头盔+包含传统输入方式的体感输入设备;VR头盔+动感座椅。造成虚拟世界眩晕的根本原因是人在虚拟环境中与现实中运动不同步。其中以足够慢的匀速运动、极快的短时运动、瞬时跳跃、参照物距离玩家足够远时的飞行运动、有相对静止参照物,可有效减轻眩晕,改善用户体验。
    VR环境中的UI设计注意事项:
    传统的在屏幕四周绘制2D UI的方法在VR环境下变得不再可用;
    凸透镜导致的画面的桶形畸变让画面边缘的内容被压缩而无法看清;
    VR环境下人眼基本只会注视屏幕中心的一小片区域,难以注意到屏幕边缘的内容;
    需要将UI要表现的数据以3D的形式呈现出来,甚至和武器、虚拟肢体结合起来,当玩家想要了解这些数据时会主动转动头部、举起武器/手臂来注视这些3D UI获取这些数据。
    基于
    HTC Vive
    的VR游戏开发入门
    到底选择哪个平台进行VR游戏开发,奥秘游戏CTO冀盼表示不用纠结。无论是HTC
    Vive
    、PS VR、
    Oculus
    还是Gear
    VR平台
    ,VR开发很多时候是相通的。通过HTC Vive开发VR游戏,硬件需配备头显及双手柄,PC以i5 970为最低配置,设置Room Scale模式,内容分发平台有Steam、Vive及奥秘,开发引擎可使用Unity 3D和Unreal。VR开发两个关键点:眩晕与沉浸。
    游戏开发过程中需重点关注:
    输入输出方式变化;
    近似无2D界面;
    数学和物理;
    音乐音效;
    场景的应用;
    联网和数据同步;
    SteamVR
    API等方面。
    使用Cocos开发一款简单的3D VR抓钱游戏
    使用Cocos也可以开发VR游戏?火石镇CEO卞安为开发者解开谜团。虚幻、Unity、Cocos三大引擎,卞安表示虚幻做出的画面更适合主机但其性能要求较高,Unity更适合中小团队,Cocos适合本身具有Cocos基础的团队。
    使用Cocos创建VR游戏流程:
    获取VR引擎框架(基于Cocos2d-x 3.10以后版本)。
    安装JDK,保证Android手机能运行。
    安装Python,运行Setup.py检测环境变量,进行相应配置。
    运行命令行,新建VR游戏项目。 Win32 : createNewProject.py –n ProjName–p ProjPath
    安装Oculus SDK,配置摸拟器,启动VR项目。
    使用VS2015或VS2013,打开Win32工程,编译运行即可。
    Android :build_native.py –V cardboard 编译Android的APK
    现场花絮
    新颖便捷的微信摇一摇签到入场
    丰富的茶歇
    专家们与诸多小伙伴进行了合影

关于AR

卓越的技术,一流的团队,为您打造专家级AR产品。
Test your infrastructure

什么是AR?

AR(Augmented Reality),即增强现实技术能将虚拟信息(图片,视频, 音频等)融入现实世界,让现实世界更加多元、丰富,为人们带来更加生动有 趣的感官体验。简单来说AR技术给人们带来的是一种信息的增强体验,它也 将成为一种“更新奇、更易传播”的新型信息传递方式。

AR的趋势

在信息技术化的时代趋势下,AR将以一种新型娱乐及信息交互方式融入人们 的生活,而对于企业来说,AR产品的广泛推广及运用也将是一项不可错失的 绝佳商机。

Test your infrastructure

AR运用的困惑

AR技术备受瞩目,然后实际运用上却让人望而止步。
成本上 往往单制作一个AR形式的内容就得花费上万元, 只有高预算的大企业或广告商才能出手
技术上 AR技术总给人一种触不可及的印象,导入AR技术 是否需要高度技术支持。
企划上 AR充满娱乐性,但是好玩之外,如何将AR良性结 合商务是难题。

选择迅速AR的八大优势

迅速AR始终以满足顾客为己任,成就AR领先品牌。

经典案例展示

我们是AR应用的领军者,专注AR技术研究与开发。

新闻动态 · 与日俱进

我们诚心邀您分享我们的成长历程。
更多动态 >

合作伙伴

整合全球产业链资源,服务超过7亿用户