专访白鹭时代马鉴:WebGL 3D手游时代降临
Posted 白鹭引擎
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了专访白鹭时代马鉴:WebGL 3D手游时代降临相关的知识,希望对你有一定的参考价值。
12月5日,在2015html5移动生态大会上,白鹭时代联合创始人马鉴发布了Egret 3D手机页游游戏引擎。在会后,马鉴接受了InfoQ记者的采访,谈到了WebGL游戏化是否成熟以及WebVR发展的问题。
Egret 3D是自今年5月份发布Egret 2.0以来颠覆性的重大升级,基于移动游览器的WebGL 3D图像API,以及实验性的支持了WebVR API,相关的开发工具也获得同步更新。据马鉴在大会上介绍,Egret 3D的相关特性有:
语法结构与Egret 2D类似,封装了WebGL API,使其更加简单易用。
支持3D模型封装,并有自己的3Dmax输出插件,方便输出对应资源。
内置WebVR SDK,只需调节参数即可实现VR效果、设备支持。
开发工具的更新支持React组件的可视化编程,导出JSX。
另外在大会上马鉴还发布了青雀移动解决方案,使用云端积木式的开发方式搭建移动Web应用和HTML5宣传页面。
以下是会后InfoQ记者对马鉴的采访整理。
InfoQ:目前WebGL在各移动平台的发展情况如何,是否已经足够成熟,它在不同平台上的差异大吗?
“
马鉴:
目前WebGL在移动平台上的覆盖率超过84.5%,WebGL标准在2011年发布,我们看到现在几乎所有的主流浏览器厂商都支持了WebGL,包括苹果、谷歌、微软等等,目前市面上已经出现了一些基于WebGL的3D绘图库,也有越来越多的人来使用它们。
各个移动平台也基本早就支持了WebGL,不过在以前受限于移动设备的性能,所以没有人用它来做很多东西,但现在我们的主流的移动设备差不多都 有独立的GPU处理单元,所以这个性能限制基本不存在了。至于平台差异,因为大家都按照WebGL标准去实现API,所以基本上没什么差异。
InfoQ:类似Egret 3D这样基于WebGL的游戏引擎的性能瓶颈在哪里?
“
马鉴:
我们所遇到的主要的瓶颈在内存和绘图IO上,这个和目前3D手机游戏引擎的瓶颈应该差不多,我们也做了一些相关的优化。
InfoQ:Egret 3D游戏和原生3D手游在哪些方面还有差距?原因出在哪里?
“
马鉴:
WebGL API本身只是对OpenGL ES 2.0的一个封装,因此用WebGL做手游和原生手游其实并没有很大的差别,不过因为WebGL的API是固定的,在底层优化方面不如原生,另外JS的渲染和计算速度也比不上原生引擎,不过目前来看,因为移动设备性能提升,这些差距是越来越小的。
InfoQ:Egret使用TypeScript开发,请问您对这门语言看法如何?是否提高了生产力和效率?
“
马鉴:
我们在第一天开发Egret的时候就用了TypeScript,在此之前我们用 ActionScript做过一些大型项目,而在javascript上开发大型项目却是一个顽疾,TypeScript的确是极大的提升了生产力和团队协作的能力,我们团队一直用到现在也非常喜欢。
InfoQ:WebVR标准好像还在草案阶段,目前实用性如何?
“
马鉴:
WebVR目前是在草案阶段,但是Google的Chrome已经提供了一套完整的API可以使用 了,我们算是WebVR的早期利用者,目前我们和Google的相关开发者有过接触,密切跟踪他们的研发进展和未来的更新,另外我们也正在接洽W3C中国,希望能参与到标准的制定过程中来,给标准提一些建议。
InfoQ:我看到Egret开发工具支持React可视化编程,不知道是怎么做到这一点的?
“
马鉴:
因为我们自己有一套UI组件,并且支持它的可视化开发,我们这套UI组件是用XML来描述的,这个其实和React里面的JSX类似,于是我们就做了一个EXML到JSX的一个转换,通过编写我们的UI组件,在IDE里可以导出React的JSX出来, 算是间接的支持了React的可视化编程。
当然,目前前端界对可视化编程存在争议,我们做这一条的出发点是我们的Lark框架搬到云端后,想降低开发门槛,完全通过拖拽组件就可以生成代码,添加React支持可以让我们的这套工具使用范围更广泛,可以和其它的基于React的开发工作流无缝的结合起来,这是我们的一个初衷。
以上是关于专访白鹭时代马鉴:WebGL 3D手游时代降临的主要内容,如果未能解决你的问题,请参考以下文章
白鹭时代联合创始人马鉴:Egret整合WebAssembly技术路线图
2017手游买量时代的到来
shader之——移动端次时代
手游为什么纷纷出起“PC版”?
2018排行榜评测手游折扣充值平台哪个好
如何为你的手游做快速测试:Unity 5和WebGL移植指南