资讯
展览资讯 大型展会 灯光节 大型盛典 赛事 中标捷报 产品快讯 热门话题 艺术节 活动 演出 新闻 数艺报道 俱乐部签约
观点
大咖专访 观点洞察 书籍推荐 吐槽 设计观点 企业访谈 问答 趋势创新 论文 职场方法 薪资报价 数艺专访
幕后
幕后故事 团队访谈 经验分享 解密 评测 数艺访谈
干货
设计方案 策划方案 素材资源 教程 文案资源 PPT下载 入门宝典 作品合集 产品手册 电子书 项目对接
  • 0
  • 0
  • 0

分享

让虚拟世界的体验更加真实,SMT皮皮虾数据AR可视化迎接市场新机遇

原创 2020-12-21

本文来源于:Unity官方平台

未来的世界一定是虚拟的,人们在线下的所有活动,如今都可以搬到线上进行,如何让用户在线上获得沉浸式的临场体验,是互联网接下来的发展新方向。

上海东方传媒技术有限公司(SMT)使用Unity打造了2020世界人工智能大会云端峰会,提供“云端会议”一体化技术整体解决方案,给线上观众带来临场感。上海东方传媒技术Unity技术总监朱名一,就在Unity线上技术大会中与我们分享了这场虚拟盛会的诞生过程。

以下是演讲实录:

大家好,我是SMT的朱名一。非常感谢Unity公司今天邀请我来参加这一次技术的分享,我要分享的主题是基于Unity引擎创造的沉浸式虚拟云观众会场的项目。

今天我所讲的内容,大致分为三个部分,首先简单介绍一下项目整体的开发状况和特点,第二部分会介绍一些技术实现的细节,第三部分会拓展Unity的技术细节,最后介绍一下我们曾经开发过的其他产品和项目。

 

Unity引擎不但能制作电影、开发手游、开发桌面应用程序、开发APP,能开发各种跨平台的应用。其实很多用户心里都在想,Unity到底还能做什么?很多年轻人的想法是,Unity不就是一个做手游的开发平台吗?其实完全不是。今天我就为大家介绍一下,能不能把Unity发挥到极致,能不能使用Unity更多的技术,我们到底还能用Unity呈现什么样的作品。

在这之前,我想简单地介绍一下我们公司的情况。我们来自SMT,就是上海东方传媒技术有限公司,原本是做传统媒体这一块的,现在经历了很大的转型。我们跟很多友商进行合作,所以在今年和去年使用Unity平台开发了世界人工智能大会,开发了世界AI产业大会的沉浸式虚拟云会场,也在去年开发了PMCO的夏季总决赛AR的呈现,所有的制作、开发与呈现都是我们自己基于Unity开发的平台完成的。

我介绍一下什么是沉浸式?可能很多观众对这部分都不太了解。大家会觉得我们的虚拟会场到底是什么样的内容?其实我可以讲得很直白,这个跟游戏有一点关系。它会有客户端,也可能会有服务端。客户端其实跟游戏开发是非常类似的,开发过游戏的同学们可能会比较熟悉服务端,服务器、数据库的调用、高并发服务器的通讯协议。服务端去控制客户端的内容,通过5G传输的方式,还增加了现场拍摄推流的内容和技术实现,整套就实现了这次世界人工智能大会云端的会场。

由于今年疫情的关系,很多海外的用户,以及国内用户都难以举办线下大会,如果一场本来可能有5000名观众参与的会议,今年可能只有300名观众会到场,剩下的几千名观众只能在线上开会。我们如何去互动呢?这是一个问题。

像以前,我们会想办法进行线上开九宫格的互动方式,就像我们的Zoom系统、腾讯会议系统。如今我们想借用游戏技术来呈现一种虚拟仿真沉浸式的会议现场,这就是交给了我们一个难题,如何使用我们的3D引擎来打造这样一个会场。

我们在这个过程当中就想到了使用游戏引擎平台,游戏引擎平台的呈现效果会很好。很多同学关心三维制作、后期合成、游戏开发、软件开发,包括后台开发。我们把这些东西拿捏起来,似乎就能融合成一个非常大的整体,我们就去这么尝试了。

