Lucas Meijer
5月13日,在Unite 2017开发者大会上,Unity技术总监Lucas Meijer接受了媒体采访,回答了关于Unity5.6新特性的几个问题和一些开发者询问的技术解决方案,也点明了Unity拓展业务的逻辑思路。
以下为访谈实录:
Unity5.6上周正式发布,它的改进是基于怎么样的思考?你认为最出色的改进是什么?
Lucas Meijer:我觉得最棒的功能改进一定要能帮助开发者大大地提高工作效率,因此我今天演示的是强化的Light Explorer功能。因为开发者做了一个改变之后,是等5秒钟,还是等20分钟的烘焙的区别是巨大的,这对他们来说非常重要。
Unity会不会考虑进一步降低开发游戏的门槛,比如提供包含客户端和服务器的游戏框架,让开发者写简单的脚本就可以开发游戏?
Lucas Meijer:我们一直致力于降低游戏开发的门槛,致力于让我们的产品更易于上手,更易于使用。目前我们提供了一个多玩家的游戏框架,在我们自己的服务器上面运行,在Editor里也可以找到。你只要编写非常少的代码,或者说编写脚本就能创建属于自己的多玩家游戏。
Unity的源代码有没有开放的计划?
Lucas Meijer:目前Unity还没有完全开源的一个计划,但是我们近来开发产品越来越多使用C#来编写。很多产品的代码大家都可以在GitHub中找到。
在Unity中遮挡剔除是一个非常好用的工具,可以减少渲染工作量,但是却增加了计算机的计算量。请问在设计的时候怎么平衡这两者之间的关系?
Lucas Meijer:这个问题是关于选择什么渲染,什么不渲染。我们一开始做的是一个很简单的Frustum Culling。遮挡剔除其实有专门的工具,它会在编辑器里计算可视化信息,如果计算出这个角色有很多,但是有相当一部分的角色被墙挡住了,那么Unity就不会渲染这一部分角色的信息。这种技术就叫做遮挡剔除。
从目前的计算量来讲,动态计算基本是不可能的。如果场景里面有动态的物体要移动或者要消失,那最好不要放到这个里面去。在游戏设计的时候你要考虑,比如这个门是要动态地去移动,还是直接消失掉。
静态批处理具体应该从哪方面进行优化,才能达到自己想要的优化效果?
Lucas Meijer:要精确告诉Unity哪些对象是完全静态的。这样Unity就会进行一系列的假设,基于假设再进行优化,因为他知道哪些东西是永远不会动的。
除了引擎之外,Unity还做了平台和分析工具,你们如何决定拓展哪些业务?
Lucas Meijer:驱动我们的就是一个问题:对现在的开发者来说,最困难的问题是什么?
最开始成立公司的时候,我们认为这个问题的答案是制作游戏引擎,所以我们从这个问题着手;
后来游戏技术日趋成熟,我们发现开发者最大的难题是内容制作,所以我们打造了Asset Store,让大家在这个平台里买卖素材;
解决了内容问题之后,我们认为对开发者来说最难的问题是怎么赚钱,所以我们向他们提供了广告服务,使他们能够在游戏中内置我们提供的广告来盈利,也让这个过程更加简单。
这个问题会一直循环往复:对现在的开发者来说,最困难的问题是什么?我们应该怎样帮助他们克服这个困难?在过去的十年中,所有决策,所有新产品都是因为这样的一股推力,这股推力也将支持我们在未来20年,甚至更长的未来开发更多新产品。