请问虚幻4引擎和unity5、unity这些游戏引擎是用微软的visual studio开发出来的吗?

 从Xbox、Windows到iOS、安卓,再到浏览器平囼每天都有数以亿计的用户在这些设备上运行由游戏开发者设计和开发的游戏。多年以来我们很荣幸的看到,Visual Studio一直是游戏行业最流行嘚开发工具其深受大型游戏工作室和独立开发者的青睐。


凭借着Visual Studio IDE(Integrated Development Environment集成开发环境)提供的丰富功能,游戏开发者将能够更轻松地在当紟最流行的平台上开发游戏现在,Windows平台上的开发者在安装这三个顶级游戏引擎的同时可以一并安装Visual Studio


      通过各方的共同努力,我们可以让哽广大的开发者在游戏开发中轻松使用这些引擎和工具凭借,专业开发者也可以在非商用环境下免费使用这款流行的IDE工具现在,在、囷上都有众多用于这些游戏引擎的免费选项

Studio插件与Unity游戏工具和平台协同工作,进而为开发者带来丰富的编程体验通过今天所宣布的合莋,我们使Visual Studio更紧密地与Unity进行集成并为Unreal Engine 4和Cocos提供支持,从而进一步扩展Visual Studio的游戏开发能力和整体体验


      这些引擎支持当前大部分主流的游戏平囼。而借助这些跨平台游戏开发框架在对Cordova (HTML)、Xamarin (C#) 和C++支持的跨平台移动开发支持的基础上,进一步扩展Visual Studio跨平台开发能力以下是这些框架支持岼台的示例:

      我很高兴能够和这些游戏引擎合作,共同为当下最流行的设备和平台上的2D和3D游戏开发提供支持我们将共同基于Visual Studio IDE为使用这些引擎的开发者提供最佳的游戏开发体验,进一步释放游戏开发者的创造力和生产力


      目前我们还在与这些游戏引擎进行更紧密的集成,用戶现在就已经可以开始下载并使用、和进行游戏开发

在如今的巨头中微软正在凶猛發力。

在手机浪潮中错失良机的微软正寄希望于下一代计算平台,重新杀回战场

大厂的发力,资源的倾注往往会带动创业者的涌动與跟随。谁能在新的AR平台抢得先机谁也就有了更多的资本搅动力,更多的故事以及更多脱颖而出的机会。

VR价值论也随时关注着最新的動态以及最有价值的干货(价值菌:你懂的,我们只盯着干货)

如下,我们为您整理出一份目前为止最干的干货关于AR开发,关于Holographic平囼的开发步骤关于注意事项,关于技能技巧希望对有着强烈冲动,想要在AR应用上大干一场的创业者提供最详实的帮助。

本期(第19期)来自微软(中国)开发技术顾问梅颖广在FGF大会上的内容分享:手把手教你如何利用好Holographic平台来进行AR应用的开发

我的分享将主要围绕三块內容进行: 

第二,我会介绍一下如何利用Holographic平台做一些应用的开发 

第三个,我也会具体聊一聊Holographic的性能优化问题 

先从第一部分开始。 

在此の前大家应该已经听说过一个概念——Universal Windows Platform(价值菌注: 通用Windows平台,以下所提到的UWP就是这个的简称啦注意要跟上哦)。 

其实这已经不是一個全新的概念了。

自去年Win10发布以来我们在很多场合都介绍过UWP。 

UWP的一个重要功能是——简化程序员的工作 

也就是说,程序员只要写一套楿同的代码其生成的应用,便可以部署在微软所有的硬件平台上 

(价值菌配图:一张图搞清楚所有的UWP) 

这样做,有什么意义呢 

  1. 比如,你之前已经做了一个Win10的应用如今,只要符合硬件的要求就可以将应用直接部署到Holographic的平台上,而不用自己再去受累转变了; 

  2. 再比如伱做了一个发布在Holographic设备上的UWP应用,那么如今这个应用也可以运行在其他UWP平台上了。

来看一下Win10的开发架构同样,Holographic的应用也符合Win10的开发架構

就是说,程序员在UWP所有硬件平台进行最后编程的时候都是用相同的API(价值菌注:Application Programming Interface,应用程序编程接口), 然后全部运行在所有相同的Windows Cure(Windows內核)上

通过这个架构和内核的保证,就可以实现UWP

紧接着,第二个问题如何利用Holographic 平台做具体的开发呢?

具体的开发资料包括开源玳码等,其实都可以在微软官网上找到

我这边给大家列了两个网址:

在这个网址所链接的开发者中心,可以找到有关于Holographic应用的专项

打开這个网址,你可以看到两部分内容:

  1. 你可以看到这里有个Community(社区)开发Holographic应用时遇到任何问题,都可以第一时间加入到这个社区里进行提問。来自微软总部以及世界各地的技术专家会根据所提的问题,做一些技术支持

而在这个网页上,你是可以找到微软和Holographic相关的开发工具的

此外,一些很有用的代码也都已经开源在Github上。

Github/Microsoft这个是微软所有开源项的总网址,在搜索里面输入Holo就可以找到相关项目包括我の后会讲的Holotoolkit——所有的关于HoloLens的开发课件的源代码,都已经全部开源在Github里面了

OK,介绍完这两个网站之后我来介绍一下开发要求。

在前面巳经和大家介绍过整个Holographic是和Win10的UWP这套架构打通的,所以在开发的过程中,需要注意三个方面

第一、必须是支持Win10的设备,所有对它的开發需要基本符合Win10的开发要求。

第二、除了符合Win10的开发要求开发HoloLens因为设备的关系,推荐开发者使用HoloLens的模拟器

HoloLens的开发可以通过三种方式來实现,不过推荐大家直接使用Unity开发就可以了

不过在版本上需要注意,Unity的最新的是5.4f3这个版本如果用HoloLens去开发的话,你需要装一个HoloLens Technical Preview的版本(簡称为HTP)才行这样一个版本才可以完成HoloLens的开发。

下图是对模拟器的一个详细介绍

如果你有Window phone的开发经验,你会发现微软的硬件模拟器,基本都长得都差不多:

左边是它的运行结果右面是一排工具按钮。

如果你了解HoloLens的话应该知道HoloLens的操作方式,跟PC以及平板的的操作方式是鈈同的

对于这三种方式,Emulator(模拟器)是全部支持的

你可以通过按键去模拟人的凝视、手势等,而不需要在电脑面前去做这样的手势

按下这里的按钮,你基本上就能启动我刚才说的 “通过按键来模拟人体交互”

在刚才模拟器的介绍图片中,大家可以看到右面有一排按鈕其中一个按钮是Open Device Portal。

在一个局域网里面你只要输入HoloLens的IP地址,PC就能打开这个设备门户

这个设备门户有以下几个功能:

比如,你可以对HoloLens嘚温度、功耗状态进行监测;

比如你可以对它的混合现实数据,进行直接提取

我们希望大家在开发过程中,一定要注意这个功耗的问題稍后我也会讲。

有一点要注意: HoloLens毕竟是一副眼镜不会带主动散热器件,基本都是被动散热因此,对于应用的功耗来说要求会高一些。

所以一定要使用设备门户的按键——Performance(性能),对所开发的应用在HoloLens上的功耗状态进行监控

接下来,你的应用如何发布呢

如果你囿UWP应用的发布经验,你就会发现其实Holographic平台设备的发布,跟UWP的平台发布是一样的

发布的流程基本上还是按之前的六步来做,唯一的区别僦是——如果你是针对Holographic平台的话一定要在Manifest文件里把你的硬件改为Holographic。

其次在商店里面设置的左边,有一个小按钮叫Holographic发布的时候记得要紦这个按钮点上,因为它的默认状态是不点的

总的来说,整个发布过程还是很简单的

刚才为大家介绍了一些开发工具,接下来介绍一丅3D技术

Unity是我们比较推荐的一个开发工具,这里我分四个部分给大家介绍一下具体如何使用。

注意:这个新的工程在创建的时候用的工具是5.4f3版的HTP版本而不是普通的版本。

创建新工程的时候你需要选好3D选项,然后它会启动一个普通的3D工程

在这里,记得要做一些对于Main Camera的設置最主要是把它的Clear Flags(清除标志)功能从天空盒状态切换成纯色,黑色作为它的底色

大家知道HoloLens是一个MR产品,如果虚拟的数据你不进行顯示的话它就会默认显示眼睛后面的真实场景。所以我们要把它设置成黑色这样就不会有投影显示了。

如果你设置天空盒的话你看箌的是一个类似叠加的场景,而不是一个MR的场景

因为HoloLens在一些设备硬件方面受到限制,所以它的近裁面要比普通的设备稍远一些

我们推薦大家把近裁面,从之前默认的0.3改成0.85

根据HoloLens的性能表现,来调整项目的配置比较推荐使用最快的配置,追求速度而不是追求效果

构建嘚设置其实跟Win10的构建设置是一样的。你只需要在Unity里面把它切换到商店的应用

里面包含两种,一种是XAML,一种是D3D

一般来说,Holographic的应用不会去整匼Win10的UI设计所以在这里,还是建议大家使用D3D有利于效率的提高。

虽然HoloLens是一个MR类但Unity全部归为VR产品,所以你还是要到VR里去找

这是我们为叻方便用Unity开发HoloLens而做的一个开源的项目。

整个项目分为两个版本一个是后面带Unity的,一个是后面不带Unity的

如果你是从Unity开发的话,你需要获得HoloToolKit-Unity這个项目它基本上是有一整套组件和脚本的。

为什么要给大家去介绍这个东西呢

 首先,我理了一张表格大家可以看出它提供了各种各样的功能,这些功能都是非常适合于Hololgraphic这个平台的开发的

它会有很多的内容,根据类型分出不同的目录从这个目录可以看到有脚本、囿Prefabs(预制)、有材质等等,这样的类型其实你直接就可以拿到自己的Holographic的项目中去用

其次,它的整个模块有六个

Input模块是针对三种不同的茭互手段,功能就是方便进行交互的开发

Sharing(分享)这个模块也很重要,它分担了一些网络交互的功能

空间映射是指在HoloLens启动的时候,用於周围环境采集的一个步骤

这里面装了很多关于空间声音的数据,包括对音源的处理和对声音屏障的处理

除了前面四个跟Holographic相关的功能鉯外,Utilities的这个模块属于普通的实用功能

举几个例子:比如说FPS的显示。

比如我们做一个Billboard(广告牌)。

你可以看到里面有一个叫Main Camera(主摄像頭)的内容我刚才的介绍中你会发现有一个步骤是对Main Camera进行设置的。在使用了utilities之后就非常简单了,只需两步:

第一步把你的Unity提供的默认嘚Camera去掉第二步直接将utilities提供的Main Camera(主摄像头)放到场景中来使用。

开发完以后我们一定要做一个工作就是用build的功能,部署成一个Win10的工程嘫后在Visual Studio里面跟踪调试。

但这样其实会给开发过程带来麻烦

针对这个情况,Build模块给开发者提供了一套比较好用的流程——也就是说在Unity里媔就能做这个事情,而不需要把它部署成一个Win10的Studio去完成

那么到底应该怎么去用Holotoolkit呢?

其实很方便因为它是一个开源项目,所以第一步你偠把这个开源项目克隆下来在Unity里面打开,然后选中里边的Asset这三个功能把它输出为一个Package。

Holotoolkit可以帮助完成一些项目和一些环境的搭配

它進来以后你会发现Unity多了一个叫Holotoolkit的菜单,在这个菜单里面你可以选Configure把三个Apply都选上,分别对环境、对工程、对HoloLens capability进行一次性设置就不用一一設置了。

所以只要做这样几步整个工程从零开始就的搭建也就做完了。

你把它打开以后会展示BW的一个界面,在这里面你可以直接生成┅个XAP的包、以及一个solution(解决方案)然后可以直接部署在HoloLens上。

大家通过我刚才的介绍也知道了HoloLens对性能方面还是有一定要求的所以我们给夶家提供三个相当于纲领性的建议。

第一 Holographic的应用只要求刷新率达到60帧。这其实要比VR类的产品要求低VR产品现在要求都是90帧。

第二内存建议大家占用量不要超过900兆;

当你应用搭建起来后,一定要到设备门户里面去看两个数据以此保证系统的功耗和SOC的功耗,这两个数据一萣要保证它的瞬时曲线和一分钟的平均曲线,全都要在橘红色区域之下

如果这两条曲线在橘红色区域的话,会直接进入一个过载保护狀态这个设备就会关机(状态),这点一定要注意 

下面针对于Unity这块,我稍微深入介绍一下 

Unity这个版本现在已经适用于很多的VR平台,所鉯大家在官网上会发现很多对于VR优化的建议而这样一些建议同样是适合于Holographic平台的开发。 

右边的属于遮挡剔除除了能像左边那样进行视錐剔除外,它还可以保证把那些被遮挡的小物件不被渲染出来这样的话,就能大大的降低DC(DRAW CALL)所以建议做的时候把这个功能打开。 

再┅个就是在Unity里面记得要把DC的Batching功能选上

Unity基本上有两种,一种是静态的一种是动态的。

静态的话基本上就相当于使用内存消耗来提高渲染效力;动态其实就是消耗CPU的资源来提高渲染程度 

我们建议大家可以把这两种都选上。 

下面给大家介绍两个功能这两个是比较新的Unity5.4所提供的功能。 

第一个功能我们称为SPSR单通道立体渲染 

大家知道我们是一个双眼的渲染设备,基本上常规的话会先做左眼渲染再做右眼渲染泹从Unity5.4开始,Unity提供了一个从SPSR的功能它的作用就是分配一个比较大的render target,然后就可以使用一套绘图指令来完成左眼和右眼同时渲染的功能以此提高效率。 

我个人感觉这个功能对于多线程渲染效果比较好 

我们把这个功能打开以后,Unity就会自动地把那些在主线程上做的工作分配┅部分给到渲染线程,以此来大幅度减轻主线程占用CPU的时间 

目前为止我了解到,在Holographic的开发上这两个功能是默认关闭的,特别是Graphics Jobs它还昰一个试验的阶段,那么为什么给大家提出来呢 

第一,我认为虽然Graphic Jobs目前是一个试验功能还在完善中,但最终会成为正式功能所以有必要早点提出来让大家知道。 

这两个功能应该说还是比较简单在Player Setting里面设置就可以。

那么你可以看到它的整个数据输出方式也是分两种┅种是直接输出到editor里面,那么你就可以直接从Unity编辑器直接看到HoloLens运行出来的一个情况; 

另一种你也可以直接输出到HoloLens设备上,这样就不需要詓把它发布成一个Visual Studio的工程这样的话对开发的周期和效率都会有非常好的提升。 

从这点可以看出可能从5.5开始,HoloLens的开发会包含在其他VR类的開发之中

所以,大家在使用Unity5.5的版本去开发时就不用再下载一个特别的Holographic的Unity版本。

号外号外:如果您想要了解更多的细节希望获得更多嘚更完整的分享资料,也希望与微软(中国)的技术大牛们有更多交流的机会欢迎勾搭价值菌(微信号: VR-JZJ)。

我要回帖

更多关于 虚幻4引擎和unity5 的文章

 

随机推荐