接下来我放一段视频,关于我们这次的一个云会场,这是在全3D环境里面一种比较仿真的实施会议系统,它跟游戏很像,但是跟游戏的区别在于实时直播流信号的交互。我们把很多东西拿捏起来,里面有聊天系统、聊天会议、实时流信号传播。你们在大屏上看到的所有的直播信号,都是当天在人工智能大会上所发生的一切。

你们看到的很多虚拟角色,由我们三维软件所打造,包括你们熟悉的MAYA、3D MAX、C4D这些软件都可以进入到Unity引擎。我们在三维软件里面进行建模、骨骼绑定、贴图、蒙皮,也就是相当于CG的工种modeling、bending或者叫rigging、texture、material,包括animation。全部导入到Unity引擎以后,然后再进行程序代码的开发。代码分前端与后端,前端是客户端、呈现端,后端会有注册系统、数据库,把这一套链路连起来以后似乎有点像游戏,互联网游戏是不是就这么做的呢?其实有点像。

我们在这个基础上又增加了互联网游戏没有的,就是刚才大家所看到的一个直播流的应用。我再补充一点,我们的虚拟云会场还有一个难点,就是不需要用APP来实现。这话怎么讲?如果我让每个客户都去装一个APP,是不是很麻烦。很多同学会问,Unity不就是做APP是最方便的吗?Unity做APP相当好,我个人非常喜欢。但是我们这次的应用是不借助于APP,我们需要在浏览器上实现。

那问题就来了,做过开发的同学就知道,尤其是IT公司、互联网公司是不是会用JS的H5形式去开发前端页面吗?会!能不能做到很好的CG影像效果的呈现呢,然后又有互动?在H5当中,在JS里面可以用一些3D,也有3D引擎,但是画质相对较弱。以前包括我们曾经有很多同学用过cocos 2d系统,cocos 2d系统有3D的成分在,但是也是比较弱的。我们把Unity 3D的技术植入到Web页面当中,是不是最终能交付一个非常好的页面效果?答案是可以的。使用Unity WebGL的技术可以实现这样的效果。

我刚才讲到,我们为什么要把Unity走向极限?所谓走向极限,我所讲的不是AAA级游戏的极限,AAA级游戏极限是在同台竞争,比如用PS5或者Xbox,我上面开发一个游戏,你可以把HDRP、URP一切所有的效果光线跟踪全部开出来,在WebGL当中能不能这么做呢?对不起,这一切都不可以,完全不可以!

怎样去弥补,怎么能更好地去体现或者说我们去补足这一些丢失呢?我们就需要用各种手段,在WebGL里面。据我了解,在Unity WebGL这个板块用的用户不如开发APP的这么多,我们怎么去实现沉浸式实现的效果?

首先我大致介绍一下虚拟云观众,前面大家也看过宣传片了。比如说先打造一个会议室,在会议室里面同时能容纳250名观众。我们每个观众都有自己的视角,也就是说什么呢?大家玩过第一人称游戏,我自己的夜间视角能像射击游戏一样看到对方是什么样子。我坐在不同位置上,就像电影院一样看到的视角是不一样的。有些人问视角不好怎么办?对不起,谁让你买了这个票呢?我们还原了这样的效果,大家一起坐在电影院看直播、看综艺。

同时我们也进行了阿凡达系统的打造。很多熟悉Unity的朋友都知道,阿凡达系统在Unity系统当中是动画系统。我所讲的阿凡达系统跟这个概念不一样,每一个现场看到的虚拟角色背后都是有一个真人注册登陆的。你背后的角色,可以互相之间交流,可以互相打招呼,可以互相聊天,这一切都可以。

 

我们也可以根据客户的要求定制,会有更多的动作。哪怕以后做个综艺节目,有一个用户在台下走到台上跳舞都可以。或者做一场拳击赛,两个用户在上面打拳击也可以。所有的动作设计,都可以根据用户来定制。

 

有了聊天室、互动和各方面的呈现,然后我们还有一个推流的直播。在大屏上,我们有实时推流系统,而且是低延迟的,所以直播所有的内容环节大家是能同步看到的。这个问题又带来了,大家知道我们的很多APP软件,或者是H5上的,或者是很多网站上的,比如说看优酷、B站等,我们这些推流系统是一种普通的传统推流。那么怎么在Unity里面进行推流?也就是说我们再讲深入一点,如何把这些推流的内容转化为shader贴到Unity的模型上去?这是一个问题,而且是实时的。更难的是,如果试过在APP中进行推流的同学,觉得这有什么好难的,我们马上能实现。你能不能在WebGL界面的模型再进行推流呢?这是一个难点。

