VR虚拟现实内容制作、VR App开发指南-零基础

Augmented Reality(AR) 在实景的物理世界上叠加上Data而不是代替物理世界,例如出境旅游泰国,餐厅泰语菜单上叠加英文菜单Data(自动翻译)或者故宫看见皮卡丘;Virtual Reality(VR)则是把你带到异国他乡、甚至火星月亮;ARVR之上就是MR混合现实(Mixed Reality)你同时与物理世界、数字世界互动;WebXR基于浏览器形式实现跨平台部署,便利分享一个URL链接而非3D视频大文件的下载上传。

AR/VR内容制作,ARVR APP开发与此前大家熟悉2D平面内容制作不同:input载体不是键盘和触屏,而是手势、目光视线、语音命令。最大问题,VR模拟/动作眩晕:反馈延迟,非自然运动,物理环境与虚拟移动提示不合拍。

( 本文原创登记、区块链存证!转载请注明:IoT产品王|AR、VR、MR升级XR的视频课程 )

ARVR终端:HMD头显、智能手机、智能眼镜、特质面具、微软HoloLens (Mixed Reality)

起点从哪里开始,高端还是低端开始?高端Desktop Headsets可以实现很多功能,但是VR终端可以让我们很简单开始,再摸索过渡到中高级的终端。

1.1 VR开发准备-硬件PC: VR Platforms (HTC Vive and Oculus Rift)

Processor: Intel Core i5-4590 or AMD FX 8350

Graphics: NVIDIA GeForce GTX 1060 or AMD Radeon RX 480

Memory: 8 GB RAM

OS: Windows 10

1.2 VR开发准备-硬件VR头显

每个VR终端对应不同SDKs、编程语言和不同限制,但是仍有共同性:要求尽可能兼容Motion Controllers来与虚拟世界交互。DOF=3的终端使用智能手机作为HMD头显(Head-Mounted-Displays)DOF=6的终端使用桌面型头显(Desktop Headsets)degree of freedom (DOF)=an object can move:three and six DOF DOF=3:虚拟世界交互3个维度(X, Y, Z) HMD头部移动:上下、左右,但是不能前后;DOF=6,虚拟世界交互6个维度:上下、左右+前后移动;

DOF=3选项:Google Cardboard、Google Daydream、Samsung Gear VR

DOF=6选项:HTC Vive、Oculus Rifts、Oculus Quest

2.1 VR开发准备-3D素材库

ARVR开发,首先你需要3D Models素材,原创还是使用别人提供的?原创很困难,但长远来说受益匪浅;如果你选择走原创的路,你需要下面的技能:传统工具:Blender、Autodesk Maya、Autodesk 3dsMax,新型的3D画笔:微软出品Remix/Paint3D、谷歌出品TiltBrush/Poly/Block、Facebook出品Medium/Quill。

百万级3D Models素材库:Sketchfab、Unity Assets Store、Free3D、CGTrader、SketchUp Extentions提供百万级免费的、收费的、商用的、4A广告级别的3D素材可选。按类别,按价格区间,按像素,按文件格式。虽说现成的,你还是需要为满足客户定制化需求,编辑修改成3D Models,你最好两种能力都具备。

3D扫描也是高效建模强大工具。扫描3分钟,自动生成CAD文件导出至SketchUp、Revit支持直接开始设计工作。3D激光扫描仪价格正在走低1000-4000元级别,帮助你迅速切入工作,3D扫描仪可选项如下:DAVID SLS2、Da Vinci 1.0 AiO、Structure Sense

2.2 VR开发准备-360全景视频素材

360全景视频、360全景相机提供VR沉浸体验:360摄像机(理光Theta、三星Gear 360仅兼容三星手机) 生成你自己的内容、或者搜索托管在免费存放视频文件的站点Flickr。音频文件,免费音效站点FreeSound以及编辑工具Audacity、Adobe Audition。

自拍360全景视频是最廉价的方式获得内容,你只需要负担摄像机和编辑成本,适合音乐演出、诺贝尔奖、央视春晚、婚礼现场。360全景相机(Gear360、GoPro、理光Theta、Insta OneX)4K/5K/8K超清,价格700-2400-3500元。

360全景视频编辑工具:VideoStitch、PE

3.1 VR开发准备-编程语言

1、3D Game Engine程序语言,调查显示C#、C/C++ 是AR/VR开发人气编程语言。这不是巧合,而是Unity(C#是其基础编程语言,也是开发其他游戏必备低风险多选项)Unreal Engine(C++、节点语言经典Visual Scripting)好消息是所有VR终端都有支持Unity、UE的SDKs,掌握其中一种就可以开发ARVR支持多种终端部署;坏消息是两者学习难度较大,Unity较容易掌握、自带3D资源库;但是UE学习难度大、但可以提供更好的图片处理和更强大功能。

2、Unity提供许多版本对应不同价位:免费版收费版;UE可免费使用,但是对每个商用产品每季度超过3000美元收入以上部分的营收征收5%抽成。建议:有条件,两个都试一试,看看哪一个工具更契合。

3.2 从Web开发到VR终端

如果你有开发背景(JavaScript)首选起点从WebVR开源支持JavaScript API轻松实现浏览器VR体验,其次才是VR SDK, Unity, UE

1、支持多种VR终端而无需安装兼容浏览器的插件的最新资源,WebVR Rocks查看支持的最新浏览器、访问Mozilla VR站点寻找更多资源。

3.3 VR SDK, Unity, UE:必须提到两个框架

[A-frame]Mozilla VR团队提供的用于WebVR内容开发的强大工具,HTML实现VR和Entity-Component-System接入。

[React VR]Facebook基于React和React Native工具,建设VR站点、360交互使用同样的declarative component approach than React。

以上两者都基于Three.js(最强大的Javascript Library,浏览器中处理3D Graphics)Unity可选脚本语言类JavaScript是UnityScript,但它不同于JavaScript你习惯开发Web, 推荐学习C# for Unity。

4.1 总结:如何切入ARVR APP开发?

AR、VR都需要使用Unity/Unreal Engine(某些插件助力) 开发内容。简单AR APP需要识别Object并配置3D Model以便你操控就像真的一样,这与VR开发完全一样。

1、根据终端选择开发平台 (Mobile, Desktop, Web)选择引擎Engine/SDK/Framework

2、学习专门术语、3D Modeling、编程语言Engine/SDK/Framework、UI/UX for AR/VR

3、虽然目前AR/VR APPs大部分是游戏,但你可以从AR教材、VR课件、IoT数据可视化、ARVR广告营销、360全景视频着手ARVR APP开发对的落地实践。

编程新手老手,AR/VR开发者主要技能在3D领域。早期VR开发者来自游戏产业,因其熟悉3D工具Unity/Unrealengine。3D游戏开发类似,ARVR是创建沉浸式3D交互体验。VR开发要求C#,随着WebXR/UnityScript发展,Javascript成为VR开发补充。

Related Articles

Responses

Your email address will not be published. Required fields are marked *

Skip to toolbar