unity vr 关键技术,vr技术学什么
一、VR与unity的千丝万缕
什么是VR?
VR是Virtual Reality的缩写,中文的意思就是虚拟现实,概念是是由美国VPL公司创始人拉尼尔在20世纪80年代初提出的,具体内涵是:综合利用计算机图形系统和各种显示及控制等接口设备,在计算机上生成的、可交互的三维环境中提供沉浸感觉的技术。
什么是Unity3D?
Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine, Virtools或 Torque Game Builder等利用交互的图型化开发环境为首要方式的软件。其大的编特点就是“夸平台运行”,一处开发多处运行,其辑器运行在Windows和Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windows phone 8和Android平台。也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac widgets所支持。
通过什么是Unity3D?什么是VR?这两个名词的解释,不难发现,VR虚拟现实是通过Unity3D开发引擎,结合其他语言基础做出来的效果,也就是说,学会Unity3D开发引擎,可以从事VR虚拟现实的相关工作。简单来说Unity3D开发引擎是工具,VR虚拟现实是结果。
直到2015年上半年,VR还是一个相对小众圈子里自嗨的产物,然而从下半年开始,随着Oculus、Sony、HTC等几大VR硬件巨头陆续宣布2016年消费级产品的计划,国内厂商们也终于按捺不住,腾讯、百度、乐视、小米、暴风影音一众纷纷曝光了自己“蓄谋已久”的VR产业布局,一时间,VR大热。各家实力网络公司都在探索VR的应用,借此发展的契机VR技术与Unity开发引擎都得到了极大的发展,且潜力无限。有人说VR火了,硬件厂商应该获利极丰,然而现实确是Unity软件大卖插件商店人流量激增。
二、vr和unity3d是什么关系
应该是Unity3D和3Ds Max吧…… Unity3D是Unity Tecnologies开发的一款游戏引擎,而3Dstudio Max(一般称为3DsMax)则是Autodesk开发的三维建模软件。 Unity3D是一款三维游戏引擎,也就是说它是一个可以让你制作三维游戏的程序。 3Dstudio MAX则是用来制作三维模型的,多用于渲染、设计等方面。 3D游戏中往往需要三维模型(我还真没见过没有模型的3D游戏),而Unity3D不能自己创建模型,所以使用unity3D制作游戏时需要外来的模型素材。而这些3D的模型素材往往就是通过3DsMax或Maya这些三维建模软件制作的。简单地来说,3DsMax是用来制作模型的(不过它也支持一些脚本),unity3D则是使用3DsMax的模型来制作三维游戏的。所以假如你需要用unity3D来制作三维游戏的话,你就很有可能需要一些3D模型:要么从别人那里拿,要么就得自己学会使用3DsMax或别的软件来制作三维模型。
三、vr技术学什么
如果是说 VR专业领域,涉及理论、设备、SDK研究与开发,这里方向很多,需要有深度的专业知识储备,基本上要做一个10年计划,从拿一两个相关专业的学位开始。我觉得这个方向不符合你的目标。
如果是面向 VR应用开发,VR并不能成为一个独立的技术领域,实际上只是 3D应用开发的一个简单扩展,关键还是要学习 3D应用开发的相关技术。
感谢 Unity,现在做 3D应用开发的门槛已经非常低了。如果你有良好的逻辑思维能力和毅力,可以做一个3年计划,从头学起:
学习 C#语言。如果你没有编程基础,可以挑一本C#入门书先学起来,花一两个月,不用非常深入,做到能读能写简单的代码即可。当然,如果这个学习过程让你很兴奋很沉迷,那么恭喜你,这条路很适合你,你可以直接深入下去;
学习 Unity引擎。一个 3D引擎包含的知识面很广,不要泛泛地去学,找一本带项目实例的入门书,从简单的范例项目,一边敲代码一边学起,大概再花上两三个月。如果在学习 C#的时候觉得单调,学习 Unity的过程也很乏味,那应该严重认真考虑是不是要继续下去;
学习了 C#和 Unity的入门,方向坚定不移,可以再花半年的时间做/学习几个小项目,适当强化知识的深度和广度。然后题主应该有一定的积累来思考下一步的方向,建议以兴趣/性格导向为优先。如果喜欢做产品的快乐,那么掌握 3D应用开发的各个环节,对设计、资产、技术、测试、运营、项目管理等各方面都具备一定的把控能力会非常有帮助;如果面向技术,那么需要回头补功课,算法、数据结构、3D图形学等列个单子慢慢学起来,必须夯实基础才能深入。两个方向都不容易,要成为大牛10年的积累是必须的。但坚持3年,相信在一般的团队中已经可以贡献自己的力量了。
入门之后会发现,需要了解甚至深入学习的东西非常多,而且是越来越多。现在罗列给你没有意义。保持对多领域的关注,一步步走下去,经常审视自己的方向,结合兴趣和实际情况做选择,尽量少走弯路。
四、怎么运用Unity制作VR全景漫游
前言
本文介绍了两种方法来制作VR场景:
方法一:通过6张小图搭建的VR场景
方法二:通过一张全景图来搭建VR场景
后搭建场景的方法是相同的,可以小图或者全景来充当场景。
软件环境
Unity5.3.1 X64:
PTGui[可选]:把全景图转成6个立方小图
Google VR SDK For Unity:
全景图片一张:自行拍摄或者google查找
切立方体图
1、运行PTGui,选择 Tools– Convert to QTVR/Cu**c
2、点击 Add Files,添加全景文件
3、选择 cube faces,6 separate files(立方体表面,6个单独文件),可以选择 Cube Face Names,设置每个文件的后缀
4、点击 Convert,输出文件和你的全景图片在同一个目录
切图结果
6张立方体图设置
1、导入 GoogleVRForUnity.unitypackage(如果已有,可忽略)
2、导入切好的6张小图,选中这6张图,统一设置图片的属性如下:
3、创建一个mat,命名为scene_cubes
4、修改scene_cubes的shader为 skybox/6 sided
5、把6张小图根据名字放入相应的区域
6、现在你的资源看起来应该如下
全景图设置
1、导入 GoogleVRForUnity.unitypackage(如果已有,可忽略)
2、导入全景图(未切割的大图),设置属性如下:
3、创建一个mat,命名为scene
4、修改scene的shader为 skybox/cubemap,并把步骤2的全景图,拖动到CubeMap中
4、现在你的资源看起来如下
搭建场景
1、拖动gvr sdk自带的GvrMain.prefab到场景中,当然也可以自已创建,注意:结构要和GvrMain一样,组件也要绑定。
2、修改Main Camera的 Clear Flags为SkyBox,而不是原来的 Solid Color,修改后左右相机也会保持一致。
3、选中左右镜头,给他们添加 SkyBox,并把 scene_cubes.mat或 scene.mat赋值 [可省略]
4、点击 Window– Lighting打开Lighting窗口,在Scene中设置SkyBox为 scene_cubes.mat或 scene.mat
运行结果
按住Alt键,移动鼠标模拟头部运动
希望可以帮助到你想要了解更多关于unity可以到纳金论坛去查看。