经过我们和Unity公司的很多技术专家一起探讨,最终实现了实时推流效果,这是在WebGL当中实现的,而不是在APP当中实现的。也就是说,大家拿一个手机,可以直接用手机打开浏览器观看,也可以在家中打开浏览器观看,你可以在平板上打开浏览器观看。我只要给你一个HTTP网址就行了,你的注册、登陆全在里面实现就可以。

我们以后会进行2.0版本的迭代,还有很多的拓展。比如说在聊天过程当中能不能有自己的名片功能,每个阿凡达,每个角色代表我自己,我是实名注册。我把名片发给客户,那些人就知道你是谁。或者有些客户您根本不认识,你在里面可以像QQ、微信一样聊天,我们把所有的内容就全部捏合了,而且捏合在WebGL系统里。

Unity系统不单单能够做手游、电影,更重要的是能够做高端网页。而且把高端网页现在有限的技能发挥到极致,因为能够兼顾到所有手机。大家知道手机的GPU性能是远远不及独立显卡的,我们为什么能跨平台呢?源于WebGL非常轻量化,但是性能一定会比端游有所损失,我们如何优化?稍候会讲,会把技术细节跟大家介绍。

这里罗列了虚拟云观众项目的情况,可以多方面的定制,然后各种聊天、应用、答卷,可以植入答题功能,这就是将来的拓展。然后所有的角色、大屏幕,包括虚拟舞台都可以进行定制,只要大家有三维制作能力、三维建模能力、三维贴图能力,在引擎里面进行Material的制作,或者角色动画的制作,会打关键帧动画,导入动画以后进行蒙皮,进来了以后可以在WebGL当中去呈现这样的内容。

最后就是当我们完成这个项目以后,还有大数据分析、数据统计,这一点对用户来讲也非常重要。比如说有位嘉宾在上面演讲,每个观众可以在“台下”进行虚拟鼓掌,可以献花,这些都是数据。事后会议结束以后,这些数据拿出来就是一个成熟的数据分析资源,这一点也是非常重要的。

下面就是我们这一次使用的功能和优势的体现,大家做过互联网编程或者网络工程这一块的都知道,WebGL可以实现快速加载,可以在多平台进行发布,不需要下载APP软件。而且我也可以提供相对精致的效果,相对于平时的网页、H5页面,我相信WebGL以后一定将是动态网页的转折点。

网页一直在升级,从最早的flash到H5,现在到WebGL,我觉得这是一个趋势,而且效果会越来越好。这就是我们今年参加的世界人工智能的分会项目,我们同时都使用了WebGL技术,全平台使用Unity打造。

接下来,我会详细介绍一下在Unity工程文件中的操作细节,这部分我相信广大网友也是比较感兴趣的。

请大家看一下我们现在的,今天我也录了一个屏,给大家直观介绍Unity爱好者是怎么在引擎当中去实现效果。首先在网页设计摒弃了前端H5设计环节,所有的UI全部在Unity中完成,我觉得这个是一步到位非常方便的。我们使用的UI系统,很多人会问到底要用什么?其实不需要用什么插件,UGUI就能搞定了。搞定发布出网页,网页一样能支持。因为我现在不是网页版本,大家知道网页版本都要部署环境的,所以我这边就是把工程文件直接打开。

由于世界人工智能大会这一块结束了,今天的后台服务已经关闭了,暂且先做了一版离线版,离线版不需要注册登陆就能进。我给大家看一下模拟环节,进去以后进行注册。大家记住,这里面又有互联网的开发环节,就是你们在Unity里面开发完界面开发,我们叫前端开发,然后所有的数据要传到后台。

在这里我停顿一下讲一些细节,不管了不了解这一块的同学们,大家知道这个跟单机游戏不一样,因为牵涉到互联网环节。我们这个项目属于B/S开发,也就是BS开发。BS开发的特点是后台跟前台分离,后台其实需要服务器,现在所有注册、登陆的跟互联网页面开发是一模一样的。当我注册进去以后,通过数据库存储,可能要过一层PHP,我把这些数据全部存储到动态网页,由动态网页分存储到数据库当中,以后再拿出,我就能检索到用户是不是已经登陆,这是一套常规操作。

我们再继续下去。

因为我是脱机版本所以就不需要验证了,Unity WebGL在这一块做的非常不错,大家知道WebGL跟我们现在传统的APP开发有个最大的不同在于,它的底层属于JS环节,因为它是网页。

大家在开发UnityAPI的时候很多用的是C#,C++作为Unity的后台也是支持非常好的,我们可以使用动态库进行调用。

如果你要用WebGL进行开发,一定要用JS这样的底层,普通的API调用一定会转译成JS。但是在基础工作当中,或者是一些干外挂的,你所编写程序一定是JS支持的。比如说二次开发,都是以JS为底层。就是因为以JS为底层,我们能很方便地支持JS Library,可以做JS的库,方便Unity调用。你说Unity到底能支持几种语言?我的回答是能支持很多种语言,因为C++支持,C#也支持,JS其实也是支持,只是套了一层C#的外壳,底层还可以编译成JS,这样就通了。然后又保留了很多JS接口和PHP的接口,我在WebGL、Unity里面能很方便地调用PHP接口进行数据库的存储操作。

下面到了我们这边的模型环节,我们的设计师做了一些模型。这些模型都可以进行自定义,大家看为什么是简模?这个模型为什么做简模?当时是考虑到跨平台性。即使你在桌面,如果在电脑上放的话,面数支持的非常多。如果在手机上放,过多的模型会对WebGL产生更多的压力,导致不顺滑。因为WebGL所采用的OpenGL,或者说所用的显示机制不一样,我们不能像使用APP那样随心所欲,当然也不能叫随心所欲,APP承载的浮点运算应该是远远高于WebGL的,所以在我们的WebGL当中,一定会进行适度的优化。我们会把这个面数尽可能地做得相对更少,来呈现人物形象,当然这可以是卡通的,也可以是仿真的。

进入房间,我们开启了今天的游戏分论坛。进去之后,我们就能点座,选中一个座位,然后就能坐进去了。现在是整套流程,进去以后大家会发现里面有很多人。这是一个介绍,把提示框关了以后,大家所看到的就是云会场的全景。所有的角色,其实就是现场。身边可能是你的同事、你的家人、你的朋友,或者你根本不认识的人,也可能是海外观众。你可以跟他打招呼,而且我们是动态实时的。

我现在是脱机版,其实这边是没有人的,我现在是做了假人放进去。在真实场景中,会有很多人在里面,我们可以进行实时聊天。

大屏上放的是我刚才所讲的实时推流技术,这一切都是在我们的页面中完成的。对于我们整个WebGL页面端的显示的负担压力还是比较大的,我这边就跳转了,大家看一下整体环境的打造。

这边是一些模型的导入,UGUI就不在上面了。每个角色模型,在右下角大家都能够看到。

我们通过FBX的导入进来,用传统方式就行了,不需要把骨骼全部分开。我们要保证所有的面都是有效的,因为这个面数非常讲究,远远要比APP开发的多边形的数量更讲究。也就是说,如果我们转为开发APP,我可以有十倍以上的多边形数量,我把它加载上去,但是在WebGL中不能这么多。但是我们的需求,比如做200人、500人,就会适当减面。

这又是我们另外一个技术要点,做过TA、美术的同学可以注意一下,你们很了解的UV展开的贴图。我刚才讲到在WebGL中,做HDRP、URP全部没用,无效!而且如果超过三盏以上的点光源,效果就会丢失。大家刚才看到我这里面所有呈现的效果,我在场景中只打了一盏光源。场景中基本上是没有光的,大家为什么能够看到有光效呢?而且我这盏光源只是对人物、人物的阴影有效,其他都是无效的。我们用了烘焙技术,很多同学应该了解烘焙技术,这样我可以不借助光源,甚至把整个场景的光源全部删了,用烘焙技术一样能还原比较高质量的视角效果。但是条件非常苛刻,在WebGL条件中是比较苛刻,连我实时的动态光照或GI效果都开不出来,我们的反射、折射都很难开出来,而且开的效果不好。我索性把这些全部关掉,我们就做模拟反射,全部最后烘焙出来。

在我们的WebGL虚拟云观众的项目中,融合了很多技术,这里面既有互联网技术,又有游戏开发技术,还有很多CG技术,它是一个集大成的项目。包括这边的贴图,我们全部使用了烘焙。其实就是把它拆分得非常细腻。实际操作大概就是这样。

我们在其中实现的几个突破,首先就是简模的建模,包括光效只能打一盏灯光,超过三盏就无效,我甚至都阴影都不敢打,那我们怎么去节省光效,那怎么去模拟阴影、烘焙阴影?除了人物在动态的时候,我们用动态阴影,动态阴影需要实时光照打。所谓的静态阴影,全部使用烘焙技术来做,包括粒子效果,所有的流程要重新走一遍,不能按照传统的APP或者EXE来制作,包括流信号嵌入。还有主持人,大家看到有一个主持人,刚才的主持人也是实时流信号推入进来的,线上有一个真实主持人。每一个人的角度看到主持人不同的视角,不是一个简单的贴片。我在左边能够看到主持人的侧面,在前面能够看到主持人的正面,这也是我们独自开发的比较新的技术。

最后想讲的是,很多玩家、开发者如果对游戏感兴趣的话,我觉得你们也会比较关心虚拟角色在角色互动帧同步这一块。对于WebGL来讲,一样是可以实现帧同步的。所谓的区别在于,比如说是不是一定要WebSocket做服务器呢?当然肯定是需要,因为传统的服务器不一定能用。因为我在前端的接口,需要跟WebSocket相连接。至于帧同步的逻辑,或者以后状态同步的逻辑,都可以通过相同逻辑来写,这是没有的问题的。但是在JS层面上跟后台的帧同步服务器相连。

对于SMT公司来讲,我们以后的拓展将是把SMT云制作,加上人工智能系统、虚拟云观众、5G通讯技术,把它们融合在一起,打造一个全新的会议一体化解决方案。这样的东西,我觉得能称为互联网1.5或互联网2.0,我非常看好这一块。因为将来一定是一个虚拟的世界,我们所看到的淘宝网其实也是虚拟世界,在虚拟买卖。但是你能不能实现人走进去呢?我觉得大家可以思考一下。以后的世界是虚拟的,我们需要更高的同步、更大的带宽、更快的传输速率,把整个东西拿捏在一起,就能引来新一轮的互联网革命。

接下来还有点时间,我想介绍一下跟这次云会议不一样的东西,SMT早在前两年,我们就专门为各大电竞赛事,包括今年的S10英雄联盟也由我们公司承办。我们其实也承办了很多电竞赛事的开幕式、开场秀,包括比赛期间的一些数据的呈现。现在大家看到的,就是我们前几年基于Unity平台打造的专业的AR、VR虚拟引擎跟踪系统。其实我觉得我们应该是国内第一家,所有其他系统都是国外开发的,而且是使用大家众所周知的友商引擎,使用Unity引擎是首次。大家看到画面效果是非常不错的。

在这个过程当中,我们就又实现了诸多突破,大家所看到现在的效果,我们融合了很多技术。比如说Almebic的导入、流体的制作,在虚拟呈现当中全部能实现出来。现在这是《王者荣耀》国际版AR的呈现,我们在比赛中的呈现。这是我们的“吃鸡”开幕式。大家看到的所有画面全部用Unity来打造,我们是开发了虚拟的呈现和跟踪系统,包括我们的数据版、比分版实时数据的拾取,包括综艺节目,比如现在所看到的苏宁电器的综艺节目,东方卫视播的。

Unity到底能做多少事?非常多,综艺、电竞、娱乐、游戏这些板块全部能实现。

今天的分享大概到这里,谢谢大家。

阅读原文

* 文章为作者独立观点,不代表数艺网立场转载须知

本内容由数艺网主动采集收录,信息来源为 “Unity官方平台” 公开网络发布内容。第三方如需转载本内容,必须完整标注原作者信息及 “来源:数艺网”,严禁擅自篡改、删减或未标注来源转载。 并附上本页链接: 若您的内容不希望被数艺网收录,或认为此举侵犯了您的合法权益,敬请通过微信 ID:d-arts-cn 联系数艺网。我们将致以诚挚歉意,并第一时间为您办理下架或删除处理。

虚拟世界 AR可视化 Unity引擎 沉浸式虚拟云会场

20924 举报
  0
登录| 注册 后参与评论